Skip to content

Can't Compile for Android X86 and x86_64, Compiled for armv7a& arm64_v8a

I'm trying to compile this project Project

Below are the scripts using to compile x264

compile-x264.sh

do-compile-x264.sh

I successfully compiled for armv7a& arm64_v8a but not for X86 and x86_64

Below is log of compilation

==================== [*] check archs

FF_ALL_ARCHS = armv7a arm64 x86 x86_64 FF_ACT_ARCHS = x86_64


[*] make NDK standalone toolchain

build on Linux x86_64 ANDROID_NDK=/home/linslouis/Documents/android-ndk-r14b IJK_NDK_REL=14.1.3816874 NDKr14.1.3816874 detected


[*] make NDK standalone toolchain

build on Linux x86_64 ANDROID_NDK=/home/linslouis/Documents/android-ndk-r14b IJK_NDK_REL=14.1.3816874 NDKr14.1.3816874 detected


[*] check x264 env

FF_PREFIX = /home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/output


[*] configurate x264

./configure --prefix=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/output --enable-static --disable-shared --enable-pic --enable-strip --disable-asm --disable-cli --cross-prefix=x86_64-linux-android- --host=arm-linux --sysroot=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/toolchain/sysroot Unknown option --disable-shared, ignored platform: ARM byte order: little-endian system: LINUX cli: no libx264: internal shared: no static: yes asm: no interlaced: yes avs: no lavf: no ffms: no mp4: no gpl: yes thread: posix opencl: yes filters: crop select_every lto: no debug: no gprof: no strip: yes PIC: yes bit depth: all chroma format: all

You can run 'make' or 'make fprofiled' now.


[*] compile x264

dependency file generation... make: Nothing to be done for `depend'. make x86_64-linux-android-gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -Wall -I. -I. --sysroot=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/toolchain/sysroot -std=gnu99 -D_GNU_SOURCE -fPIC -fomit-frame-pointer -fno-tree-vectorize -fvisibility=hidden -c common/osdep.c -o common/osdep.o x86_64-linux-android-gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -Wall -I. -I. --sysroot=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/toolchain/sysroot -std=gnu99 -D_GNU_SOURCE -fPIC -fomit-frame-pointer -fno-tree-vectorize -fvisibility=hidden -c common/base.c -o common/base.o x86_64-linux-android-gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -Wall -I. -I. --sysroot=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/toolchain/sysroot -std=gnu99 -D_GNU_SOURCE -fPIC -fomit-frame-pointer -fno-tree-vectorize -fvisibility=hidden -c common/cpu.c -o common/cpu.o x86_64-linux-android-gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -Wall -I. -I. --sysroot=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/toolchain/sysroot -std=gnu99 -D_GNU_SOURCE -fPIC -fomit-frame-pointer -fno-tree-vectorize -fvisibility=hidden -c common/tables.c -o common/tables.o x86_64-linux-android-gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -Wall -I. -I. --sysroot=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/toolchain/sysroot -std=gnu99 -D_GNU_SOURCE -fPIC -fomit-frame-pointer -fno-tree-vectorize -fvisibility=hidden -c encoder/api.c -o encoder/api.o x86_64-linux-android-gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -Wall -I. -I. --sysroot=/home/linslouis/Documents/ijkplayer-master/ijkplayer-master/android/contrib/build/x264-x86_64/toolchain/sysroot -std=gnu99 -D_GNU_SOURCE -fPIC -fomit-frame-pointer -fno-tree-vectorize -fvisibility=hidden -c common/mc.c -o common/mc-8.o -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 In file included from common/common.h:809:0, from common/mc.c:27: common/rectangle.h: In function 'x264_macroblock_cache_rect': common/rectangle.h:84:9: error: unknown type name 'v4si' v4si v16 = {v,v,v,v}; ^ common/rectangle.h:84:9: warning: excess elements in scalar initializer common/rectangle.h:84:9: warning: (near initialization for 'v16') common/rectangle.h:84:9: warning: excess elements in scalar initializer common/rectangle.h:84:9: warning: (near initialization for 'v16') common/rectangle.h:84:9: warning: excess elements in scalar initializer common/rectangle.h:84:9: warning: (near initialization for 'v16') common/rectangle.h:86:9: error: can't convert between vector values of different size M128( d+s0+0 ) = (__m128)v16; ^ common/rectangle.h:87:9: error: can't convert between vector values of different size M128( d+s1+0 ) = (__m128)v16; ^ common/rectangle.h:89:9: error: can't convert between vector values of different size M128( d+s2+0 ) = (__m128)v16; ^ common/rectangle.h:90:9: error: can't convert between vector values of different size M128( d+s3+0 ) = (__m128)v16; ^ make: *** [common/mc-8.o] Error 1

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information