diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-10 21:18:52 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-22 13:34:45 +0200 |
commit | aa8a2019928ae6ff6ec4382020b26b891f64d4bd (patch) | |
tree | 16f109a6042b096e37cb01bc0ccc7e35d8bd88ae | |
parent | 4038b5b209cd8a0a3cb559d1073e9b22196a8ace (diff) | |
download | ffmpeg-aa8a2019928ae6ff6ec4382020b26b891f64d4bd.tar.gz |
avcodec/x86/hpeldsp_vp3: Remove obsolete 3dnow 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@outlook.com>
-rw-r--r-- | libavcodec/x86/hpeldsp_vp3.asm | 16 | ||||
-rw-r--r-- | libavcodec/x86/hpeldsp_vp3_init.c | 13 |
2 files changed, 2 insertions, 27 deletions
diff --git a/libavcodec/x86/hpeldsp_vp3.asm b/libavcodec/x86/hpeldsp_vp3.asm index cba96d06cb..88ca8e8e0a 100644 --- a/libavcodec/x86/hpeldsp_vp3.asm +++ b/libavcodec/x86/hpeldsp_vp3.asm @@ -23,7 +23,7 @@ SECTION .text ; void ff_put_no_rnd_pixels8_x2_exact(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) -%macro PUT_NO_RND_PIXELS8_X2_EXACT 0 +INIT_MMX mmxext cglobal put_no_rnd_pixels8_x2_exact, 4,5 lea r4, [r2*3] pcmpeqb m6, m6 @@ -61,16 +61,10 @@ cglobal put_no_rnd_pixels8_x2_exact, 4,5 sub r3d, 4 jg .loop REP_RET -%endmacro - -INIT_MMX mmxext -PUT_NO_RND_PIXELS8_X2_EXACT -INIT_MMX 3dnow -PUT_NO_RND_PIXELS8_X2_EXACT ; void ff_put_no_rnd_pixels8_y2_exact(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) -%macro PUT_NO_RND_PIXELS8_Y2_EXACT 0 +INIT_MMX mmxext cglobal put_no_rnd_pixels8_y2_exact, 4,5 lea r4, [r2*3] mova m0, [r1] @@ -103,9 +97,3 @@ cglobal put_no_rnd_pixels8_y2_exact, 4,5 sub r3d, 4 jg .loop REP_RET -%endmacro - -INIT_MMX mmxext -PUT_NO_RND_PIXELS8_Y2_EXACT -INIT_MMX 3dnow -PUT_NO_RND_PIXELS8_Y2_EXACT diff --git a/libavcodec/x86/hpeldsp_vp3_init.c b/libavcodec/x86/hpeldsp_vp3_init.c index 5979f4123c..1dbd1ba6f9 100644 --- a/libavcodec/x86/hpeldsp_vp3_init.c +++ b/libavcodec/x86/hpeldsp_vp3_init.c @@ -28,25 +28,12 @@ void ff_put_no_rnd_pixels8_x2_exact_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -void ff_put_no_rnd_pixels8_x2_exact_3dnow(uint8_t *block, - const uint8_t *pixels, - ptrdiff_t line_size, int h); void ff_put_no_rnd_pixels8_y2_exact_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -void ff_put_no_rnd_pixels8_y2_exact_3dnow(uint8_t *block, - const uint8_t *pixels, - ptrdiff_t line_size, int h); av_cold void ff_hpeldsp_vp3_init_x86(HpelDSPContext *c, int cpu_flags, int flags) { - if (EXTERNAL_AMD3DNOW(cpu_flags)) { - if (flags & AV_CODEC_FLAG_BITEXACT) { - c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_3dnow; - c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_3dnow; - } - } - if (EXTERNAL_MMXEXT(cpu_flags)) { if (flags & AV_CODEC_FLAG_BITEXACT) { c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext; |