aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-20 17:09:09 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-23 19:27:19 +0100
commit3e1577533318e2ebd6eb7ea632f1322ed4df3035 (patch)
tree943625c1aacab2bc60dd257b77661f61fe31df60 /libavcodec
parent768c47ec371331970b4859d1e15e5f355fa73568 (diff)
downloadffmpeg-3e1577533318e2ebd6eb7ea632f1322ed4df3035.tar.gz
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@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/x86/ac3dsp_init.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/x86/ac3dsp_init.c b/libavcodec/x86/ac3dsp_init.c
index 291bda99d2..e2a190e07c 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