[x264-devel] Varying of PSNR as a function of thread count

Harald Alvestrand harald at alvestrand.no
Mon Apr 20 11:43:29 CEST 2015


Hello,

I mentioned earlier that I had observed some relationship between x264
PSNR and thread count - with higher thread count damaging PSNR.

I have now run the experiment in a more controlled fashion, and the
table at the bottom of the message is what I found (third column is
PSNR, rest is parameters to the configuration tool).

Example command line used, to give the value of all the other options:

x264 --bitrate 768 --fps 30 --input-res 832x480 --quiet --threads 50
--tune psnr -o
/home/hta/code/compare-codecs/workdir/x264/5ab1c0dda2c1/768/RaceHorses_832x480_30.mkv
video/mpeg_video/RaceHorses_832x480_30.yuv

This seems to indicate a negative impact of up to 1.5 dB PSNR between
1-thread and 64-thread models, with 1-thread being best. Is this as
expected?

(I also observed that the measured CPU time with --threads 1 on my
system is 6.7 seconds, while all configurations with multiple threads
come in above 8.1 seconds, with all configurations above 6 threads
taking 11 CPU-seconds. Is this also as expected?)

These tests are using x264 checkout dd79a61 dated October 20 2014.

Harald

66034759d4fc 31.318980 31.319 --threads 1 --tune psnr
ec7c37fc81df 15.331980 31.232 --threads 2 --tune psnr
5531e9ba2f47 31.240980 31.241 --threads 3 --tune psnr
9fc1817ef20c 31.187980 31.188 --threads 4 --tune psnr
4e5b55bc8c96 31.202980 31.203 --threads 5 --tune psnr
2e900542a19d 28.130980 31.131 --threads 6 --tune psnr
6ecb0e2fdc95 24.339980 31.14 --threads 7 --tune psnr
d4f0c71f223e 20.673980 31.074 --threads 8 --tune psnr
0a3cf8084a50 18.681980 31.082 --threads 9 --tune psnr
5db73b5aafc9 21.616980 31.017 --threads 10 --tune psnr
0494cb26e963 18.539980 31.04 --threads 11 --tune psnr
5aae11b94be3 14.165980 30.966 --threads 12 --tune psnr
f0aa9bf67ec0 14.188980 30.989 --threads 13 --tune psnr
469d44fde854 13.511980 30.912 --threads 14 --tune psnr
7fd070698aa7 13.930980 30.931 --threads 15 --tune psnr
c0a1bae6183f 16.163980 30.864 --threads 16 --tune psnr
1ad5f8b5c19b 12.777980 30.878 --threads 17 --tune psnr
f7957b8fc06d 14.506980 30.807 --threads 18 --tune psnr
f4326ff8ad09 15.717980 30.818 --threads 19 --tune psnr
bbeec0f8341f 13.947980 30.748 --threads 20 --tune psnr
5958bf029170 14.356980 30.757 --threads 21 --tune psnr
798bdd032b87 15.092980 30.693 --threads 22 --tune psnr
c3d5cfb5fb25 14.607980 30.708 --threads 23 --tune psnr
57772037aa11 15.530980 30.631 --threads 24 --tune psnr
453abb8a906a 14.848980 30.649 --threads 25 --tune psnr
7251f16ee382 15.286980 30.587 --threads 26 --tune psnr
c9f3417c2c7e 15.996980 30.597 --threads 27 --tune psnr
d8f94825a625 16.230980 30.531 --threads 28 --tune psnr
4385348f52d1 16.043980 30.544 --threads 29 --tune psnr
522f95dd13e3 16.874980 30.475 --threads 30 --tune psnr
c47a06687eae 16.092980 30.493 --threads 31 --tune psnr
5c0dbfe184b6 16.115980 30.416 --threads 32 --tune psnr
e7e01e5518d2 16.026980 30.427 --threads 33 --tune psnr
6e5a773d7106 17.246980 30.347 --threads 34 --tune psnr
2729a2257ac8 16.463980 30.364 --threads 35 --tune psnr
40bb61689ce0 17.286980 30.287 --threads 36 --tune psnr
ab2a6bd44eed 16.914980 30.315 --threads 37 --tune psnr
73f8396dc2f8 17.637980 30.238 --threads 38 --tune psnr
0597775bfa91 16.971980 30.272 --threads 39 --tune psnr
93304898cdf2 16.493980 30.194 --threads 40 --tune psnr
c0202bee674a 16.311980 30.212 --threads 41 --tune psnr
bde83cc54fa4 17.140980 30.141 --threads 42 --tune psnr
1dea6e4db268 16.953980 30.154 --threads 43 --tune psnr
c56309435edf 16.888980 30.089 --threads 44 --tune psnr
77e39b71949a 18.001980 30.102 --threads 45 --tune psnr
847ea65a90a3 17.554980 30.055 --threads 46 --tune psnr
345fcf4f6b35 17.972980 30.073 --threads 47 --tune psnr
61efd403b8cd 18.113980 30.014 --threads 48 --tune psnr
6f6e1952d2ab 16.529980 30.03 --threads 49 --tune psnr
5ab1c0dda2c1 17.570980 29.971 --threads 50 --tune psnr
bd6ad8a0b725 18.290980 29.991 --threads 51 --tune psnr
e6e0637bb573 17.847980 29.948 --threads 52 --tune psnr
c094424b5ad1 18.248980 29.949 --threads 53 --tune psnr
766807c1e257 17.418980 29.919 --threads 54 --tune psnr
ad8a7ca6b6b3 18.415980 29.916 --threads 55 --tune psnr
43736c21e103 19.972980 29.873 --threads 56 --tune psnr
617caaf6cf89 19.084980 29.885 --threads 57 --tune psnr
d3bb03ead41a 20.044980 29.845 --threads 58 --tune psnr
26f92ee083de 19.656980 29.857 --threads 59 --tune psnr
96c3eb2a1d18 19.507980 29.808 --threads 60 --tune psnr
dab8718710d0 19.317980 29.818 --threads 61 --tune psnr
0a6522eda2c0 19.686980 29.787 --threads 62 --tune psnr
c7a5e31ebbb8 19.388980 29.789 --threads 63 --tune psnr
1fc0806a403f 19.955980 29.756 --threads 64 --tune psnr


More information about the x264-devel mailing list