Losko
18th February 2022, 11:22
I've made a series of HEVC encoding using x265 on my home laptop, now equipped with two OSs (LMDE (64 bit) (https://www.linuxmint.com/) and Haiku (64bit) (https://www.haiku-os.org/)), both with fresh updates.
Source content were the two files provided by Ben here (SolLevante and TearsOfSteel) (https://forum.doom9.org/showthread.php?p=1853595#post1853595) and the command line was as simple as:
x265 --preset slow --crf 22 --input filename --aq-mode 3 --selective-sao 2 --pools 4 --output output.265
On my LMDE (which is Debian 10 (Buster) based) I used two kernel versions: 4 and 5, both provided in repos through synaptic, and two x265 releases as comparison.
linux 4 means:
Linux debbieb1 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux
linux 5 means:
Linux debbieb1 5.10.0-0.bpo.9-amd64 #1 SMP Debian 5.10.70-1~bpo10+1 (2021-10-10) x86_64 GNU/Linux
haikuDx means:
Haiku shredder 1 hrev55874 Feb 14 2022 09:04:41 x86_64 x86_64 Haiku
(this is a nightly build - Dx is the kernel debug level 0 (no debug) or 2 (max debug))
On the other hand, x265 3.3 means:
x265 [info]: HEVC encoder version 3.3+10-gd4b5ab60b
x265 [info]: build info [Linux][GCC 8.3.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
and x265 3.4 means (on linux):
x265 [info]: HEVC encoder version 3.4.1+1-1827b372c
x265 [info]: build info [Linux][GCC 8.3.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
and (on haiku):
x265 [info]: HEVC encoder version 3.4.1+1-1827b372c
x265 [info]: build info [Unk-OS][GCC 11.2.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
(notice the compiler is recent gcc-11.2)
My laptop is equipped with a Core i7 7500u processor (2 cores+HT), with 8 GB (4+4) Kingston DDR4.
Source y4m files were both copied on an USB 3.0 stick, assuring safe access times.
I launched each encoding three times after an OS reboot, then took an average of reported fps stats (stat values were substantially constant, though).
Finally, the numbers:
| x265 3.4 | x265 3.4 | x265 3.3 | x265 3.4 | x265 3.4 |
| haikuD2 | haikuD0 | linux 4 | linux 4 | linux 5 |
-----------------------------------------------------------------------------------------------
Sol Levante | 1.19 fps | 1.20 fps | 1.95 fps | 1.94 fps | 1.78 fps |
-----------------------------------------------------------------------------------------------
Tears Of Steel | 2.19 fps | 2.23 fps | 3.65 fps | 3.66 fps | 2.26 fps |
-----------------------------------------------------------------------------------------------
While it is reassuring the identical performances of x265-3.3 and x265-3.4 on linux4, I find shocking the fall on linux5 - it should be noted that, although linux5 is available on repositories, on Buster the official kernel is still linux4, so maybe the newer kernel never received any fine tuning. I had some expectations on Haiku performances, and they disappointed me. The OS is still in beta (beta4 is expected soon), so I will show these numbers on their forum as well, in the hope they can be helpful.
Source content were the two files provided by Ben here (SolLevante and TearsOfSteel) (https://forum.doom9.org/showthread.php?p=1853595#post1853595) and the command line was as simple as:
x265 --preset slow --crf 22 --input filename --aq-mode 3 --selective-sao 2 --pools 4 --output output.265
On my LMDE (which is Debian 10 (Buster) based) I used two kernel versions: 4 and 5, both provided in repos through synaptic, and two x265 releases as comparison.
linux 4 means:
Linux debbieb1 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux
linux 5 means:
Linux debbieb1 5.10.0-0.bpo.9-amd64 #1 SMP Debian 5.10.70-1~bpo10+1 (2021-10-10) x86_64 GNU/Linux
haikuDx means:
Haiku shredder 1 hrev55874 Feb 14 2022 09:04:41 x86_64 x86_64 Haiku
(this is a nightly build - Dx is the kernel debug level 0 (no debug) or 2 (max debug))
On the other hand, x265 3.3 means:
x265 [info]: HEVC encoder version 3.3+10-gd4b5ab60b
x265 [info]: build info [Linux][GCC 8.3.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
and x265 3.4 means (on linux):
x265 [info]: HEVC encoder version 3.4.1+1-1827b372c
x265 [info]: build info [Linux][GCC 8.3.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
and (on haiku):
x265 [info]: HEVC encoder version 3.4.1+1-1827b372c
x265 [info]: build info [Unk-OS][GCC 11.2.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
(notice the compiler is recent gcc-11.2)
My laptop is equipped with a Core i7 7500u processor (2 cores+HT), with 8 GB (4+4) Kingston DDR4.
Source y4m files were both copied on an USB 3.0 stick, assuring safe access times.
I launched each encoding three times after an OS reboot, then took an average of reported fps stats (stat values were substantially constant, though).
Finally, the numbers:
| x265 3.4 | x265 3.4 | x265 3.3 | x265 3.4 | x265 3.4 |
| haikuD2 | haikuD0 | linux 4 | linux 4 | linux 5 |
-----------------------------------------------------------------------------------------------
Sol Levante | 1.19 fps | 1.20 fps | 1.95 fps | 1.94 fps | 1.78 fps |
-----------------------------------------------------------------------------------------------
Tears Of Steel | 2.19 fps | 2.23 fps | 3.65 fps | 3.66 fps | 2.26 fps |
-----------------------------------------------------------------------------------------------
While it is reassuring the identical performances of x265-3.3 and x265-3.4 on linux4, I find shocking the fall on linux5 - it should be noted that, although linux5 is available on repositories, on Buster the official kernel is still linux4, so maybe the newer kernel never received any fine tuning. I had some expectations on Haiku performances, and they disappointed me. The OS is still in beta (beta4 is expected soon), so I will show these numbers on their forum as well, in the hope they can be helpful.