x86: dct: Disable dct32_float_sse on x86-64

There is an SSE2 implementation so the SSE version is never used. The "SSE"
version also happens to contain SSE2 instructions on x86-64.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
Henrik Gramner 2015-08-01 17:12:48 +02:00 committed by Anton Khirnov
parent 979cb55103
commit ebaf571aca
2 changed files with 5 additions and 0 deletions

View File

@ -482,7 +482,10 @@ cglobal dct32_float, 2, 3, 16, out, in, tmp
%endif %endif
%endmacro %endmacro
%if ARCH_X86_32
INIT_XMM sse INIT_XMM sse
DCT32_FUNC DCT32_FUNC
%endif
INIT_XMM sse2 INIT_XMM sse2
DCT32_FUNC DCT32_FUNC

View File

@ -30,8 +30,10 @@ av_cold void ff_dct_init_x86(DCTContext *s)
{ {
int cpu_flags = av_get_cpu_flags(); int cpu_flags = av_get_cpu_flags();
#if ARCH_X86_32
if (EXTERNAL_SSE(cpu_flags)) if (EXTERNAL_SSE(cpu_flags))
s->dct32 = ff_dct32_float_sse; s->dct32 = ff_dct32_float_sse;
#endif
if (EXTERNAL_SSE2(cpu_flags)) if (EXTERNAL_SSE2(cpu_flags))
s->dct32 = ff_dct32_float_sse2; s->dct32 = ff_dct32_float_sse2;
if (EXTERNAL_AVX_FAST(cpu_flags)) if (EXTERNAL_AVX_FAST(cpu_flags))