Jump to content

x264

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 198.147.40.60 (talk) at 15:17, 11 December 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

x264
Developer(s)x264 team
Repository
Operating systemCross-platform
TypeMultimedia framework
LicenseGPL
Websitehttp://www.videolan.org/developers/x264.html

x264 is a free software library for encoding H.264/MPEG-4 AVC video streams. Written from scratch by Loren Merritt, Laurent Aimar, Eric Petit, Min Chen, David Johnson (pT), Justin Clay, Måns Rullgård, Radek Czyz, Alex Izvorski, Alex Wright, and Christian Heine, it is released under the terms of the GNU General Public License.

Several graphical user interfaces have been made for the command line version, including MeGUI, AutoAC and a .NET (1.1) based x264CLI GUI.

Capabilities

As of May 2007, x264 is one of the most advanced publicly available AVC encoders. Some of its features include:

Feature CLI option
Main Profile features
All P-frame inter-predicted macroblock types --partitions p8x8,p4x4
B-frame inter-predicted block types from 16x16 down to 8x8 --partitions b8x8
B-frames as references (B-pyramid) and arbitrary frame order --b-pyramid
Context-adaptive variable-length coding (CAVLC) --no-cabac
Context-adaptive binary arithmetic coding (CABAC), an improved entropy encoding scheme enabled by default
Both Intra-predicted block types: 16x16 and 4x4 --partitions i4x4
In-loop deblocking filter support enabled by default
(to configure: --deblock <integer:integer>)
Interlaced video support --interlaced
Up to 16 consecutive B-frames --bframes <integer>
Up to 16 reference frames --ref <integer>
High Profile features
8x8 and 4x4 adaptive spatial transforms --8x8dct
8x8 intra-predicted blocks --partitions i8x8
Custom quantization matrices --cqm <string>
Lossless mode --qp 0
Features affecting the quality of decisions made by the encoder but not the profile of the output video stream or the features it uses
Adaptive B-frame placement enabled by default
Adaptive quantization, a newer feature which allows different quantizers to be used for different parts of a frame. This allows the allocation of extra bits to dark background areas to reduce blocking. --aq-strength <float>, --aq-sensitivity <float>
Adjustable scene cut detection --scenecut <integer>
Luma and chroma-based motion estimation enabled by default
Multiple motion estimation modes: diamond, hexagon, uneven multi-hexagon, and a highly optimized exhaustive motion search --me <string> (dia, hex, umh, or esa)
Multiple rate control modes: constant quantizer, constant quality (CRF), single or multi-pass average bitrate (ABR) with the option of VBV support --qp <integer>, --crf <float>, --bitrate <integer> and --pass <integer>, --vbv-maxrate <integer>, --vbv-bufsize <integer>
Rate-distortion optimization on all frame types --subme 6 or 7, --b-rdo
Trellis quantization --trellis <integer> (1 or 2)
Other features
Built-in PSNR and SSIM calculation enabled by default
Multithreaded encoding --threads <integer> or "auto"

Comparison with other codecs

x264 has won awards in the following codec comparisons:

See also the Software encoder feature comparison in the H.264/MPEG-4 AVC article.

x264 frontends

See also