Quoting Henrik Gramner (2015-08-01 17:12:48)
> There is an SSE2 implementation so the SSE version is never used. The "SSE"
> version also happens to contain SSE2 instructions on x86-64.
> ---
> libavcodec/x86/dct32.asm | 3 +++
> libavcodec/x86/dct_init.c | 2 ++
> 2 files changed, 5 insertions(+)
>
> diff --git a/libavcodec/x86/dct32.asm b/libavcodec/x86/dct32.asm
> index 9c147b9..fa723b0 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_64 == 0
> 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 ca9fbc7..b2e43a9 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))
> --
> 1.8.3.2
>
Looks ok. Any specific reason you use ARCH_X86_64 in one file and
ARCH_X86_32 in the other?
--
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel