x264
Appearance
Developer(s) | x264 team |
---|---|
Repository | |
Operating system | Cross-platform |
Type | Multimedia framework |
License | GPL |
Website | http://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
- AutoMKV
- Ani-x264
- Avidemux
- FFmpeg
- FairUse Wizard
- Gordian Knot: discontinued
- MediaCoder
- MeGUI
- MEncoder
- SUPER : Simplified Universal Player Encoder & Renderer.
- StaxRip
- VirtualDub with a Video for Windows-compatible version of x264
- x264farm, a distributed video encoder
- VLC media player (x264 project homepage and repository is on the VideoLAN website)
- HandBrake, a DVD to MPEG-4 converter
See also
External links
- x264 Home Page
- x264 Options Explained Guide @ Digital Digest
- x264 CLI binaries for Windows