diff options
author | James Almer <jamrial@gmail.com> | 2014-12-31 16:37:29 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2014-12-31 16:38:33 -0300 |
commit | 975ff6a3c638c3992afb56a24e1747e28cef7d8f (patch) | |
tree | 5f695388d51b26e36ae921570ee6ee02d81661bf /libswresample | |
parent | 5f14f9e9849579b3418aebfde8a162d9c172d0ea (diff) | |
download | ffmpeg-streaming-975ff6a3c638c3992afb56a24e1747e28cef7d8f.zip ffmpeg-streaming-975ff6a3c638c3992afb56a24e1747e28cef7d8f.tar.gz |
x86/swr: disable pack_8ch functions on msvc/icl x86_32
Until a proper fix is committed.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libswresample')
-rw-r--r-- | libswresample/x86/audio_convert.asm | 4 | ||||
-rw-r--r-- | libswresample/x86/audio_convert_init.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/libswresample/x86/audio_convert.asm b/libswresample/x86/audio_convert.asm index c2918a4..f02370c 100644 --- a/libswresample/x86/audio_convert.asm +++ b/libswresample/x86/audio_convert.asm @@ -583,6 +583,7 @@ PACK_6CH float, int32, a, 2, 2, INT32_TO_FLOAT_N, INT32_TO_FLOAT_INIT PACK_6CH int32, float, u, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT PACK_6CH int32, float, a, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT +%if HAVE_ALIGNED_STACK PACK_8CH float, float, u, 2, 2, NOP_N, NOP_N PACK_8CH float, float, a, 2, 2, NOP_N, NOP_N @@ -590,6 +591,7 @@ PACK_8CH float, int32, u, 2, 2, INT32_TO_FLOAT_N, INT32_TO_FLOAT_INIT PACK_8CH float, int32, a, 2, 2, INT32_TO_FLOAT_N, INT32_TO_FLOAT_INIT PACK_8CH int32, float, u, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT PACK_8CH int32, float, a, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT +%endif INIT_XMM ssse3 UNPACK_2CH int16, int16, u, 1, 1, NOP_N, NOP_N @@ -609,6 +611,7 @@ PACK_6CH float, int32, a, 2, 2, INT32_TO_FLOAT_N, INT32_TO_FLOAT_INIT PACK_6CH int32, float, u, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT PACK_6CH int32, float, a, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT +%if HAVE_ALIGNED_STACK PACK_8CH float, float, u, 2, 2, NOP_N, NOP_N PACK_8CH float, float, a, 2, 2, NOP_N, NOP_N @@ -616,6 +619,7 @@ PACK_8CH float, int32, u, 2, 2, INT32_TO_FLOAT_N, INT32_TO_FLOAT_INIT PACK_8CH float, int32, a, 2, 2, INT32_TO_FLOAT_N, INT32_TO_FLOAT_INIT PACK_8CH int32, float, u, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT PACK_8CH int32, float, a, 2, 2, FLOAT_TO_INT32_N, FLOAT_TO_INT32_INIT +%endif INIT_YMM avx CONV float, int32, u, 2, 2, INT32_TO_FLOAT_N, INT32_TO_FLOAT_INIT diff --git a/libswresample/x86/audio_convert_init.c b/libswresample/x86/audio_convert_init.c index acb97d8..b38889f 100644 --- a/libswresample/x86/audio_convert_init.c +++ b/libswresample/x86/audio_convert_init.c @@ -117,7 +117,7 @@ MULTI_CAPS_FUNC(SSE2, sse2) if( out_fmt == AV_SAMPLE_FMT_S32 && in_fmt == AV_SAMPLE_FMT_FLTP) ac->simd_f = ff_pack_6ch_float_to_int32_a_sse2; } - if(channels == 8) { + if(HAVE_ALIGNED_STACK && channels == 8) { if( out_fmt == AV_SAMPLE_FMT_FLT && in_fmt == AV_SAMPLE_FMT_FLTP || out_fmt == AV_SAMPLE_FMT_S32 && in_fmt == AV_SAMPLE_FMT_S32P) ac->simd_f = ff_pack_8ch_float_to_float_a_sse2; if( out_fmt == AV_SAMPLE_FMT_FLT && in_fmt == AV_SAMPLE_FMT_S32P) @@ -147,7 +147,7 @@ MULTI_CAPS_FUNC(SSE2, sse2) if( out_fmt == AV_SAMPLE_FMT_S32 && in_fmt == AV_SAMPLE_FMT_FLTP) ac->simd_f = ff_pack_6ch_float_to_int32_a_avx; } - if(channels == 8) { + if(HAVE_ALIGNED_STACK && channels == 8) { if( out_fmt == AV_SAMPLE_FMT_FLT && in_fmt == AV_SAMPLE_FMT_FLTP || out_fmt == AV_SAMPLE_FMT_S32 && in_fmt == AV_SAMPLE_FMT_S32P) ac->simd_f = ff_pack_8ch_float_to_float_a_avx; if( out_fmt == AV_SAMPLE_FMT_FLT && in_fmt == AV_SAMPLE_FMT_S32P) |