x264 is a free and open-source software library and a command-line utility developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC video coding format. Loren Merritt then took over development. Later, in 2008, Fiona Glaser joined the project. They both stopped contributing in 2014. Today, x264 is primarily developed by Anton Mitrofanov and Henrik Gramner.

Capabilities

x264 provides a command line interface as well as an API. The former is used by many graphical user interfaces, such as Staxrip and FFmpeg.

x264 implements a large number of features compared to other H.264 encoders.

x264 contains some psychovisual enhancements which aim to increase the subjective video quality of the encoded video.

  • Adaptive quantisation in two modes using VAQ. The second mode, a later addition, adapts the strength per frame in an attempt to improve the quality.
  • Psychovisual rate–distortion optimization which attempts to maintain a similar complexity. The complexity is measured using a combination of sum-of-squares optimization (SSD) and sum of absolute transformed differences (SATD).
  • Macroblock-tree rate control, which controls the quality by tracking how often parts of the frame are used for predicting future frames.

x264 has won awards in the following codec comparisons:

  • Third Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison, 2006
  • Fourth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison, 2007
  • Fifth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison, 2009
  • Sixth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison, 2010
  • Seventh Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison, 2011
  • Eighth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison, 2012

x264 has SIMD assembly code acceleration on x86, PowerPC (using AltiVec), and ARMv7 (using NEON) platforms.

x264 is able to use Periodic Intra Refresh instead of keyframes, which enables each frame to be capped to the same size enabling each slice to be immediately transmitted in a single UDP or TCP packet and on arrival immediately decoded. x264 has always had the ability to create video streams that are playable on most Blu-ray devices. However, it was up to the user to choose appropriate conversion settings. The default x264 preset chooses adequate compatibility for Blu-ray players but it is now possible to choose more complex conversion settings while simply maintaining compatibility by explicitly enabling Blu-ray compatibility mode. Blu-ray compatibility can be useful when striving for cross device compatibility, especially in the realm of high definition hardware media players.

x264 has been used to author commercial Blu-ray Disc titles released by Warner Bros.

Tandberg controversy

In November 2010, Fiona Glaser, an x264 developer, published information in which she claims that one of Tandberg Telecom's (a Cisco Systems subsidiary) patent applications from December 2008 contains a step-by-step description of an algorithm she committed to the x264 codebase around two months earlier. This was relayed by media, which remarked that the company who filed the patent was following the x264 project IRC development channel and was known to the project developers, leading to Tandberg claiming that they discovered the algorithm independently.

x264 frontends

  • Avidemux
  • FFmpeg
  • MEncoder
  • RipBot264
  • SUPER
  • StaxRip
  • Telestream Episode
  • TMPGEnc Video Mastering Works 5
  • Harmonic Rhozet Workflow System

See also

  • MPEG-4 – a standard of various MPEG formats including video, audio, subtitle, and interaction
  • Doom9 – a forum for video creation help and technical discussions
  • x265 – open source HEVC/H.265 encoder that has licensed the rights to use the x264 source code

References

pt:H.264#x264