[vlc-commits] vfilter: yadif deint: disable SIMD on android

Victorien Le Couviour--Tuffet git at videolan.org
Tue Oct 23 14:54:00 CEST 2018


vlc | branch: master | Victorien Le Couviour--Tuffet <victorien.lecouviour.tuffet at gmail.com> | Mon Sep 17 11:32:03 2018 +0200| [812fdcb264e7fee25daab689e1b9904c2677d40f] | committer: Thomas Guillem

vfilter: yadif deint: disable SIMD on android

Fixes android NDK 17 x86 build: clang fails to compile assembly code
saying it requires more registers than available.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=812fdcb264e7fee25daab689e1b9904c2677d40f
---

 modules/video_filter/deinterlace/algo_yadif.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/modules/video_filter/deinterlace/algo_yadif.c b/modules/video_filter/deinterlace/algo_yadif.c
index d94e45dbb5..a89d240b83 100644
--- a/modules/video_filter/deinterlace/algo_yadif.c
+++ b/modules/video_filter/deinterlace/algo_yadif.c
@@ -113,20 +113,23 @@ int RenderYadif( filter_t *p_filter, picture_t *p_dst, picture_t *p_src,
         void (*filter)(uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8_t *next,
                        int w, int prefs, int mrefs, int parity, int mode);
 
-#if defined(HAVE_YADIF_SSSE3)
+/* android clang build for x86 fails as not enough registers are available */
+#if !defined(__ANDROID__)
+# if defined(HAVE_YADIF_SSSE3)
         if( vlc_CPU_SSSE3() )
             filter = yadif_filter_line_ssse3;
         else
-#endif
-#if defined(HAVE_YADIF_SSE2)
+# endif
+# if defined(HAVE_YADIF_SSE2)
         if( vlc_CPU_SSE2() )
             filter = yadif_filter_line_sse2;
         else
-#endif
-#if defined(HAVE_YADIF_MMX)
+# endif
+# if defined(HAVE_YADIF_MMX)
         if( vlc_CPU_MMX() )
             filter = yadif_filter_line_mmx;
         else
+# endif
 #endif
             filter = yadif_filter_line_c;
 



More information about the vlc-commits mailing list