无法为armv7和armv7s编译FFMpeg

时间:2014-03-18 18:10:44

标签: ios iphone ffmpeg armv7

我已经尝试了几个最新的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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

./configure --disable-asm将摆脱此错误。它禁止在整个电路板上使用内联汇编代码,因此请注意性能/电池消耗。