x86: dct: Disable dct32_float_sse on x86-64
authorHenrik Gramner <henrik@gramner.com>
Sat, 1 Aug 2015 15:12:48 +0000 (17:12 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sun, 2 Aug 2015 06:41:45 +0000 (08:41 +0200)
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>
libavcodec/x86/dct32.asm
libavcodec/x86/dct_init.c

index 9c147b9..0879c68 100644 (file)
@@ -482,7 +482,10 @@ cglobal dct32_float, 2, 3, 16, out, in, tmp
 %endif
 %endmacro
 
+%if ARCH_X86_32
 INIT_XMM sse
 DCT32_FUNC
+%endif
+
 INIT_XMM sse2
 DCT32_FUNC
index ca9fbc7..b2e43a9 100644 (file)
@@ -30,8 +30,10 @@ av_cold void ff_dct_init_x86(DCTContext *s)
 {
     int cpu_flags = av_get_cpu_flags();
 
+#if ARCH_X86_32
     if (EXTERNAL_SSE(cpu_flags))
         s->dct32 = ff_dct32_float_sse;
+#endif
     if (EXTERNAL_SSE2(cpu_flags))
         s->dct32 = ff_dct32_float_sse2;
     if (EXTERNAL_AVX_FAST(cpu_flags))