Gavin Kinsey <[email protected]> writes: > On Wednesday 25 May 2011 18:45:37 Mans Rullgard wrote: >> Signed-off-by: Mans Rullgard <[email protected]> >> --- >> libavutil/arm/intmath.h | 9 +++++++++ >> 1 files changed, 9 insertions(+), 0 deletions(-) >> >> diff --git a/libavutil/arm/intmath.h b/libavutil/arm/intmath.h >> index 5f85bfa..cc3de90 100644 >> --- a/libavutil/arm/intmath.h >> +++ b/libavutil/arm/intmath.h >> @@ -74,6 +74,15 @@ static av_always_inline av_const int16_t >> av_clip_int16_arm(int a) return x; >> } >> >> +#define av_clip_uintp2 av_clip_uintp2_arm >> +static av_always_inline av_const unsigned av_clip_uintp2_arm(int a, int p) >> +{ >> + unsigned x; >> + __asm__ ("usat %0, %2, %1" : "=r"(x) : "r"(a), "i"(p)); >> + return x; >> +} >> + >> + >> #else /* HAVE_ARMV6 */ >> >> #define FASTDIV FASTDIV > > This patch breaks my Android build for ARMv7. The error message I get is: > > libavutil/arm/intmath.h: In function 'av_clip_uintp2_arm': > libavutil/arm/intmath.h:81: warning: asm operand 2 probably doesn't match > constraints > libavutil/arm/intmath.h:81: error: impossible constraint in 'asm'
The compiler isn't inlining the function properly. Get a better compiler. > This is using the Android NDK cross-compiler with the following ffmpeg > configure flags: > --disable-static --enable-shared --disable-ffmpeg --disable-ffprobe --disable- > ffserver --disable-avdevice --disable-avfilter --enable-cross-compile -- > sysroot=/home/gkinsey/src-ext/android-ndk/platforms/android-8/arch-arm -- > target-os=linux --cross-prefix=/home/gkinsey/src-ext/android- > ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux- > androideabi- --disable-symver --arch=arm-v7a --extra-cflags='-march=armv7-a - > mfloat-abi=softfp' --extra-ldflags='-Wl,--fix-cortex-a8' --enable-debug Where did you get the idea for all those flags? -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
