[FFmpeg-devel] [PATCH] x86/ac3dsp_init: try to workaround ICC failure.

Michael Niedermayer michaelni at gmx.at
Thu Dec 20 17:19:04 CET 2012


The asm code is not valid for older compilers as it uses too many
operands, ICC on x86_32 seems affected by this.
This patch disables the affected code for ICC on x86_32 and should
make it compileable again.
A better fix would be to use fewer operands or to change this code
to yasm, later is being worked on AFAIK so this is a temporary
solution.

This patch is untested due to lack of ICC here.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
 libavcodec/x86/ac3dsp_init.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/x86/ac3dsp_init.c b/libavcodec/x86/ac3dsp_init.c
index 291bda9..e2a190e 100644
--- a/libavcodec/x86/ac3dsp_init.c
+++ b/libavcodec/x86/ac3dsp_init.c
@@ -51,6 +51,11 @@ extern void ff_ac3_extract_exponents_3dnow(uint8_t *exp, int32_t *coef, int nb_c
 extern void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs);
 extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs);
 
+#if ARCH_X86_32 && defined(__INTEL_COMPILER)
+#       undef HAVE_7REGS
+#       define HAVE_7REGS 0
+#endif
+
 #if HAVE_SSE_INLINE && HAVE_7REGS
 
 #define IF1(x) x
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list