[x264-devel] Trouble keeping 8 cores busy

Jason Garrett-Glaser darkshikari at gmail.com
Tue Jan 6 23:43:42 CET 2009


2009/1/6 Phil Rutschman <philr at modsystems.com>:
> I'm running x264 on a dual quad core Xeon 3 GHz (E5472) machine running
> 64-bit Ubuntu. I'm running the following version of x264, with no patches,
> compiled for x86-64:
> -I 120 --aud --level 3 --vbv-bufsize 8000 --vbv-maxrate 10000 --ref 5
> --nal-hrd --trellis 2 --psy-rd 1.0:1.0 --bframes 5 --b-adapt 2 --weightb
> --direct auto --partitions all --mixed-refs --subme 9 --me umh -B 2400
> --pass {1,2}

x264 --longhelp

...

 -b, --bframes <integer>     Number of B-frames between I and P [0]
     --b-adapt               Adaptive B-frame decision method [1]
                                 Higher values may lower threading efficiency.
                                 - 0: Disabled
                                 - 1: Fast
                                 - 2: Optimal (slow with high --bframes)

In general, frametype/ratecontrol lookahead is not (yet) threaded.
For maximum threading performance, use --no-b-adapt and --scenecut -1
(disabled), but do note that x264 will still tend to cap out at under
8 cores when using very fast encoding settings.  Since the speed cost
of lookahead for a given set of frametype decision settings is
constant, x264 will be able to use more and more cores as you slow
down the settings unrelated to lookahead.

Also note that threading is limited by frame size.  You generally will
not be able to get away with a value of (vertical height of
image/number of threads) less than ~24 without B-frames, and less than
~16 with B-frames.

Dark Shikari


More information about the x264-devel mailing list