aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Oliver <protogonoi@gmail.com>2014-04-10 17:19:11 +1000
committerMichael Niedermayer <michaelni@gmx.at>2014-04-10 17:47:22 +0200
commitd1e6e5c88733e268d8a099191602d1aefe858a45 (patch)
tree08145e78e51cfeb34cfe1991b4c3500daa914a7a
parent476471495265a5bfa52f1235aa432d7409e28136 (diff)
downloadffmpeg-d1e6e5c88733e268d8a099191602d1aefe858a45.tar.gz
avcodec/x86: Exclude broken get_cabac under icl.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/x86/cabac.h5
-rw-r--r--libavcodec/x86/h264_i386.h4
2 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/x86/cabac.h b/libavcodec/x86/cabac.h
index a1c489e2d8..7c816dfd79 100644
--- a/libavcodec/x86/cabac.h
+++ b/libavcodec/x86/cabac.h
@@ -28,7 +28,8 @@
#include "config.h"
#if (defined(__i386) && defined(__clang__) && (__clang_major__<2 || (__clang_major__==2 && __clang_minor__<10)))\
- || ( !defined(__clang__) && defined(__llvm__) && __GNUC__==4 && __GNUC_MINOR__==2 && __GNUC_PATCHLEVEL__<=1)
+ || ( !defined(__clang__) && defined(__llvm__) && __GNUC__==4 && __GNUC_MINOR__==2 && __GNUC_PATCHLEVEL__<=1)\
+ || (defined(__INTEL_COMPILER) && defined(_MSC_VER))
# define BROKEN_COMPILER 1
#else
# define BROKEN_COMPILER 0
@@ -206,7 +207,7 @@ static av_always_inline int get_cabac_inline_x86(CABACContext *c,
);
return bit & 1;
}
-#endif /* HAVE_7REGS */
+#endif /* HAVE_7REGS && !BROKEN_COMPILER */
#if !BROKEN_COMPILER
#define get_cabac_bypass_sign get_cabac_bypass_sign_x86
diff --git a/libavcodec/x86/h264_i386.h b/libavcodec/x86/h264_i386.h
index 9d811f07b7..92c4b09dec 100644
--- a/libavcodec/x86/h264_i386.h
+++ b/libavcodec/x86/h264_i386.h
@@ -38,7 +38,7 @@
//FIXME use some macros to avoid duplicating get_cabac (cannot be done yet
//as that would make optimization work hard)
-#if HAVE_7REGS
+#if HAVE_7REGS && !BROKEN_COMPILER
#define decode_significance decode_significance_x86
static int decode_significance_x86(CABACContext *c, int max_coeff,
uint8_t *significant_coeff_ctx_base,
@@ -200,7 +200,7 @@ static int decode_significance_8x8_x86(CABACContext *c,
);
return coeff_count;
}
-#endif /* HAVE_7REGS && !defined(BROKEN_RELOCATIONS) */
+#endif /* HAVE_7REGS && BROKEN_COMPILER */
#endif /* HAVE_INLINE_ASM */
#endif /* AVCODEC_X86_H264_I386_H */