我在OS X Lion上,我正在尝试为iPhone编译ffmpeg的armv7库。我正在使用ffmpeg 0.10。
这是我的配置行:
./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --disable-ffprobe --enable-cross-compile --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk' --enable-pic --disable-avdevice --disable-avfilter --disable-zlib --disable-bzlib
配置运行正常但它以以下结尾:警告:编译器不指示浮点ABI,猜测是否软。
以下是我的结果:
Users-MacBook-Pro:ffmpeg-0.10 user$ make
CC libavformat/4xm.o
CC libavformat/a64.o
CC libavformat/aacdec.o
CC libavformat/ac3dec.o
CC libavformat/act.o
CC libavformat/adtsenc.o
CC libavformat/adxdec.o
CC libavformat/aea.o
CC libavformat/aiffdec.o
CC libavformat/aiffenc.o
CC libavformat/allformats.o
CC libavformat/amr.o
CC libavformat/anm.o
CC libavformat/apc.o
CC libavformat/ape.o
CC libavformat/apetag.o
CC libavformat/applehttp.o
CC libavformat/applehttpproto.o
CC libavformat/asf.o
CC libavformat/asfcrypt.o
error: invalid operand in inline asm: 'ldr ${0:Q}, $1
ldr ${0:R}, $2
'
make: *** [libavformat/asfcrypt.o] Error 1
Users-MacBook-Pro:ffmpeg-0.10 user$
有什么想法吗?谢谢!
答案 0 :(得分:1)
内联汇编程序存在问题。我不知道为什么,但是在编译ffmpeg(配置行中的--disable-asm)时必须禁用汇编程序优化。
但是,我还没有尝试编译这个版本的ffmpeg。 =>我试图编译FFmpeg v0.10与禁用asm,它的工作原理。但是,我认为它会降低设备速度。
答案 1 :(得分:-2)
在iOS应用程序中使用ffmpeg库需要有一个很好的理由,因为与默认情况下已经提供的iOS硬件h.264解决方案相比,性能会非常差。此外,在iOS应用中包含LGPL库存在真正的法律问题,有关详情,请参阅this answer。