X264 is a cross-platform encoder for the video format H.264 (MPEG -4 AVC) and is released under the GNU General Public License.
The x264 encoder library is developed by Laurent Aimar, Loren Merritt, Jason Garrett -Glaser, Eric Petit, Min Chen, Justin Clay, Måns Rullgård, Radek Czyz, Christian Heine, Holger Lubitz, Alex Izvorski and Alex Wright. The program code is written in ISO -C.
The x264 encoder is provided, inter alia, as a command -line utility (CLI ) are available. The program can process as a source uncompressed raw data ( YCbCr 4:2:0 color model format) AviSynth scripts, as well as all of FFmpeg readable formats.
Alternatively, there are various graphical user interfaces that simplify the operation of the CLI encoder. The most popular are StaxRip, MeGUI, Gordian Knot, HandBrake and x264gtk. Also, the platform-independent video editor Avidemux provides the ability to encode videos with x264. In addition, a wrapper for the Video-for - Windows interface ( VfW ) is available, which allows the use of x264 in VirtualDub. However, the VfW interface is subject to some limitations of x264 and is not recommended by the developers. To give emphasis to this recommendation, the VfW version as well now. With DTS x264 VfW exists an unofficial version that produces the compatibility with the AVI format again, supports decoding of video and can be used as usual. Another way to use the x264 encoder using a command -line interface is given with MEncoder or FFmpeg.
The H.264 encoder x264 is working much more efficiently than coders that are based on the simpler MPEG -4 ASP (eg DivX codec to v6 ), or those coders that use the even older MPEG- 2 method. This means that x264 compared to previous codecs for a given data rate provides a better image quality and achieve greater compression for a given quality. x264 also supports the more demanding profiles such as the High Profile and Hi10p of the H.264 standard (details in the appropriate article). Moreover x264 able to perform certain calculations in parallel so that symmetrical multiprocessing systems can be optimally utilized. However, some functions of the H.264 standard in the x264 codec (still ) have not been implemented, such as the error correction of the Baseline Profile. It should be noted also that x264 - like any H.264 codec - significantly more computationally intensive than the simpler MPEG -4 ASP-based codecs. Thus, the encoding requires more time and for playing higher demands are placed on the system. Reproduction processors below 800 MHz can therefore cause problems, especially if they do not have the SSE instruction set. Since r1480, it is possible with the x264 encoder, the Blu- ray specification to generate appropriate bitstreams, and thus use it when creating Blu- ray discs.
Supported H.264 Features
- CAVLC / CABAC
- Multiple References
- Intra - frames: all macroblock types (16 × 16, 8 × 8 ( High Profile ), and 4 × 4 with all predictions )
- Within P pictures: all partition sizes (from 16 × 16-4 × 4)
- Within B-pictures: partitions of 16 × 16-8 × 8 (including skip / direct)
- B-frames as references / arbitrary frame order
- 8 × 8 and 4 × 4 adaptive spatial transform ( High Profile )
- Lossless compression ( optional)
- Custom quantization matrices ( High Profile )
- Optimized for multiple processors or multi-core processors
- Mixed reference frames for sub- macroblocks
- Integrated deblocking filter
- Interlaced ( MBAFF )
- 8 -, 9 - and 10-bit sampling depth
- Support for 4:2:0, 4:2:2 and 4:4:4 chroma subsampling
- Frame-based multithreading, scaled to at least 16 CPU cores
- Various modes of controlling the data rate: constant quantization, constant data rate, average data rate with one or more passes,
- Bit rate control in macroblock - tree technique
- Lookahead VBV ( Video Buffering Verifier )
- Psycho Visually optimized tuning of the bit rate for image quality ( " Psy RDO " ) and trellis quantization ( " Psy Trellis " )
- Variance AQ ( Adaptive Quantization ) and AutoVAQ
- Optimal adaptive B-frame control
- Support for multiple slices ( " multi- slice" ) is required for BluRay compatibility
- Lookahead function in a separate thread ( " Threaded look ahead" )
- Weighted P- Frame Prediction ( developed as part of GSoC 2009)
- Bitrate / Quality Optimization
- Scene change detection
- Different motion detection modes ( inter alia Diamond, Hexagon, multi-hexagon and exhaustive search )
- DCT - Domain noise filter
- RD- optimized quantization ( " Trellis " )
Projects with x264
- VLC media player
- XMedia Recode
Free and Open Source Software
X264 is a free, open - source software ( FOSS ). This means, among other things, that the source code is freely available and thus you can compile the program itself. It is possible to adapt the program to the main processor and its own operating system. On the x264 homepage there is no official builds, but only the most recent version of the source code. However, several unofficial builds are available, so that users can easily without any special knowledge to install and use the x264 codec. Finished builds there are, for example, for Windows ( 32- bit, 64 -bit ), Linux or Mac OS X. The most common x264 builds for Windows are likely to currently probably that by Sharktooth ( Doom9.net Forum) and Bob0r ( www.x264. nl be ). There are updates available almost daily. However, since the end of May www.x264.nl seems to offer no x264 builds more as a result of an alleged dispute.
On 14 July 2010, Jason Garrett -Glaser, the current project manager, announced that x264 can be purchased now also available with a commercial license so Licensee may distribute the software also, (even ) without having to offer the source code. The cheapest license fee shall be $ 10,000 for 10,000 encoder units. The first licensee is Pegasys TMPGEnc.