为iPhone编译ffmpeg的错误

问题描述:

我在OS X Lion上,我试图为iPhone编译ffmpeg的armv7库。我使用的是ffmpeg 0.10。为iPhone编译ffmpeg的错误

这里是我的配置行:

./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$ 

任何想法?谢谢!

内联汇编程序有问题。我不知道为什么,但编译ffmpeg(配置行中的--disable-asm)时必须禁用汇编优化。

然而,我没有尝试尚未编译此版本的ffmpeg。 =>我确实尝试编译FFmpeg v0.10并禁用asm,它可以工作。不过,我认为它会在设备上变慢。

你需要有一个很好的理由使用的ffmpeg库中的iOS应用程序的性能会比已经提供了默认的iOS硬件的H.264解决方案非常差。此外,在iOS应用中包含LGPL库也存在真正的法律问题,请参阅this answer了解更多信息。