x264 HD Benchmark FAQs
by graysky
updated by Adrian Wong & Dashken
The x264 HD Benchmark Command Line Settings
This section discusses the x264 settings used in the command line for the 2nd pass encode. Some of these are just settings controlling what gets displayed to the screen (such as --quiet), so we will ignore those and just provide descriptions for the settings that affect the video quality.
--preset slower --bitrate 8000 --ref 4 --aq-mode 2 --level 4.1 --keyint 24 --min-keyint 1 --ipratio 1.40 --qcomp 0.6 --threads auto --thread-input
preset slower - This shortens the command line by introducing some quality presets, namely --b-adapt 2 --bframes 8 --direct auto
--me umh --merange 24 --partitions all
--ref 16 --subme 10 --trellis 2
--rc-lookahead 60
b-adapt 2 - Uses the 'fast' adaptive B-frame placement decision algorithm. This setting controls how x264 decides between placing a P- or B-frame.
b-frames 8 - Uses a maximum of 8 consecutive B-frames. Bi-directional Predictive Frames are highly compressed as they only store the data that has changed from the previous frame or that is different from the next frame. B-frames generally have less quality than I- or P- frames but can increase the overall quality of the video by storing data very efficiently.
direct auto - This automates the prediction mode for 'direct' motion vectors. There are two modes available: spatial and temporal, with auto allowing x264 to swap between them as it sees fit. The 'auto' mode works best in a 2pass encode. In the first-pass, x264 keeps a running average of how well each method has so far performed, and picks the next prediction mode from that.
me umh - This selects uneven multi-hex as the full-pixel motion estimation method, which searches a complex multi-hexagon pattern in order to avoid missing harder-to-find motion vectors.
merange 24 - This increases the maximum range of the motion search to 24 pixels, which is useful on HD footage and for high-motion footage.
partitions all - This waives any limit on the macroblock analysis size, allowing the analysis of partition sizes of p8x8, p4x4, b8x8, i8x8, and i4x4.
subme 10 - This sets the subpixel estimation complexity as well as the partition decision method used. Level 10 enables RDO (Rate Distortion Optimisation) on all frames.
trellis 2 - Enables Trellis quantization on all mode decisions to increase efficiency.
rc-lookahead 60 - Sets the maximum mb-tree ratecontrol buffer size to 60 frames.
bitrate 8000 - We set the target encoding bitrate to 8000 kilobits per second.
ref 4 - The encoder was set to use 4 previous frames each P-frame can use as references. (B-frames can use one or two fewer, depending on if they are used as references or not.) This adheres to Level 4.1 specs, where the maximum refs for 720p and 1080p video are 9 and 4 respectively.
aq-mode 2 - This sets the Adaptive Quantization Mode to use its auto-variance mode to better distribute bits between macroblocks in each video frame.
level 4.1 - Level 4.1 is often considered the highest level you can rely on desktop consumer hardware to support. Blu-ray Discs only support level 4.1, and many non-mobile devices like the Xbox 360 specify level 4.1 as the highest they officially support.
keyint 24 and min-keyint 1 - Sets the maximum and minimum intervals between IDR-frames (aka keyframes) in x264's output. IDR-frames are 'delimiters' in the stream - no frame can reference data from the other side of the IDR-frame. As well as this, IDR-frames are also I-frames, so they don't reference data from any other frame. This means they can be used as seek points in a video.
ipratio 1.4 - Sets the target average increase in bitrate for I-frames as compared to P-frames. Seen as 'keyframe boost' in xvid. Higher values increase the quality of I frames. This makes them better references, which can improve the overall image quality. The problem is that the extra bits taken by the I-frames are taken from the P and B-frames, which makes this variable a balancing act.
qcomp 0.6 - This sets the quantizer curve compression factor. 0.0 => Constant Bitrate, 1.0 => Constant Quantizer. When used with mbtree, it affects the strength of mbtree. (Higher qcomp = weaker mbtree).
threads auto - This enables parallel encoding by using more than 1 thread to increase speed on multi-core systems.
thread-input - This shifts the decoding of the input video into a separate thread from the encoding process.
Support Tech ARP!
Help support our work by visiting our sponsors, participate in the Tech ARP Forums, or even donate to our fund. Any help you can render is greatly appreciated!
Section |
Page |
Topic |
|
x264 HD Benchmark 5.0 |
1 |
• What Is x264 HD Benchmark? |
|
2 |
|||
3 |
• Having Trouble Running The Benchmark? |
||
4 |
|||
5 |
• The Benchmark Command Line Settings | ||
x264 HD Benchmark 4.0 |
6 |
• What Is x264 HD Benchmark? |
|
7 |
|||
8 |
• Having Trouble Running The Benchmark? |
||
x264 HD Benchmark 3.0 |
9 |
• Download The Benchmark Here! |
|
10 |
• Having Trouble Running The Benchmark? |
||
11 |
|||
12 |
|||
13 |
|||
x264 HD |
14 |
• Download The Benchmark Here! |
|
15 |
|||
16 |