[FFmpeg-devel] [PATCH] swscale/x86/rgb2_rgb: Empty MMX state in ff_shuffle_bytes_2103_mmxext

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue Aug 23 00:59:17 EEST 2022


Andreas Rheinhardt:
> Fixes FATE-failures with the the filter-2xbr filter-3xbr filter-4xbr
> filter-ep2x filter-ep3x filter-hq2x filter-hq3x filter-hq4x
> filter-paletteuse-bayer filter-paletteuse-bayer0
> filter-paletteuse-nodither and filter-paletteuse-sierra2_4a tests
> when using 32bit x86 with CPUFLAGS ranging from "mmx+mmxext" to
> "mmx+mmxext+sse+sse2+sse3" (the relevant function is only overwritten
> when using SSSE3).
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libswscale/x86/rgb_2_rgb.asm | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libswscale/x86/rgb_2_rgb.asm b/libswscale/x86/rgb_2_rgb.asm
> index c695c61d5c..76ca1eec03 100644
> --- a/libswscale/x86/rgb_2_rgb.asm
> +++ b/libswscale/x86/rgb_2_rgb.asm
> @@ -104,6 +104,7 @@ jge .end
>      jl .loop_simd
>  
>  .end:
> +    emms
>      RET
>  
>  ;------------------------------------------------------------------------------

I'd really love if someone with x86 assembly skills could look over this
trivial patch and confirm whether it is indeed correct. All I currently
know is that is works for me.

- Andreas


More information about the ffmpeg-devel mailing list