kewlbear / FFmpeg-iOS-build-script

Shell scripts to build FFmpeg for iOS and tvOS
3.03k stars 897 forks source link

arm64 error #90

Closed wingfordream closed 7 years ago

wingfordream commented 7 years ago

when i build arm64,has a error:

INSTALL libavdevice/libavdevice.a INSTALL libavfilter/libavfilter.a INSTALL libavformat/libavformat.a AS libavcodec/aarch64/h264idct_neon.o CC libavcodec/aarch64/h264pred_init.o AS libavcodec/aarch64/h264pred_neon.o

:8:21: error: expected compatible register, symbol or integer in range [0, 4095] add x7, x7, scan8+16+(0)@PAGEOFF ^ src/libavcodec/aarch64/h264idct_neon.S:165:9: note: while in macro instantiation movrel x7, scan8+16 ^ make: *** [libavcodec/aarch64/h264idct_neon.o] Error 1 make: *** Waiting for unfinished jobs.... CC libavcodec/aarch64/h264qpel_init_aarch64.o why?
kewlbear commented 7 years ago

Which version of Xcode are you using? Did you just run build-ffmpeg.sh arm64? Did you modify the script?

wingfordream commented 7 years ago

Xcode 8.1.I run build-ffmpeg.sh armv7 x86_64 that is ok,but run build-ffmpeg.shto build all is failed.I just modify the directory SOURCE!

kewlbear commented 7 years ago

Which version of ffmpeg are you using?

wingfordream commented 7 years ago

the latest, 3.2.2!

kewlbear commented 7 years ago

Just finished building ffmpeg 3.2.2 successfully on my mac. Did you modify the source?

wingfordream commented 7 years ago

just modify SOURCE="ffmpeg-3.2" !

kewlbear commented 7 years ago

I mean the FFmpeg source. Anyway, what is the output if you run xcrun --sdk iphoneos clang --version.

wingfordream commented 7 years ago

Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

wingfordream commented 7 years ago

build arm64,I have to --disable asm!but i had installed yasm!

kewlbear commented 7 years ago

My build log follows (replaced personal info with ...):

$ ./build-ffmpeg.sh 
FFmpeg source not found. Trying to download...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 9386k  100 9386k    0     0  1058k      0  0:00:08  0:00:08 --:--:-- 1015k
building arm64...
install prefix            /Users/.../thin/arm64
source path               /Users/.../ffmpeg-3.2.2
C compiler                xcrun -sdk iphoneos clang
C library                 
host C compiler           gcc
host C library            
ARCH                      aarch64 (generic)
big-endian                no
runtime cpu detection     yes
NEON enabled              yes
VFP enabled               yes
debug symbols             no
strip symbols             yes
optimize for size         no
optimizations             yes
static                    yes
shared                    no
postprocessing support    no
new filter support        yes
network support           yes
threading support         pthreads
safe bitstream reader     yes
SDL2 support              no
opencl enabled            no
JNI support               no
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          yes
makeinfo supports HTML    no

Enabled programs:

External libraries:
bzlib            iconv            videotoolbox         zlib

External libraries providing hardware acceleration:
audiotoolbox         videotoolbox_hwaccel

Libraries:
avcodec          avfilter         avutil           swscale
avdevice         avformat         swresample

Enabled decoders:
aac          atrac1           escape130        motionpixels         pcm_s64le            subrip
...

Enabled encoders:
a64multi         cinepak          ljpeg            pcm_s16le_planar     prores_ks            v210
...

Enabled hwaccels:
h263_videotoolbox    h264_videotoolbox    mpeg1_videotoolbox       mpeg2_videotoolbox       mpeg4_videotoolbox

Enabled parsers:
aac          dca              dvdsub           hevc             png              vp3
aac_latm         dirac            flac             mjpeg            pnm              vp8
ac3          dnxhd            g729             mlp              rv30             vp9
adx          dpx              gsm              mpeg4video           rv40
bmp          dvaudio          h261             mpegaudio            tak
cavsvideo        dvbsub           h263             mpegvideo            vc1
cook             dvd_nav          h264             opus             vorbis

Enabled demuxers:
aa           dcstr            image2_alias_pix     mm               pcm_u24be            tak
...

Enabled muxers:
a64          eac3             image2           mpeg2dvd         pcm_s24le            spdif
...

Enabled protocols:
async            ffrtmphttp       http             mmst             srtp             udplite
cache            file             httpproxy        pipe             subfile          unix
concat           ftp              icecast          rtmp             tcp
crypto           gopher           md5              rtmpt            tee
data             hls              mmsh             rtp              udp

Enabled filters:
abench           asetnsamples         crop             hdcd             paletteuse           signalstats
...

Enabled bsfs:
aac_adtstoasc        dump_extradata       imx_dump_header      mov2textsub          noise            vp9_superframe
chomp            h264_mp4toannexb     mjpeg2jpeg           mp3_header_decompress    remove_extradata
dca_core         hevc_mp4toannexb     mjpega_dump_header       mpeg4_unpack_bframes     text2movsub

Enabled indevs:
avfoundation         lavfi

Enabled outdevs:

License: LGPL version 2.1 or later
Creating config.mak, config.h, and doc/config.texi...

WARNING: pkg-config not found, library detection may fail.
CC  libavdevice/alldevices.o
...
INSTALL Users/.../ffmpeg-3.2.2/libavutil/lzo.h
INSTALL libavutil/avconfig.h
INSTALL libavutil/ffversion.h
INSTALL libavutil/libavutil.pc
AR  libavdevice/libavdevice.a
AR  libavfilter/libavfilter.a
AR  libavformat/libavformat.a
CC  libavcodec/012v.o
...
CC  libavcodec/aarch64/h264chroma_init_aarch64.o
AS  libavcodec/aarch64/h264cmc_neon.o
CC  libavcodec/aarch64/h264dsp_init_aarch64.o
AS  libavcodec/aarch64/h264dsp_neon.o
src/libavcodec/aarch64/h264dsp_init_aarch64.c:84:38: warning: incompatible pointer types assigning to 'h264_weight_func' (aka 'void (*)(unsigned char *,
      long, int, int, int, int)') from 'void (uint8_t *, int, int, int, int, int)' (aka 'void (unsigned char *, int, int, int, int, int)')
      [-Wincompatible-pointer-types]
        c->weight_h264_pixels_tab[0] = ff_weight_h264_pixels_16_neon;
                                     ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libavcodec/aarch64/h264dsp_init_aarch64.c:85:38: warning: incompatible pointer types assigning to 'h264_weight_func' (aka 'void (*)(unsigned char *,
      long, int, int, int, int)') from 'void (uint8_t *, int, int, int, int, int)' (aka 'void (unsigned char *, int, int, int, int, int)')
      [-Wincompatible-pointer-types]
        c->weight_h264_pixels_tab[1] = ff_weight_h264_pixels_8_neon;
                                     ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libavcodec/aarch64/h264dsp_init_aarch64.c:86:38: warning: incompatible pointer types assigning to 'h264_weight_func' (aka 'void (*)(unsigned char *,
      long, int, int, int, int)') from 'void (uint8_t *, int, int, int, int, int)' (aka 'void (unsigned char *, int, int, int, int, int)')
      [-Wincompatible-pointer-types]
        c->weight_h264_pixels_tab[2] = ff_weight_h264_pixels_4_neon;
                                     ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libavcodec/aarch64/h264dsp_init_aarch64.c:88:40: warning: incompatible pointer types assigning to 'h264_biweight_func' (aka 'void (*)(unsigned char *,
      unsigned char *, long, int, int, int, int, int)') from 'void (uint8_t *, uint8_t *, int, int, int, int, int, int)' (aka 'void (unsigned char *,
      unsigned char *, int, int, int, int, int, int)') [-Wincompatible-pointer-types]
        c->biweight_h264_pixels_tab[0] = ff_biweight_h264_pixels_16_neon;
                                       ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libavcodec/aarch64/h264dsp_init_aarch64.c:89:40: warning: incompatible pointer types assigning to 'h264_biweight_func' (aka 'void (*)(unsigned char *,
      unsigned char *, long, int, int, int, int, int)') from 'void (uint8_t *, uint8_t *, int, int, int, int, int, int)' (aka 'void (unsigned char *,
      unsigned char *, int, int, int, int, int, int)') [-Wincompatible-pointer-types]
        c->biweight_h264_pixels_tab[1] = ff_biweight_h264_pixels_8_neon;
                                       ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libavcodec/aarch64/h264dsp_init_aarch64.c:90:40: warning: incompatible pointer types assigning to 'h264_biweight_func' (aka 'void (*)(unsigned char *,
      unsigned char *, long, int, int, int, int, int)') from 'void (uint8_t *, uint8_t *, int, int, int, int, int, int)' (aka 'void (unsigned char *,
      unsigned char *, int, int, int, int, int, int)') [-Wincompatible-pointer-types]
        c->biweight_h264_pixels_tab[2] = ff_biweight_h264_pixels_4_neon;
                                       ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 warnings generated.
AS  libavcodec/aarch64/h264idct_neon.o
CC  libavcodec/aarch64/h264pred_init.o
AS  libavcodec/aarch64/h264pred_neon.o
CC  libavcodec/aarch64/h264qpel_init_aarch64.o
AS  libavcodec/aarch64/h264qpel_neon.o
...
CC  libavutil/xtea.o
INSTALL libavdevice/libavdevice.a
INSTALL libavfilter/libavfilter.a
INSTALL libavformat/libavformat.a
AR  libavcodec/libavcodec.a
AR  libswresample/libswresample.a
AR  libswscale/libswscale.a
AR  libavutil/libavutil.a
INSTALL libswresample/libswresample.a
INSTALL libswscale/libswscale.a
INSTALL libavutil/libavutil.a
INSTALL libavcodec/libavcodec.a
building armv7...
Gofive commented 7 years ago

@kewlbear hi, ffmpeg 2.1.4 . build arm64,meet the err

CC libavcodec/asvdec.o

:2162:11: error: branch target out of range b vp8_put_epel_h6_armv6 + 4 ^ :2181:11: error: branch target out of range b vp8_put_epel_v6_armv6 + 4 ^ :2200:11: error: branch target out of range b vp8_put_epel_h6_armv6 + 4 ^ :2219:11: error: branch target out of range b vp8_put_epel_v6_armv6 + 4 ^ :2238:11: error: branch target out of range b vp8_put_epel_h4_armv6 + 4 ^ :2257:11: error: branch target out of range b vp8_put_epel_v4_armv6 + 4 ^ :2276:11: error: branch target out of range b vp8_put_epel_h6_armv6 + 4 ^ :2295:11: error: branch target out of range b vp8_put_epel_v6_armv6 + 4 ^ :2314:11: error: branch target out of range b vp8_put_epel_h4_armv6 + 4 ^ :2333:11: error: branch target out of range b vp8_put_epel_v4_armv6 + 4 ^ :2353:11: error: branch target out of range b vp8_put_bilin_h_armv6 + 4 ^ :2372:11: error: branch target out of range b vp8_put_bilin_v_armv6 + 4 ^ :2391:11: error: branch target out of range b vp8_put_bilin_h_armv6 + 4 ^ :2410:11: error: branch target out of range b vp8_put_bilin_v_armv6 + 4 ^ :2429:11: error: branch target out of range b vp8_put_bilin_h_armv6 + 4 ^ :2448:11: error: branch target out of range b vp8_put_bilin_v_armv6 + 4 ^ make: *** [libavcodec/arm/vp8dsp_armv6.o] Error 1