[FFmpeg-devel] [PATCH] swscale/arm: re-enable neon rgbx to nv12 routines

Xiaolei Yu dreifachstein at gmail.com
Mon Feb 22 12:50:13 CET 2016


Commit '842b8f4ba2e79b9c004a67f6fdb3d5c5d05805d3' fixed clang/iphone
build but failed on some versions of cygwin. It has now been verified
to work on both platforms.
---
 libswscale/arm/Makefile           | 4 ++--
 libswscale/arm/swscale_unscaled.c | 4 ----
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/libswscale/arm/Makefile b/libswscale/arm/Makefile
index 97b3561..9ccec3b 100644
--- a/libswscale/arm/Makefile
+++ b/libswscale/arm/Makefile
@@ -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
diff --git a/libswscale/arm/swscale_unscaled.c b/libswscale/arm/swscale_unscaled.c
index ac1e4a9..8aa933c 100644
--- a/libswscale/arm/swscale_unscaled.c
+++ b/libswscale/arm/swscale_unscaled.c
@@ -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);
-- 
2.7.0


More information about the ffmpeg-devel mailing list