Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: include/libyuv/row.h

Issue 2368313003: Add MIPS SIMD Arch (MSA) optimized ARGBMirrorRow function (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 #define HAS_I422TOARGBROW_DSPR2 367 #define HAS_I422TOARGBROW_DSPR2
368 #define HAS_INTERPOLATEROW_DSPR2 368 #define HAS_INTERPOLATEROW_DSPR2
369 #define HAS_MIRRORROW_DSPR2 369 #define HAS_MIRRORROW_DSPR2
370 #define HAS_MIRRORUVROW_DSPR2 370 #define HAS_MIRRORUVROW_DSPR2
371 #define HAS_SPLITUVROW_DSPR2 371 #define HAS_SPLITUVROW_DSPR2
372 #endif 372 #endif
373 #endif 373 #endif
374 374
375 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) 375 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa)
376 #define HAS_MIRRORROW_MSA 376 #define HAS_MIRRORROW_MSA
377 #define HAS_ARGBMIRRORROW_MSA
377 #endif 378 #endif
378 379
379 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__) 380 #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__)
380 #if defined(VISUALC_HAS_AVX2) 381 #if defined(VISUALC_HAS_AVX2)
381 #define SIMD_ALIGNED(var) __declspec(align(32)) var 382 #define SIMD_ALIGNED(var) __declspec(align(32)) var
382 #else 383 #else
383 #define SIMD_ALIGNED(var) __declspec(align(16)) var 384 #define SIMD_ALIGNED(var) __declspec(align(16)) var
384 #endif 385 #endif
385 typedef __declspec(align(16)) int16 vec16[8]; 386 typedef __declspec(align(16)) int16 vec16[8];
386 typedef __declspec(align(16)) int32 vec32[4]; 387 typedef __declspec(align(16)) int32 vec32[4];
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 int width); 826 int width);
826 void MirrorUVRow_NEON(const uint8* src_uv, uint8* dst_u, uint8* dst_v, 827 void MirrorUVRow_NEON(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
827 int width); 828 int width);
828 void MirrorUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, 829 void MirrorUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
829 int width); 830 int width);
830 void MirrorUVRow_C(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int width); 831 void MirrorUVRow_C(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int width);
831 832
832 void ARGBMirrorRow_AVX2(const uint8* src, uint8* dst, int width); 833 void ARGBMirrorRow_AVX2(const uint8* src, uint8* dst, int width);
833 void ARGBMirrorRow_SSE2(const uint8* src, uint8* dst, int width); 834 void ARGBMirrorRow_SSE2(const uint8* src, uint8* dst, int width);
834 void ARGBMirrorRow_NEON(const uint8* src, uint8* dst, int width); 835 void ARGBMirrorRow_NEON(const uint8* src, uint8* dst, int width);
836 void ARGBMirrorRow_MSA(const uint8* src, uint8* dst, int width);
835 void ARGBMirrorRow_C(const uint8* src, uint8* dst, int width); 837 void ARGBMirrorRow_C(const uint8* src, uint8* dst, int width);
836 void ARGBMirrorRow_Any_AVX2(const uint8* src, uint8* dst, int width); 838 void ARGBMirrorRow_Any_AVX2(const uint8* src, uint8* dst, int width);
837 void ARGBMirrorRow_Any_SSE2(const uint8* src, uint8* dst, int width); 839 void ARGBMirrorRow_Any_SSE2(const uint8* src, uint8* dst, int width);
838 void ARGBMirrorRow_Any_NEON(const uint8* src, uint8* dst, int width); 840 void ARGBMirrorRow_Any_NEON(const uint8* src, uint8* dst, int width);
841 void ARGBMirrorRow_Any_MSA(const uint8* src, uint8* dst, int width);
839 842
840 void SplitUVRow_C(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int width); 843 void SplitUVRow_C(const uint8* src_uv, uint8* dst_u, uint8* dst_v, int width);
841 void SplitUVRow_SSE2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, 844 void SplitUVRow_SSE2(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
842 int width); 845 int width);
843 void SplitUVRow_AVX2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, 846 void SplitUVRow_AVX2(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
844 int width); 847 int width);
845 void SplitUVRow_NEON(const uint8* src_uv, uint8* dst_u, uint8* dst_v, 848 void SplitUVRow_NEON(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
846 int width); 849 int width);
847 void SplitUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, 850 void SplitUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v,
848 int width); 851 int width);
(...skipping 1092 matching lines...) Expand 10 before | Expand all | Expand 10 after
1941 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, 1944 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb,
1942 int width, 1945 int width,
1943 const uint8* luma, uint32 lumacoeff); 1946 const uint8* luma, uint32 lumacoeff);
1944 1947
1945 #ifdef __cplusplus 1948 #ifdef __cplusplus
1946 } // extern "C" 1949 } // extern "C"
1947 } // namespace libyuv 1950 } // namespace libyuv
1948 #endif 1951 #endif
1949 1952
1950 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT 1953 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698