[vlc-devel] [PATCH] vfilter: yadif deint: disable SIMD on android
Steve Lhomme
robux4 at ycbcr.xyz
Wed Oct 10 11:38:53 CEST 2018
Can you provide the compilation log ?
Maybe it's an issue in our SSE3 code and should be fixed.
On 08/10/2018 12:32, Victorien Le Couviour--Tuffet wrote:
> Fixes android NDK 17 x86 build: clang fails to compile assembly code
> saying it requires more registers than available.
> ---
> 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;
>
> --
> 2.19.1
>
> _______________________________________________
> 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