Closed newcapricasean closed 6 months ago
I believe the primary culprit was that it was not identifying my processor, and therefore, not enabling any capabilities for it. See below...
x265 [info]: HEVC encoder version 3.5+95-38cf1c379 x265 [info]: build info [Windows][GCC 10.0.0][64 bit] 8bit x265 [info]: using cpu capabilities: None <<<
As soon as I had specified the processor type, it went to...
x265 [info]: HEVC encoder version 3.5+95-38cf1c379 x265 [info]: build info [Windows][GCC 10.0.0][64 bit] 8bit x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 <
Now, again, with the stable=n, and it is the same source from multicoreware's master branch, with the compiled FFMPEG, it came out...
x265 [info]: HEVC encoder version 3.5+95-38cf1c379 x265 [info]: build info [Windows][GCC 10.0.0][64 bit] 8bit+10bit+12bit x265 [info]: using cpu capabilities: None <<<
... again...
Was it the cnver2 or the CMAKE_SYSTEM_PROCESSOR that did it?
Trying to compile version n7.0 even with the stable=y has this issue for me. No CPU capabilities with x265.
I see the following when encoding with the 10-bit encoder: x265 [info]: HEVC encoder version 3.6+1-2f95fe7c8 x265 [info]: build info [Windows][GCC 10.2.0][64 bit][noasm] 10bit x265 [info]: using cpu capabilities: none!
Ok, I noticed the OP didn't have the [noasm] issue so I explicitly added "-DENABLE_ASSEMBLY=ON" to all the cmake_params for build_libx265() and now I have CPU capabilities. Maybe a separate issue needs to be raised for this?
When I compiled the FFMPEG, without using the "stable=y" option, and therefore, the "stable=n" option, it resulted in x265 not using any cpu capabilities. I believe I know the problem and resolution. I had the same problem, the first time I compiled x265, from multicoreware, and resolved it, with that x265 CLI. The problem was that I needed to have the following in the cmake file... I adapted what was on multicoreware's website, to my own computer setup, so options for it to autodetect, or select it somehow, would need to be considered, in the script, to be suitable for those with different configurations...
specify processor type
SET(CMAKE_SYSTEM_PROCESSOR amd64)
this one is important
SET(CMAKE_SYSTEM_NAME Windows)
specify the cross compiler
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) SET(CMAKE_ASM_YASM_COMPILER yasm)
SET(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static -march=znver2 -O2 -mtune=znver2 -O2 -s") SET(CMAKE_C_FLAGS "-static-libgcc -static-libstdc++ -static -march=znver2 -O2 -mtune=znver2 -O2 -s") SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-static-libgcc -static-libstdc++ -static -march=znver2 -O2 -mtune=znver2 -O2 -s") SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-static-libgcc -static-libstdc++ -static -march=znver2 -O2 -mtune=znver2 -O2 -s") <<<