diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-09 16:57:34 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-22 13:36:04 +0200 |
commit | a05f22eaf393177b94432431c145cbc5ba10390a (patch) | |
tree | 31a2ae01b520b2578477ea4b6b2febf1d0e6c1e6 /libavfilter/vf_avgblur_opencl.c | |
parent | 2831837182fe26f0a19a4d366f3f0553311f1291 (diff) | |
download | ffmpeg-a05f22eaf393177b94432431c145cbc5ba10390a.tar.gz |
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
554c2bc7086f49ef5a6a989ad6bc4bc11807eb6f 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>
Diffstat (limited to 'libavfilter/vf_avgblur_opencl.c')
0 files changed, 0 insertions, 0 deletions