This allows a build with -march=armv7-a -mfpu=vfpv3-d16 to still use external NEON asm if the target supports it. Since there is no auto detection of NEON cpuflags have to be used on targets without NEON.
--- configure | 2 +- libavcodec/arm/aac.h | 4 ++-- libavcodec/arm/dca.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure index cd72f36..5819640 100755 --- a/configure +++ b/configure @@ -3016,7 +3016,7 @@ EOF enabled armv6 && check_inline_asm armv6 '"sadd16 r0, r0, r0"' enabled armv6t2 && check_inline_asm armv6t2 '"movt r0, #0"' enabled armvfp && check_inline_asm armvfp '"fadds s0, s0, s0"' - enabled neon && check_inline_asm neon '"vadd.i16 q0, q0, q0"' + enabled neon && check_inline_asm neon_inline '"vadd.i16 q0, q0, q0"' enabled vfpv3 && check_inline_asm vfpv3 '"vmov.f32 s0, #1.0"' check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)' diff --git a/libavcodec/arm/aac.h b/libavcodec/arm/aac.h index 83b5aef..4f143cb 100644 --- a/libavcodec/arm/aac.h +++ b/libavcodec/arm/aac.h @@ -23,7 +23,7 @@ #include "config.h" -#if HAVE_NEON && HAVE_INLINE_ASM +#if HAVE_NEON_INLINE #define VMUL2 VMUL2 static inline float *VMUL2(float *dst, const float *v, unsigned idx, @@ -138,6 +138,6 @@ static inline float *VMUL4S(float *dst, const float *v, unsigned idx, return dst; } -#endif /* HAVE_NEON && HAVE_INLINE_ASM */ +#endif /* HAVE_NEON_INLINE */ #endif /* AVCODEC_ARM_AAC_H */ diff --git a/libavcodec/arm/dca.h b/libavcodec/arm/dca.h index 9b0efc0..2ba27ee 100644 --- a/libavcodec/arm/dca.h +++ b/libavcodec/arm/dca.h @@ -79,7 +79,7 @@ static inline int decode_blockcodes(int code1, int code2, int levels, #endif -#if HAVE_NEON && HAVE_INLINE_ASM && HAVE_ASM_MOD_Y +#if HAVE_NEON_INLINE && HAVE_ASM_MOD_Y #define int8x8_fmul_int32 int8x8_fmul_int32 static inline void int8x8_fmul_int32(float *dst, const int8_t *src, int scale) -- 1.7.12 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel