1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
FFmpeg/libswscale/x86
Andreas Rheinhardt a05f22eaf3 swscale/x86/swscale: Remove obsolete and harmful MMX(EXT) functions
x64 always has MMX, MMXEXT, SSE and SSE2 and this means
that some functions for MMX, MMXEXT, SSE and 3dnow are always
overridden by other functions (unless one e.g. explicitly
disables SSE2). So given that the only systems that
benefit from these functions are truely ancient 32bit x86s
they are removed.

Moreover, some of the removed code was buggy/not bitexact
and lead to failures involving the f32le and f32be versions of
gray, gbrp and gbrap on x86-32 when SSE2 was not disabled.
See e.g.
https://fate.ffmpeg.org/report.cgi?time=20220609221253&slot=x86_32-debian-kfreebsd-gcc-4.4-cpuflags-mmx

Notice that yuv2yuvX_mmx is not removed, because it is used
by SSE3 and AVX2 as fallback in case of unaligned data and
also for tail processing. I don't know why yuv2yuvX_mmxext
isn't being used for this; an earlier version [1] of
554c2bc708 used it, but
the version that was eventually applied does not.

[1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2020-November/272124.html

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-06-22 13:36:04 +02:00
..
hscale_fast_bilinear_simd.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
input.asm swscale/x86/swscale: Remove obsolete and harmful MMX(EXT) functions 2022-06-22 13:36:04 +02:00
Makefile libswscale: Adds ff_hscale8to15_4_avx2 and ff_hscale8to15_X4_avx2 for all filter sizes. 2021-12-15 20:04:59 -03:00
output.asm swscale/x86/swscale: Remove obsolete and harmful MMX(EXT) functions 2022-06-22 13:36:04 +02:00
rgb2rgb_template.c swscale/x86/rgb2rgb: Remove obsolete MMX, 3dnow functions 2022-06-22 13:35:38 +02:00
rgb2rgb.c swscale/x86/rgb2rgb: Remove obsolete MMX, 3dnow functions 2022-06-22 13:35:38 +02:00
rgb_2_rgb.asm libswscale/x86/rgb2rgb: add shuffle_bytes avx2 2021-10-15 10:59:20 +02:00
scale_avx2.asm x86/scale_avx2: don't use $ for hex literals 2021-12-16 17:29:21 -03:00
scale.asm swscale/x86/swscale: Remove obsolete and harmful MMX(EXT) functions 2022-06-22 13:36:04 +02:00
swscale_template.c swscale/x86/swscale: Remove obsolete and harmful MMX(EXT) functions 2022-06-22 13:36:04 +02:00
swscale.c swscale/x86/swscale: Remove obsolete and harmful MMX(EXT) functions 2022-06-22 13:36:04 +02:00
w64xmmtest.c
yuv2rgb_template.c swscale/x86/yuv2rgb: Remove obsolete MMX functions 2022-06-22 13:35:50 +02:00
yuv2rgb.c swscale/x86/yuv2rgb: Remove obsolete MMX functions 2022-06-22 13:35:50 +02:00
yuv2yuvX.asm libswscale/x86/yuv2yuvX: Removes unrolling for mmx and mmxext 2021-04-01 20:47:52 +02:00
yuv_2_rgb.asm swscale/x86/yuv2rgb: Remove obsolete MMX functions 2022-06-22 13:35:50 +02:00