Browse Source

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>
tags/n2.8
Henrik Gramner Anton Khirnov 9 years ago
parent
commit
ebaf571aca
2 changed files with 5 additions and 0 deletions
  1. +3
    -0
      libavcodec/x86/dct32.asm
  2. +2
    -0
      libavcodec/x86/dct_init.c

+ 3
- 0
libavcodec/x86/dct32.asm View 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

+ 2
- 0
libavcodec/x86/dct_init.c View 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))


Loading…
Cancel
Save