mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-16 04:11:12 +00:00
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>
This commit is contained in:
parent
4038b5b209
commit
aa8a201992
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user