[vlc-commits] vfilter: yadif deint: disable SIMD on android
Victorien Le Couviour--Tuffet
git at videolan.org
Tue Oct 23 17:25:20 CEST 2018
vlc/vlc-3.0 | branch: master | Victorien Le Couviour--Tuffet <victorien.lecouviour.tuffet at gmail.com> | Mon Sep 17 11:32:03 2018 +0200| [522bd3b65fedaa32df30ad0bea86b718eb62716c] | 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.
(cherry picked from commit 812fdcb264e7fee25daab689e1b9904c2677d40f)
Signed-off-by: Thomas Guillem <thomas at gllm.fr>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=522bd3b65fedaa32df30ad0bea86b718eb62716c
---
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