[FFmpeg-cvslog] swscale/arm/yuv2rgb: disable neon if accurate_rnd is enabled

Matthieu Bouron git at videolan.org
Sat Dec 19 22:10:02 CET 2015


ffmpeg | branch: master | Matthieu Bouron <matthieu.bouron at stupeflix.com> | Fri Dec 18 14:24:52 2015 +0100| [e0dc22b99e85823ea85a9da85eced1e9b2bf24e4] | committer: Matthieu Bouron

swscale/arm/yuv2rgb: disable neon if accurate_rnd is enabled

This disables the 32bit precision neon code path in favor of the
default C one and avoids breaking fate.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e0dc22b99e85823ea85a9da85eced1e9b2bf24e4
---

 libswscale/arm/swscale_unscaled.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libswscale/arm/swscale_unscaled.c b/libswscale/arm/swscale_unscaled.c
index e694ef4..4c12122 100644
--- a/libswscale/arm/swscale_unscaled.c
+++ b/libswscale/arm/swscale_unscaled.c
@@ -100,7 +100,6 @@ DECLARE_FF_NVX_TO_RGBX_FUNCS(nvx, bgra, precision)
 
 #define DECLARE_FF_NVX_TO_ALL_RGBX_ALL_PRECISION_FUNCS(nvx)                                 \
 DECLARE_FF_NVX_TO_ALL_RGBX_FUNCS(nvx, 16)                                                   \
-DECLARE_FF_NVX_TO_ALL_RGBX_FUNCS(nvx, 32)                                                   \
 
 DECLARE_FF_NVX_TO_ALL_RGBX_ALL_PRECISION_FUNCS(nv12)
 DECLARE_FF_NVX_TO_ALL_RGBX_ALL_PRECISION_FUNCS(nv21)
@@ -113,9 +112,9 @@ DECLARE_FF_NVX_TO_ALL_RGBX_ALL_PRECISION_FUNCS(nv21)
     if (c->srcFormat == AV_PIX_FMT_##IFMT                                                   \
         && c->dstFormat == AV_PIX_FMT_##OFMT                                                \
         && !(c->srcH & 1)                                                                   \
-        && !(c->srcW & 15)) {                                                               \
-        c->swscale = (accurate_rnd) ? ifmt##_to_##ofmt##_neon_wrapper_32 :                  \
-                                      ifmt##_to_##ofmt##_neon_wrapper_16 ;                  \
+        && !(c->srcW & 15)                                                                  \
+        && !accurate_rnd) {                                                                 \
+        c->swscale = ifmt##_to_##ofmt##_neon_wrapper_16;                                    \
     }                                                                                       \
 } while (0)
 



More information about the ffmpeg-cvslog mailing list