[x265] x265_3.3 build fails on RPi4

John Frankish john.frankish at outlook.com
Fri May 1 14:09:55 CEST 2020


Trying to build x265_3.3 using gcc-9.2 on an RPi4 fails.

Using
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE ../source

..fails as below (and also fails if I remove -DHAVE_ARMV6=1)
If I compile using armv6 cflags and remove -DHAVE_NEON it still fails with the same error

Is it possible that it is trying to use 64-bit neon instructions?

----


[  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_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ (truncated)
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)':        
<command-line>: error: incompatible types in assignment of 'void(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)' {aka 'vo
/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);                                                                                
      |                                    ^~~                   


More information about the x265-devel mailing list