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

Marvin Scholz epirat07 at gmail.com
Wed Oct 16 00:32:41 CEST 2019



On 16 Oct 2019, at 0:06, Alexandre Janniaux wrote:

> Hi,
>
> Thank you for the details,
>
> If this is a dolt issue, will it be fixed with the meson buildsystem ?
>

Meson does not rely on libtool so yeah, this will be fixed with meson.

>
> Regards,
>
> \-- 
>
> Alexandre Janniaux
>
> Videolabs
>
>
>
>
> Le 15 oct. 2019 22:46, Marvin Scholz <epirat07 at gmail.com> a écrit :
>
>
>> On 15 Oct 2019, at 17:16, Rémi Denis-Courmont wrote:
>>
>> > Hi,
>>  >
>>  > Text relocations don't work on Linux and ELF platforms in general,
>>  > AFAIK. So this needs proper fixing if it's *really* text 
>> relocations.
>>
>> I’ve investigate this issue more.
>>  I turns out it is only an issue when configuring libvlc with
>>  \--enable-static --disable-shared
>>  which causes libtool to not default to PIC, as expected. But even 
>> when
>>  using --with-pic
>>  it does not use PIC which in fact isn’t libtools fault but DOLT, 
>> which
>>  does not handle
>>  this correctly.
>>
>> I’ve submitted another patch that reverts this one and adds a
>>  workaround for that.
>>  It’s not a perfect fix, just a workaround because dolt.m4 is quite
>>  hard to read and follow,
>>  so I really can’t figure out how to patch that to do the right 
>> thing.
>>
>> Just opting out of DOLT in case of --with-pic being given does not 
>> work
>>  either, because
>>  the --tag=ASM flag used for NASM compilation with libtool is only
>>  supported by the DOLT
>>  wrapper script, not by the real libtool…
>>
>> >
>>  > Le 15 octobre 2019 15:55:31 GMT+03:00, Marvin Scholz
>>  > <epirat07 at gmail.com> a écrit :
>>  >> 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)
>>  >>
>>  >> _______________________________________________
>>  >> vlc-devel mailing list
>>  >> To unsubscribe or modify your subscription options:
>>  >> https://mailman.videolan.org/listinfo/vlc-devel
>>  >
>>  > \--
>>  > Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>>  > excuser ma 
>> brièveté._______________________________________________
>>  > vlc-devel mailing list
>>  > To unsubscribe or modify your subscription options:
>>  > https://mailman.videolan.org/listinfo/vlc-devel
>>  _______________________________________________
>>  vlc-devel mailing list
>>  To unsubscribe or modify your subscription options:
>>  https://mailman.videolan.org/listinfo/vlc-devel
>
>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list