avfilter/x86/vf_yadif: Remove obsolete MMXEXT functions

The only system which benefit from these are truely ancient
32bit x86s as all other systems use at least the SSE2 versions
(this includes all x64 cpus (which is why this code is restricted
to x86-32)).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
release/5.1
Andreas Rheinhardt 3 years ago
parent 19abc4c0a9
commit 4d7128be9a
  1. 8
      libavfilter/x86/vf_yadif.asm
  2. 21
      libavfilter/x86/vf_yadif_init.c
  3. 4
      libavfilter/x86/yadif-10.asm
  4. 4
      libavfilter/x86/yadif-16.asm

@ -133,12 +133,8 @@ SECTION .text
psubusb m2, m3 psubusb m2, m3
psubusb m3, m4 psubusb m3, m4
pmaxub m2, m3 pmaxub m2, m3
%if mmsize == 16
mova m3, m2 mova m3, m2
psrldq m3, 2 psrldq m3, 2
%else
pshufw m3, m2, q0021
%endif
punpcklbw m2, m7 punpcklbw m2, m7
punpcklbw m3, m7 punpcklbw m3, m7
paddw m0, m2 paddw m0, m2
@ -237,7 +233,3 @@ INIT_XMM ssse3
YADIF YADIF
INIT_XMM sse2 INIT_XMM sse2
YADIF YADIF
%if ARCH_X86_32
INIT_MMX mmxext
YADIF
%endif

@ -23,9 +23,6 @@
#include "libavutil/x86/cpu.h" #include "libavutil/x86/cpu.h"
#include "libavfilter/yadif.h" #include "libavfilter/yadif.h"
void ff_yadif_filter_line_mmxext(void *dst, void *prev, void *cur,
void *next, int w, int prefs,
int mrefs, int parity, int mode);
void ff_yadif_filter_line_sse2(void *dst, void *prev, void *cur, void ff_yadif_filter_line_sse2(void *dst, void *prev, void *cur,
void *next, int w, int prefs, void *next, int w, int prefs,
int mrefs, int parity, int mode); int mrefs, int parity, int mode);
@ -33,9 +30,6 @@ void ff_yadif_filter_line_ssse3(void *dst, void *prev, void *cur,
void *next, int w, int prefs, void *next, int w, int prefs,
int mrefs, int parity, int mode); int mrefs, int parity, int mode);
void ff_yadif_filter_line_16bit_mmxext(void *dst, void *prev, void *cur,
void *next, int w, int prefs,
int mrefs, int parity, int mode);
void ff_yadif_filter_line_16bit_sse2(void *dst, void *prev, void *cur, void ff_yadif_filter_line_16bit_sse2(void *dst, void *prev, void *cur,
void *next, int w, int prefs, void *next, int w, int prefs,
int mrefs, int parity, int mode); int mrefs, int parity, int mode);
@ -46,9 +40,6 @@ void ff_yadif_filter_line_16bit_sse4(void *dst, void *prev, void *cur,
void *next, int w, int prefs, void *next, int w, int prefs,
int mrefs, int parity, int mode); int mrefs, int parity, int mode);
void ff_yadif_filter_line_10bit_mmxext(void *dst, void *prev, void *cur,
void *next, int w, int prefs,
int mrefs, int parity, int mode);
void ff_yadif_filter_line_10bit_sse2(void *dst, void *prev, void *cur, void ff_yadif_filter_line_10bit_sse2(void *dst, void *prev, void *cur,
void *next, int w, int prefs, void *next, int w, int prefs,
int mrefs, int parity, int mode); int mrefs, int parity, int mode);
@ -63,10 +54,6 @@ av_cold void ff_yadif_init_x86(YADIFContext *yadif)
: yadif->csp->comp[0].depth; : yadif->csp->comp[0].depth;
if (bit_depth >= 15) { if (bit_depth >= 15) {
#if ARCH_X86_32
if (EXTERNAL_MMXEXT(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_16bit_mmxext;
#endif /* ARCH_X86_32 */
if (EXTERNAL_SSE2(cpu_flags)) if (EXTERNAL_SSE2(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_16bit_sse2; yadif->filter_line = ff_yadif_filter_line_16bit_sse2;
if (EXTERNAL_SSSE3(cpu_flags)) if (EXTERNAL_SSSE3(cpu_flags))
@ -74,19 +61,11 @@ av_cold void ff_yadif_init_x86(YADIFContext *yadif)
if (EXTERNAL_SSE4(cpu_flags)) if (EXTERNAL_SSE4(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_16bit_sse4; yadif->filter_line = ff_yadif_filter_line_16bit_sse4;
} else if ( bit_depth >= 9 && bit_depth <= 14) { } else if ( bit_depth >= 9 && bit_depth <= 14) {
#if ARCH_X86_32
if (EXTERNAL_MMXEXT(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_10bit_mmxext;
#endif /* ARCH_X86_32 */
if (EXTERNAL_SSE2(cpu_flags)) if (EXTERNAL_SSE2(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_10bit_sse2; yadif->filter_line = ff_yadif_filter_line_10bit_sse2;
if (EXTERNAL_SSSE3(cpu_flags)) if (EXTERNAL_SSSE3(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_10bit_ssse3; yadif->filter_line = ff_yadif_filter_line_10bit_ssse3;
} else { } else {
#if ARCH_X86_32
if (EXTERNAL_MMXEXT(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_mmxext;
#endif /* ARCH_X86_32 */
if (EXTERNAL_SSE2(cpu_flags)) if (EXTERNAL_SSE2(cpu_flags))
yadif->filter_line = ff_yadif_filter_line_sse2; yadif->filter_line = ff_yadif_filter_line_sse2;
if (EXTERNAL_SSSE3(cpu_flags)) if (EXTERNAL_SSSE3(cpu_flags))

@ -249,7 +249,3 @@ INIT_XMM ssse3
YADIF YADIF
INIT_XMM sse2 INIT_XMM sse2
YADIF YADIF
%if ARCH_X86_32
INIT_MMX mmxext
YADIF
%endif

@ -287,7 +287,3 @@ INIT_XMM ssse3
YADIF YADIF
INIT_XMM sse2 INIT_XMM sse2
YADIF YADIF
%if ARCH_X86_32
INIT_MMX mmxext
YADIF
%endif

Loading…
Cancel
Save