avcodec/x86/vp6dsp: Remove obsolete MMX ff_vp6_filter_diag4_mmx

The only systems which benefit from it 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 eefec06634
commit 6cb3ee80b3
  1. 16
      libavcodec/x86/vp6dsp.asm
  2. 7
      libavcodec/x86/vp6dsp_init.c

@ -114,18 +114,13 @@ SECTION .text
%endif ; mmsize == 8/16
%endmacro
%macro vp6_filter_diag4 0
; void ff_vp6_filter_diag4_<opt>(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
; const int16_t h_weight[4], const int16_t v_weights[4])
INIT_XMM sse2
cglobal vp6_filter_diag4, 5, 7, 8
mov r5, rsp ; backup stack pointer
and rsp, ~(mmsize-1) ; align stack
%if mmsize == 16
sub rsp, 8*11
%else
sub rsp, 8*15
movq m6, [pw_64]
%endif
sub r1, r2
@ -156,12 +151,3 @@ cglobal vp6_filter_diag4, 5, 7, 8
mov rsp, r5 ; restore stack pointer
RET
%endmacro
%if ARCH_X86_32
INIT_MMX mmx
vp6_filter_diag4
%endif
INIT_XMM sse2
vp6_filter_diag4

@ -25,8 +25,6 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/vp56dsp.h"
void ff_vp6_filter_diag4_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
const int16_t *h_weights,const int16_t *v_weights);
void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
const int16_t *h_weights,const int16_t *v_weights);
@ -34,11 +32,6 @@ av_cold void ff_vp6dsp_init_x86(VP56DSPContext *c)
{
int cpu_flags = av_get_cpu_flags();
#if ARCH_X86_32
if (EXTERNAL_MMX(cpu_flags)) {
c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx;
}
#endif
if (EXTERNAL_SSE2(cpu_flags)) {
c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2;
}

Loading…
Cancel
Save