tce-load -i compiletc cmake https://bitbucket.org/multicoreware/x265/downloads/x265_3.3.tar.gz cd x265_3.3 patch -Np1 -i ../x265-arm-asm-primitives.patch edit source/CMakeLists.txt set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC -> set(ARM_ARGS -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon -marm -fPIC mkdir build_x265 cd build_x265 cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE ../source find . -name flags.make -type f -exec sed -i 's/-O3/-Os/g' {} \; find . -name link.txt -type f -exec sed -i 's/-O3/-Os/g' {} \; [-fno-rtti fails] make [4m 5.87s] sudo make install [ 1%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o cd /usr/src/x265_3.3/build_x265/encoder && /usr/local/bin/c++ -DEXPORT_C_API=1 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ARM=1 -DX265_DEPTH=8 -DX265_NS=x265 -D__STDC_LIMIT_MACROS=1 -I/usr/src/x265_3.3/source/. -I/usr/src/x265_3.3/source/common -I/usr/src/x265_3.3/source/encoder -I/usr/src/x265_3.3/build_x265 -O3 -DNDEBUG -Wall -Wextra -Wshadow -Wno-class-memaccess -std=gnu++98 -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC -Wno-array-bounds -ffast-math -fno-exceptions -Wno-uninitialized -o CMakeFiles/encoder.dir/analysis.cpp.o -c /usr/src/x265_3.3/source/encoder/analysis.cpp [ 24%] Building CXX object common/CMakeFiles/common.dir/arm/asm-primitives.cpp.o cd /usr/src/x265_3.3/build_x265/common && /usr/local/bin/c++ -DEXPORT_C_API=1 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ARM=1 -DX265_DEPTH=8 -DX265_NS=x265 -D__STDC_LIMIT_MACROS=1 -I/usr/src/x265_3.3/source/. -I/usr/src/x265_3.3/source/common -I/usr/src/x265_3.3/source/encoder -I/usr/src/x265_3.3/build_x265 -O3 -DNDEBUG -Wall -Wextra -Wshadow -Wno-class-memaccess -std=gnu++98 -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC -Wno-array-bounds -ffast-math -fno-exceptions -o CMakeFiles/common.dir/arm/asm-primitives.cpp.o -c /usr/src/x265_3.3/source/common/arm/asm-primitives.cpp In file included from /usr/src/x265_3.3/source/common/primitives.h:34, from /usr/src/x265_3.3/source/common/arm/asm-primitives.cpp:28: /usr/src/x265_3.3/source/common/arm/asm-primitives.cpp: In function 'void x265::setupAssemblyPrimitives(x265::EncoderPrimitives&, int)': : error: incompatible types in assignment of 'void(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)' {aka 'void(const short int*, const short int*, unsigned char*, int, int, int)'} to 'void (* [2])(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)' {aka 'void (* [2])(const short int*, const short int*, unsigned char*, int, int, int)'} /usr/src/x265_3.3/source/common/cpu.h:30:28: note: in definition of macro 'PFX3' 30 | #define PFX3(prefix, name) prefix ## _ ## name | ^~~~~~ /usr/src/x265_3.3/source/common/cpu.h:32:28: note: in expansion of macro 'PFX2' 32 | #define PFX(name) PFX2(X265_NS, name) | ^~~~ /usr/src/x265_3.3/source/common/cpu.h:32:33: note: in expansion of macro 'X265_NS' 32 | #define PFX(name) PFX2(X265_NS, name) | ^~~~~~~ /usr/src/x265_3.3/source/common/arm/asm-primitives.cpp:51:36: note: in expansion of macro 'PFX' 51 | p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); | ^~~