[vlc-devel] [PATCH] deinterlace/yadif: Disable x86 asm on Android

Marvin Scholz epirat07 at gmail.com
Tue Oct 15 14:55:31 CEST 2019


It contains text relocations which are not allowed on Android.
---
 modules/video_filter/Makefile.am              | 3 +++
 modules/video_filter/deinterlace/algo_yadif.c | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/modules/video_filter/Makefile.am b/modules/video_filter/Makefile.am
index 51ee92aff1..6f1714c683 100644
--- a/modules/video_filter/Makefile.am
+++ b/modules/video_filter/Makefile.am
@@ -136,9 +136,12 @@ libdeinterlace_plugin_la_SOURCES = \
 	video_filter/deinterlace/algo_ivtc.c video_filter/deinterlace/algo_ivtc.h
 # inline ASM doesn't build with -O0
 libdeinterlace_plugin_la_CFLAGS = $(AM_CFLAGS) -O2
+# Disabled on Android due to text reloc issues
+if !HAVE_ANDROID
 if HAVE_X86ASM
 libdeinterlace_plugin_la_SOURCES += video_filter/deinterlace/yadif_x86.asm
 endif
+endif
 if HAVE_NEON
 libdeinterlace_plugin_la_SOURCES += video_filter/deinterlace/merge_arm.S
 libdeinterlace_plugin_la_CFLAGS += -DCAN_COMPILE_ARM
diff --git a/modules/video_filter/deinterlace/algo_yadif.c b/modules/video_filter/deinterlace/algo_yadif.c
index 6fdecf53a5..98dbbe9b04 100644
--- a/modules/video_filter/deinterlace/algo_yadif.c
+++ b/modules/video_filter/deinterlace/algo_yadif.c
@@ -112,7 +112,7 @@ 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_X86ASM)
+#if defined(HAVE_X86ASM) && !defined (__ANDROID__)
         if( vlc_CPU_SSSE3() )
             filter = vlcpriv_yadif_filter_line_ssse3;
         else
-- 
2.20.1 (Apple Git-117)



More information about the vlc-devel mailing list