summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorHenrik Gramner <henrik@gramner.com>2015-08-01 17:12:48 +0200
committerAnton Khirnov <anton@khirnov.net>2015-08-02 08:41:45 +0200
commitebaf571aca2dd6ce3caeeeec4210a3fccd47e7db (patch)
tree611f5308a8633aa16002d43f7d72f9a6ac275f98 /libavcodec/x86
parent979cb55103fa8e8274806e496901203742c686d1 (diff)
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>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/dct32.asm3
-rw-r--r--libavcodec/x86/dct_init.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/x86/dct32.asm b/libavcodec/x86/dct32.asm
index 9c147b9c00..0879c685f1 100644
--- a/libavcodec/x86/dct32.asm
+++ b/libavcodec/x86/dct32.asm
@@ -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
diff --git a/libavcodec/x86/dct_init.c b/libavcodec/x86/dct_init.c
index ca9fbc7a68..b2e43a9be1 100644
--- a/libavcodec/x86/dct_init.c
+++ b/libavcodec/x86/dct_init.c
@@ -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))