x86: huffyuvdsp: fewer functions for x86_64
When there are 2 functions that are <= SSE2, only one is needed for x86_64. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e0d0745560
commit
d136fe6fd7
@ -110,8 +110,10 @@ cglobal add_hfyu_median_pred, 6,6,8, dst, top, diff, w, left, left_top
|
||||
RET
|
||||
%endmacro
|
||||
|
||||
%if ARCH_X86_32
|
||||
INIT_MMX mmxext
|
||||
HFYU_MEDIAN
|
||||
%endif
|
||||
INIT_XMM sse2
|
||||
HFYU_MEDIAN
|
||||
|
||||
@ -219,8 +221,10 @@ cglobal add_bytes, 3,4,2, dst, src, w, size
|
||||
REP_RET
|
||||
%endmacro
|
||||
|
||||
%if ARCH_X86_32
|
||||
INIT_MMX mmx
|
||||
ADD_BYTES
|
||||
%endif
|
||||
INIT_XMM sse2
|
||||
ADD_BYTES
|
||||
|
||||
@ -257,7 +261,9 @@ cglobal add_hfyu_left_pred_bgr32, 4,4,3, dst, src, w, left
|
||||
REP_RET
|
||||
%endmacro
|
||||
|
||||
%if ARCH_X86_32
|
||||
INIT_MMX mmx
|
||||
LEFT_BGR32
|
||||
%endif
|
||||
INIT_XMM sse2
|
||||
LEFT_BGR32
|
||||
|
@ -51,16 +51,16 @@ av_cold void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c)
|
||||
int cpu_flags = av_get_cpu_flags();
|
||||
|
||||
#if HAVE_7REGS && HAVE_INLINE_ASM
|
||||
if (HAVE_MMX && cpu_flags & AV_CPU_FLAG_CMOV)
|
||||
if (ARCH_X86_32 && cpu_flags & AV_CPU_FLAG_CMOV)
|
||||
c->add_hfyu_median_pred = ff_add_hfyu_median_pred_cmov;
|
||||
#endif
|
||||
|
||||
if (EXTERNAL_MMX(cpu_flags)) {
|
||||
if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags)) {
|
||||
c->add_bytes = ff_add_bytes_mmx;
|
||||
c->add_hfyu_left_pred_bgr32 = ff_add_hfyu_left_pred_bgr32_mmx;
|
||||
}
|
||||
|
||||
if (EXTERNAL_MMXEXT(cpu_flags)) {
|
||||
if (ARCH_X86_32 && EXTERNAL_MMXEXT(cpu_flags)) {
|
||||
/* slower than cmov version on AMD */
|
||||
if (!(cpu_flags & AV_CPU_FLAG_3DNOW))
|
||||
c->add_hfyu_median_pred = ff_add_hfyu_median_pred_mmxext;
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "libavutil/x86/asm.h"
|
||||
#include "huffyuvdsp.h"
|
||||
|
||||
#if HAVE_INLINE_ASM && HAVE_7REGS
|
||||
#if HAVE_INLINE_ASM && HAVE_7REGS && ARCH_X86_32
|
||||
void ff_add_hfyu_median_pred_cmov(uint8_t *dst, const uint8_t *top,
|
||||
const uint8_t *diff, int w,
|
||||
int *left, int *left_top)
|
||||
|
Loading…
x
Reference in New Issue
Block a user