x86: huffyuv: Use EXTERNAL_SSSE3_FAST convenience macro where appropriate
This commit is contained in:
@ -146,8 +146,8 @@ cglobal add_hfyu_left_pred, 3,3,7, dst, src, w, left
|
|||||||
psllq m0, 56
|
psllq m0, 56
|
||||||
ADD_HFYU_LEFT_LOOP 1, 1
|
ADD_HFYU_LEFT_LOOP 1, 1
|
||||||
|
|
||||||
INIT_XMM sse4
|
INIT_XMM ssse3
|
||||||
cglobal add_hfyu_left_pred, 3,3,7, dst, src, w, left
|
cglobal add_hfyu_left_pred_unaligned, 3,3,7, dst, src, w, left
|
||||||
mova m5, [pb_f]
|
mova m5, [pb_f]
|
||||||
mova m6, [pb_zzzzzzzz77777777]
|
mova m6, [pb_zzzzzzzz77777777]
|
||||||
mova m4, [pb_zzzz3333zzzzbbbb]
|
mova m4, [pb_zzzz3333zzzzbbbb]
|
||||||
|
@ -31,8 +31,8 @@ void ff_add_hfyu_median_pred_mmxext(uint8_t *dst, const uint8_t *top,
|
|||||||
|
|
||||||
int ff_add_hfyu_left_pred_ssse3(uint8_t *dst, const uint8_t *src,
|
int ff_add_hfyu_left_pred_ssse3(uint8_t *dst, const uint8_t *src,
|
||||||
int w, int left);
|
int w, int left);
|
||||||
int ff_add_hfyu_left_pred_sse4(uint8_t *dst, const uint8_t *src,
|
int ff_add_hfyu_left_pred_unaligned_ssse3(uint8_t *dst, const uint8_t *src,
|
||||||
int w, int left);
|
int w, int left);
|
||||||
|
|
||||||
#if HAVE_INLINE_ASM
|
#if HAVE_INLINE_ASM
|
||||||
|
|
||||||
@ -124,7 +124,9 @@ av_cold void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c)
|
|||||||
|
|
||||||
if (EXTERNAL_SSSE3(cpu_flags)) {
|
if (EXTERNAL_SSSE3(cpu_flags)) {
|
||||||
c->add_hfyu_left_pred = ff_add_hfyu_left_pred_ssse3;
|
c->add_hfyu_left_pred = ff_add_hfyu_left_pred_ssse3;
|
||||||
if (cpu_flags & AV_CPU_FLAG_SSE4) // not really SSE4, just slow on Conroe
|
}
|
||||||
c->add_hfyu_left_pred = ff_add_hfyu_left_pred_sse4;
|
|
||||||
|
if (EXTERNAL_SSSE3_FAST(cpu_flags)) {
|
||||||
|
c->add_hfyu_left_pred = ff_add_hfyu_left_pred_unaligned_ssse3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user