[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