From c05b7c498138794a07a5533a006131fe64c3eca7 Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Mon, 1 Oct 2012 05:18:04 +0000 Subject: [PATCH] NEON YUY2 Any functions enabled. Previously was inside an SSSE3 ifdef that disabled them BUG=105 TEST=neon build bots Review URL: https://webrtc-codereview.appspot.com/859004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@385 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- README.chromium | 2 +- include/libyuv/version.h | 2 +- source/row_common.cc | 13 ++++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.chromium b/README.chromium index 2cf9f6002..48cc4d7ea 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 384 +Version: 385 License: BSD License File: LICENSE diff --git a/include/libyuv/version.h b/include/libyuv/version.h index bc949c255..b481b671a 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 384 +#define LIBYUV_VERSION 385 #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT diff --git a/source/row_common.cc b/source/row_common.cc index c587df3b1..07596506d 100644 --- a/source/row_common.cc +++ b/source/row_common.cc @@ -983,21 +983,24 @@ RGBANY(ARGBToRAWRow_Any_NEON, ARGBToRAWRow_NEON, 3) #endif #undef RGBANY -#ifdef HAS_ARGBTOYROW_SSSE3 #define YANY(NAMEANY, ARGBTOY_SSE, BPP) \ void NAMEANY(const uint8* src_argb, uint8* dst_y, int width) { \ ARGBTOY_SSE(src_argb, dst_y, width - 16); \ ARGBTOY_SSE(src_argb + (width - 16) * BPP, dst_y + (width - 16), 16); \ } +#ifdef HAS_ARGBTOYROW_SSSE3 YANY(ARGBToYRow_Any_SSSE3, ARGBToYRow_Unaligned_SSSE3, 4) YANY(BGRAToYRow_Any_SSSE3, BGRAToYRow_Unaligned_SSSE3, 4) YANY(ABGRToYRow_Any_SSSE3, ABGRToYRow_Unaligned_SSSE3, 4) +#endif #ifdef HAS_RGBATOYROW_SSSE3 YANY(RGBAToYRow_Any_SSSE3, RGBAToYRow_Unaligned_SSSE3, 4) #endif +#ifdef HAS_YUY2TOYROW_SSE2 YANY(YUY2ToYRow_Any_SSE2, YUY2ToYRow_Unaligned_SSE2, 2) YANY(UYVYToYRow_Any_SSE2, UYVYToYRow_Unaligned_SSE2, 2) +#endif #ifdef HAS_YUY2TOYROW_NEON YANY(YUY2ToYRow_Any_NEON, YUY2ToYRow_NEON, 2) YANY(UYVYToYRow_Any_NEON, UYVYToYRow_NEON, 2) @@ -1015,14 +1018,18 @@ YANY(UYVYToYRow_Any_NEON, UYVYToYRow_NEON, 2) width & 15); \ } +#ifdef HAS_ARGBTOUVROW_SSSE3 UVANY(ARGBToUVRow_Any_SSSE3, ARGBToUVRow_Unaligned_SSSE3, ARGBToUVRow_C, 4) UVANY(BGRAToUVRow_Any_SSSE3, BGRAToUVRow_Unaligned_SSSE3, BGRAToUVRow_C, 4) UVANY(ABGRToUVRow_Any_SSSE3, ABGRToUVRow_Unaligned_SSSE3, ABGRToUVRow_C, 4) +#endif #ifdef HAS_RGBATOYROW_SSSE3 UVANY(RGBAToUVRow_Any_SSSE3, RGBAToUVRow_Unaligned_SSSE3, RGBAToUVRow_C, 4) #endif +#ifdef HAS_YUY2TOUVROW_SSE2 UVANY(YUY2ToUVRow_Any_SSE2, YUY2ToUVRow_Unaligned_SSE2, YUY2ToUVRow_C, 2) UVANY(UYVYToUVRow_Any_SSE2, UYVYToUVRow_Unaligned_SSE2, UYVYToUVRow_C, 2) +#endif #ifdef HAS_YUY2TOUVROW_NEON UVANY(YUY2ToUVRow_Any_NEON, YUY2ToUVRow_NEON, YUY2ToUVRow_C, 2) UVANY(UYVYToUVRow_Any_NEON, UYVYToUVRow_NEON, UYVYToUVRow_C, 2) @@ -1040,10 +1047,12 @@ UVANY(UYVYToUVRow_Any_NEON, UYVYToUVRow_NEON, UYVYToUVRow_C, 2) width & 15); \ } +#ifdef HAS_YUY2TOUV422ROW_SSE2 UV422ANY(YUY2ToUV422Row_Any_SSE2, YUY2ToUV422Row_Unaligned_SSE2, \ YUY2ToUV422Row_C, 2) UV422ANY(UYVYToUV422Row_Any_SSE2, UYVYToUV422Row_Unaligned_SSE2, \ UYVYToUV422Row_C, 2) +#endif #ifdef HAS_YUY2TOUV422ROW_NEON UV422ANY(YUY2ToUV422Row_Any_NEON, YUY2ToUV422Row_NEON, \ YUY2ToUV422Row_C, 2) @@ -1052,8 +1061,6 @@ UV422ANY(UYVYToUV422Row_Any_NEON, UYVYToUV422Row_NEON, \ #endif #undef UV422ANY -#endif - void ComputeCumulativeSumRow_C(const uint8* row, int32* cumsum, const int32* previous_cumsum, int width) { int32 row_sum[4] = {0, 0, 0, 0};