From 6011ff73535b9b9f3cda016a6b325f8a03144dc1 Mon Sep 17 00:00:00 2001 From: "frkoenig@google.com" Date: Wed, 4 Jan 2012 00:15:17 +0000 Subject: [PATCH] Fix YUVToARGB/BGRA/ABGR linking. Broken by previous move to using extern "C" for functions. This moves the function prototype into the extern "C" block and gives the functions the correct name when linking. Review URL: http://webrtc-codereview.appspot.com/333027 git-svn-id: http://libyuv.googlecode.com/svn/trunk@124 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- source/row.h | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/source/row.h b/source/row.h index 631b5a9e1..0081b1ac5 100644 --- a/source/row.h +++ b/source/row.h @@ -20,27 +20,6 @@ #define YUV_DISABLE_ASM #endif -#if defined(__ARM_NEON__) && !defined(YUV_DISABLE_ASM) -#define HAS_FASTCONVERTYUVTOARGBROW_NEON -void FastConvertYUVToARGBRow_NEON(const uint8* y_buf, - const uint8* u_buf, - const uint8* v_buf, - uint8* rgb_buf, - int width); -#define HAS_FASTCONVERTYUVTOBGRAROW_NEON -void FastConvertYUVToBGRARow_NEON(const uint8* y_buf, - const uint8* u_buf, - const uint8* v_buf, - uint8* rgb_buf, - int width); -#define HAS_FASTCONVERTYUVTOABGRROW_NEON -void FastConvertYUVToABGRRow_NEON(const uint8* y_buf, - const uint8* u_buf, - const uint8* v_buf, - uint8* rgb_buf, - int width); -#endif - // The following are available on all x86 platforms #if (defined(_M_IX86) || defined(__x86_64__) || defined(__i386__)) && \ !defined(YUV_DISABLE_ASM) @@ -71,6 +50,9 @@ void FastConvertYUVToABGRRow_NEON(const uint8* y_buf, // The following are available on Neon platforms #if defined(__ARM_NEON__) && !defined(YUV_DISABLE_ASM) #define HAS_REVERSE_ROW_NEON +#define HAS_FASTCONVERTYUVTOARGBROW_NEON +#define HAS_FASTCONVERTYUVTOBGRAROW_NEON +#define HAS_FASTCONVERTYUVTOABGRROW_NEON #endif #ifdef __cplusplus @@ -78,6 +60,28 @@ namespace libyuv { extern "C" { #endif +#ifdef HAS_FASTCONVERTYUVTOARGBROW_NEON +void FastConvertYUVToARGBRow_NEON(const uint8* y_buf, + const uint8* u_buf, + const uint8* v_buf, + uint8* rgb_buf, + int width); +#endif +#ifdef HAS_FASTCONVERTYUVTOBGRAROW_NEON +void FastConvertYUVToBGRARow_NEON(const uint8* y_buf, + const uint8* u_buf, + const uint8* v_buf, + uint8* rgb_buf, + int width); +#endif +#ifdef HAS_FASTCONVERTYUVTOABGRROW_NEON +void FastConvertYUVToABGRRow_NEON(const uint8* y_buf, + const uint8* u_buf, + const uint8* v_buf, + uint8* rgb_buf, + int width); +#endif + #ifdef HAS_ARGBTOYROW_SSSE3 void ARGBToYRow_SSSE3(const uint8* src_argb, uint8* dst_y, int pix); void BGRAToYRow_SSSE3(const uint8* src_argb, uint8* dst_y, int pix);