我尝试了几个最新的FFMpeg版本(2.1.4和2.2 rc2),但由于以下错误而无法编译:
INSTALL libavformat/libavformat.a
AS libavcodec/arm/vp8dsp_armv6.o
AR libavresample/libavresample.a
CC libavcodec/ass_split.o
CC libavcodec/assdec.o
CC libavcodec/asv.o
CC libavcodec/asvdec.o
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2163:11: error: branch target out of range
b vp8_put_epel_h6_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2181:11: error: branch target out of range
b vp8_put_epel_v6_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2199:11: error: branch target out of range
b vp8_put_epel_h6_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2217:11: error: branch target out of range
b vp8_put_epel_v6_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2235:11: error: branch target out of range
b vp8_put_epel_h4_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2253:11: error: branch target out of range
b vp8_put_epel_v4_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2271:11: error: branch target out of range
b vp8_put_epel_h6_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2289:11: error: branch target out of range
b vp8_put_epel_v6_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2307:11: error: branch target out of range
b vp8_put_epel_h4_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2325:11: error: branch target out of range
b vp8_put_epel_v4_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2344:11: error: branch target out of range
b vp8_put_bilin_h_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2362:11: error: branch target out of range
b vp8_put_bilin_v_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2380:11: error: branch target out of range
b vp8_put_bilin_h_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2398:11: error: branch target out of range
b vp8_put_bilin_v_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2416:11: error: branch target out of range
b vp8_put_bilin_h_armv6 + 4
^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2434:11: error: branch target out of range
b vp8_put_bilin_v_armv6 + 4
^
make: *** [libavcodec/arm/vp8dsp_armv6.o] Error 1
问题在于libavcodec库。我可以编译arm64和x86_64,但不能编译armv7和armv7s。
我使用以下构建脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script
任何想法?
./configure --disable-asm
将消除此错误。它禁止使用内联汇编代码,所以要注意性能和电池消耗。