avcodec/x86/lossless_videoencdsp: Remove obsolete MMX function

The only systems which benefit from ff_diff_bytes_mmx 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 839fbe0e98
commit 230ea38de1
  1. 9
      libavcodec/x86/lossless_videoencdsp.asm
  2. 6
      libavcodec/x86/lossless_videoencdsp_init.c

@ -113,15 +113,6 @@ cglobal diff_bytes, 4,5,2, dst, src1, src2, w
REP_RET REP_RET
%endmacro %endmacro
%if ARCH_X86_32
INIT_MMX mmx
DIFF_BYTES_PROLOGUE
%define regsize mmsize
DIFF_BYTES_LOOP_PREP .skip_main_aa, .end_aa
DIFF_BYTES_BODY a, a
%undef i
%endif
INIT_XMM sse2 INIT_XMM sse2
DIFF_BYTES_PROLOGUE DIFF_BYTES_PROLOGUE
%define regsize mmsize %define regsize mmsize

@ -29,8 +29,6 @@
#include "libavcodec/lossless_videoencdsp.h" #include "libavcodec/lossless_videoencdsp.h"
#include "libavcodec/mathops.h" #include "libavcodec/mathops.h"
void ff_diff_bytes_mmx(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
intptr_t w);
void ff_diff_bytes_sse2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, void ff_diff_bytes_sse2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
intptr_t w); intptr_t w);
void ff_diff_bytes_avx2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, void ff_diff_bytes_avx2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
@ -87,10 +85,6 @@ av_cold void ff_llvidencdsp_init_x86(LLVidEncDSPContext *c)
{ {
av_unused int cpu_flags = av_get_cpu_flags(); av_unused int cpu_flags = av_get_cpu_flags();
if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags)) {
c->diff_bytes = ff_diff_bytes_mmx;
}
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
if (INLINE_MMXEXT(cpu_flags)) { if (INLINE_MMXEXT(cpu_flags)) {
c->sub_median_pred = sub_median_pred_mmxext; c->sub_median_pred = sub_median_pred_mmxext;

Loading…
Cancel
Save