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@gmx.at>
This commit is contained in:
Matt Oliver 2014-03-18 15:29:14 +11:00 committed by Michael Niedermayer
parent 37c07d4529
commit b2d3a45598
2 changed files with 5 additions and 2 deletions

3
configure vendored
View File

@ -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'

View File

@ -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;