On 2012-10-05 17:34:57 +0200, Janne Grunau wrote: > 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"'
This has of course the the obvious problem of never disabling neon on arm hence the required use of cpuflags. It probably should check as if it can assemble NEON instructions and use HAVE_NEON_EXTERNAL instead of HAVE_NEON for the external asm. Should probably be done for the other arch/extensons checks too. Using the save HAVE_*_INLINE symbols in ff_get_cpu_flags_arm() is atm unfortunately not possible since cpuflags allows only to mask flags out. Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
