[FFmpeg-cvslog] avcodec/x86/mlpdsp: Only use asm when non-local inline asm lables are supported

Matt Oliver git at videolan.org
Wed Mar 19 00:35:44 CET 2014


ffmpeg | branch: master | Matt Oliver <protogonoi at gmail.com> | Tue Mar 18 15:29:14 2014 +1100| [b2d3a45598ef8f8aaee489541c6914f960e53db4] | committer: Michael Niedermayer

avcodec/x86/mlpdsp: Only use asm when non-local inline asm lables are supported

This is part of the patch-set for intel C inline asm on windows support

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

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

 configure               |    3 +++
 libavcodec/x86/mlpdsp.c |    4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 8b67be7..3939cfa 100755
--- a/configure
+++ b/configure
@@ -1690,6 +1690,7 @@ TOOLCHAIN_FEATURES="
     gnu_windres
     ibm_asm
     inline_asm_labels
+    inline_asm_nonlocal_labels
     pragma_deprecated
     rsync_contimeout
     symver_asm_label
@@ -4178,6 +4179,8 @@ od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
 
 check_inline_asm inline_asm_labels '"1:\n"'
 
+check_inline_asm inline_asm_nonlocal_labels '"Label:\n"'
+
 if enabled aarch64; then
     # internal assembler in clang 3.3 does not support this instruction
     enabled neon && check_insn neon 'ext   v0.8B, v0.8B, v1.8B, #1'
diff --git a/libavcodec/x86/mlpdsp.c b/libavcodec/x86/mlpdsp.c
index 94849b7..b473625 100644
--- a/libavcodec/x86/mlpdsp.c
+++ b/libavcodec/x86/mlpdsp.c
@@ -26,7 +26,7 @@
 #include "libavcodec/mlpdsp.h"
 #include "libavcodec/mlp.h"
 
-#if HAVE_7REGS && HAVE_INLINE_ASM
+#if HAVE_7REGS && HAVE_INLINE_ASM && HAVE_INLINE_ASM_NONLOCAL_LABELS
 
 extern char ff_mlp_firorder_8;
 extern char ff_mlp_firorder_7;
@@ -178,7 +178,7 @@ static void mlp_filter_channel_x86(int32_t *state, const int32_t *coeff,
 
 av_cold void ff_mlpdsp_init_x86(MLPDSPContext *c)
 {
-#if HAVE_7REGS && HAVE_INLINE_ASM
+#if HAVE_7REGS && HAVE_INLINE_ASM && HAVE_INLINE_ASM_NONLOCAL_LABELS
     int cpu_flags = av_get_cpu_flags();
     if (INLINE_MMX(cpu_flags))
         c->mlp_filter_channel = mlp_filter_channel_x86;



More information about the ffmpeg-cvslog mailing list