summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-06-13 17:02:42 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-06-22 13:38:40 +0200
commit6cb3ee80b3b58d692a722fb38ee05f170ae8b0d2 (patch)
treeca1e4122c9fdb1e03846d975fae9bb1c900a7b6d
parenteefec0663406d7c2749a280f5244caaacb069c60 (diff)
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>
-rw-r--r--libavcodec/x86/vp6dsp.asm16
-rw-r--r--libavcodec/x86/vp6dsp_init.c7
2 files changed, 1 insertions, 22 deletions
diff --git a/libavcodec/x86/vp6dsp.asm b/libavcodec/x86/vp6dsp.asm
index 0be531e5c2..512fe89def 100644
--- a/libavcodec/x86/vp6dsp.asm
+++ b/libavcodec/x86/vp6dsp.asm
@@ -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
diff --git a/libavcodec/x86/vp6dsp_init.c b/libavcodec/x86/vp6dsp_init.c
index ce498931d0..83d45ec36c 100644
--- a/libavcodec/x86/vp6dsp_init.c
+++ b/libavcodec/x86/vp6dsp_init.c
@@ -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;
}