swscale/arm: re-enable neon rgbx to nv12 routines
authorXiaolei Yu <dreifachstein@gmail.com>
Mon, 22 Feb 2016 11:50:13 +0000 (19:50 +0800)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 22 Feb 2016 16:29:58 +0000 (17:29 +0100)
Commit '842b8f4ba2e79b9c004a67f6fdb3d5c5d05805d3' fixed clang/iphone
build but failed on some versions of cygwin. It has now been verified
to work on both platforms.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libswscale/arm/Makefile
libswscale/arm/swscale_unscaled.c

index 97b3561..9ccec3b 100644 (file)
@@ -1,5 +1,5 @@
 OBJS        += arm/swscale_unscaled.o
 
-NEON-OBJS   += arm/rgb2yuv_neon_32.o
-NEON-OBJS   += arm/rgb2yuv_neon_16.o
+NEON-OBJS   += arm/rgb2yuv_neon_32.o
+NEON-OBJS   += arm/rgb2yuv_neon_16.o
 NEON-OBJS   += arm/yuv2rgb_neon.o
index ac1e4a9..8aa933c 100644 (file)
@@ -23,7 +23,6 @@
 #include "libswscale/swscale_internal.h"
 #include "libavutil/arm/cpu.h"
 
-#if 0
 extern void rgbx_to_nv12_neon_32(const uint8_t *src, uint8_t *y, uint8_t *chroma,
                 int width, int height,
                 int y_stride, int c_stride, int src_stride,
@@ -61,7 +60,6 @@ static int rgbx_to_nv12_neon_16_wrapper(SwsContext *context, const uint8_t *src[
 
     return 0;
 }
-#endif
 
 #define YUV_TO_RGB_TABLE(precision)                                                         \
         c->yuv2rgb_v2r_coeff / ((precision) == 16 ? 1 << 7 : 1),                            \
@@ -167,14 +165,12 @@ DECLARE_FF_NVX_TO_ALL_RGBX_ALL_PRECISION_FUNCS(nv21)
 
 static void get_unscaled_swscale_neon(SwsContext *c) {
     int accurate_rnd = c->flags & SWS_ACCURATE_RND;
-#if 0
     if (c->srcFormat == AV_PIX_FMT_RGBA
             && c->dstFormat == AV_PIX_FMT_NV12
             && (c->srcW >= 16)) {
         c->swscale = accurate_rnd ? rgbx_to_nv12_neon_32_wrapper
                         : rgbx_to_nv12_neon_16_wrapper;
     }
-#endif
 
     SET_FF_NVX_TO_ALL_RGBX_FUNC(nv12, NV12, accurate_rnd);
     SET_FF_NVX_TO_ALL_RGBX_FUNC(nv21, NV21, accurate_rnd);