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

Michael Niedermayer git at videolan.org
Sun Dec 23 19:28:11 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Dec 20 17:09:09 2012 +0100| [3e1577533318e2ebd6eb7ea632f1322ed4df3035] | committer: Michael Niedermayer

x86/ac3dsp_init: try to workaround ICC failure.

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.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3e1577533318e2ebd6eb7ea632f1322ed4df3035
---

 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



More information about the ffmpeg-cvslog mailing list