[FFmpeg-cvslog] avcodec/x86/audiodsp_init: Remove obsolete MMX(EXT) functions
Andreas Rheinhardt
git at videolan.org
Wed Jun 22 15:28:15 EEST 2022
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Jun 7 01:22:52 2022 +0200| [3d716d38abdae1982e84e30becb57458244656bd] | committer: Andreas Rheinhardt
avcodec/x86/audiodsp_init: Remove obsolete MMX(EXT) functions
x64 always has MMX, MMXEXT, SSE and SSE2 and this means
that some functions for MMX, MMXEXT and 3dnow are always
overridden by other functions (unless one e.g. explicitly
disables SSE2) for x64. So given that the only systems that
benefit from these functions are truely ancient 32bit x86s
they are removed.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3d716d38abdae1982e84e30becb57458244656bd
---
libavcodec/x86/audiodsp.asm | 13 +------------
libavcodec/x86/audiodsp_init.c | 10 ----------
2 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/libavcodec/x86/audiodsp.asm b/libavcodec/x86/audiodsp.asm
index de395e5fa8..b604b0443c 100644
--- a/libavcodec/x86/audiodsp.asm
+++ b/libavcodec/x86/audiodsp.asm
@@ -23,8 +23,8 @@
SECTION .text
-%macro SCALARPRODUCT 0
; int ff_scalarproduct_int16(int16_t *v1, int16_t *v2, int order)
+INIT_XMM sse2
cglobal scalarproduct_int16, 3,3,3, v1, v2, order
add orderd, orderd
add v1q, orderq
@@ -42,16 +42,7 @@ cglobal scalarproduct_int16, 3,3,3, v1, v2, order
jl .loop
HADDD m2, m0
movd eax, m2
-%if mmsize == 8
- emms
-%endif
RET
-%endmacro
-
-INIT_MMX mmxext
-SCALARPRODUCT
-INIT_XMM sse2
-SCALARPRODUCT
;-----------------------------------------------------------------------------
@@ -117,8 +108,6 @@ cglobal vector_clip_int32%5, 5,5,%1, dst, src, min, max, len
REP_RET
%endmacro
-INIT_MMX mmx
-VECTOR_CLIP_INT32 0, 1, 0, 0
INIT_XMM sse2
VECTOR_CLIP_INT32 6, 1, 0, 0, _int
VECTOR_CLIP_INT32 6, 2, 0, 1
diff --git a/libavcodec/x86/audiodsp_init.c b/libavcodec/x86/audiodsp_init.c
index 98e296c264..aa5e43e570 100644
--- a/libavcodec/x86/audiodsp_init.c
+++ b/libavcodec/x86/audiodsp_init.c
@@ -24,13 +24,9 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/audiodsp.h"
-int32_t ff_scalarproduct_int16_mmxext(const int16_t *v1, const int16_t *v2,
- int order);
int32_t ff_scalarproduct_int16_sse2(const int16_t *v1, const int16_t *v2,
int order);
-void ff_vector_clip_int32_mmx(int32_t *dst, const int32_t *src,
- int32_t min, int32_t max, unsigned int len);
void ff_vector_clip_int32_sse2(int32_t *dst, const int32_t *src,
int32_t min, int32_t max, unsigned int len);
void ff_vector_clip_int32_int_sse2(int32_t *dst, const int32_t *src,
@@ -44,12 +40,6 @@ av_cold void ff_audiodsp_init_x86(AudioDSPContext *c)
{
int cpu_flags = av_get_cpu_flags();
- if (EXTERNAL_MMX(cpu_flags))
- c->vector_clip_int32 = ff_vector_clip_int32_mmx;
-
- if (EXTERNAL_MMXEXT(cpu_flags))
- c->scalarproduct_int16 = ff_scalarproduct_int16_mmxext;
-
if (EXTERNAL_SSE(cpu_flags))
c->vector_clipf = ff_vector_clipf_sse;
More information about the ffmpeg-cvslog
mailing list