You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avcodec/x86/rv34dsp: Remove obsolete MMX function
The only systems which benefit from ff_rv34_idct_dc_add_mmx 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>
This commit is contained in:
@@ -56,43 +56,6 @@ cglobal rv34_idct_dc_noround, 1, 2, 0
|
|||||||
movq [r0+24], m0
|
movq [r0+24], m0
|
||||||
REP_RET
|
REP_RET
|
||||||
|
|
||||||
; ff_rv34_idct_dc_add_mmx(uint8_t *dst, int stride, int dc);
|
|
||||||
%if ARCH_X86_32
|
|
||||||
INIT_MMX mmx
|
|
||||||
cglobal rv34_idct_dc_add, 3, 3
|
|
||||||
; calculate DC
|
|
||||||
IDCT_DC_ROUND r2
|
|
||||||
pxor m1, m1
|
|
||||||
movd m0, r2d
|
|
||||||
psubw m1, m0
|
|
||||||
packuswb m0, m0
|
|
||||||
packuswb m1, m1
|
|
||||||
punpcklbw m0, m0
|
|
||||||
punpcklbw m1, m1
|
|
||||||
punpcklwd m0, m0
|
|
||||||
punpcklwd m1, m1
|
|
||||||
|
|
||||||
; add DC
|
|
||||||
lea r2, [r0+r1*2]
|
|
||||||
movh m2, [r0]
|
|
||||||
movh m3, [r0+r1]
|
|
||||||
movh m4, [r2]
|
|
||||||
movh m5, [r2+r1]
|
|
||||||
paddusb m2, m0
|
|
||||||
paddusb m3, m0
|
|
||||||
paddusb m4, m0
|
|
||||||
paddusb m5, m0
|
|
||||||
psubusb m2, m1
|
|
||||||
psubusb m3, m1
|
|
||||||
psubusb m4, m1
|
|
||||||
psubusb m5, m1
|
|
||||||
movh [r0], m2
|
|
||||||
movh [r0+r1], m3
|
|
||||||
movh [r2], m4
|
|
||||||
movh [r2+r1], m5
|
|
||||||
RET
|
|
||||||
%endif
|
|
||||||
|
|
||||||
; Load coeffs and perform row transform
|
; Load coeffs and perform row transform
|
||||||
; Output: coeffs in mm[0467], rounder in mm5
|
; Output: coeffs in mm[0467], rounder in mm5
|
||||||
%macro ROW_TRANSFORM 1
|
%macro ROW_TRANSFORM 1
|
||||||
|
@@ -26,7 +26,6 @@
|
|||||||
|
|
||||||
void ff_rv34_idct_dc_mmxext(int16_t *block);
|
void ff_rv34_idct_dc_mmxext(int16_t *block);
|
||||||
void ff_rv34_idct_dc_noround_mmxext(int16_t *block);
|
void ff_rv34_idct_dc_noround_mmxext(int16_t *block);
|
||||||
void ff_rv34_idct_dc_add_mmx(uint8_t *dst, ptrdiff_t stride, int dc);
|
|
||||||
void ff_rv34_idct_dc_add_sse2(uint8_t *dst, ptrdiff_t stride, int dc);
|
void ff_rv34_idct_dc_add_sse2(uint8_t *dst, ptrdiff_t stride, int dc);
|
||||||
void ff_rv34_idct_dc_add_sse4(uint8_t *dst, ptrdiff_t stride, int dc);
|
void ff_rv34_idct_dc_add_sse4(uint8_t *dst, ptrdiff_t stride, int dc);
|
||||||
void ff_rv34_idct_add_mmxext(uint8_t *dst, ptrdiff_t stride, int16_t *block);
|
void ff_rv34_idct_add_mmxext(uint8_t *dst, ptrdiff_t stride, int16_t *block);
|
||||||
@@ -35,8 +34,6 @@ av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c)
|
|||||||
{
|
{
|
||||||
int cpu_flags = av_get_cpu_flags();
|
int cpu_flags = av_get_cpu_flags();
|
||||||
|
|
||||||
if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags))
|
|
||||||
c->rv34_idct_dc_add = ff_rv34_idct_dc_add_mmx;
|
|
||||||
if (EXTERNAL_MMXEXT(cpu_flags)) {
|
if (EXTERNAL_MMXEXT(cpu_flags)) {
|
||||||
c->rv34_inv_transform_dc = ff_rv34_idct_dc_noround_mmxext;
|
c->rv34_inv_transform_dc = ff_rv34_idct_dc_noround_mmxext;
|
||||||
c->rv34_idct_add = ff_rv34_idct_add_mmxext;
|
c->rv34_idct_add = ff_rv34_idct_add_mmxext;
|
||||||
|
Reference in New Issue
Block a user