[FFmpeg-cvslog] avcodec/x86: Exclude broken get_cabac under icl.

Matt Oliver git at videolan.org
Thu Apr 10 17:48:34 CEST 2014


ffmpeg | branch: master | Matt Oliver <protogonoi at gmail.com> | Thu Apr 10 17:19:11 2014 +1000| [d1e6e5c88733e268d8a099191602d1aefe858a45] | committer: Michael Niedermayer

avcodec/x86: Exclude broken get_cabac under icl.

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

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

 libavcodec/x86/cabac.h     |    5 +++--
 libavcodec/x86/h264_i386.h |    4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/x86/cabac.h b/libavcodec/x86/cabac.h
index a1c489e..7c816df 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 9d811f0..92c4b09 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 */



More information about the ffmpeg-cvslog mailing list