x264 is a free software library for encoding video streams into the H.264/MPEG-4 AVC format.
It is released under the terms of the GNU General Public License.
History x264 was originally developed by Laurent Aimar,
who stopped development in 2004 after being hired by ATEME.
Loren Merritt then took over development.
Today, x264 is primarily developed by Loren Merritt, Fiona Glaser, Steven Walters, Anton
Mitrofanov, Henrik Gramner and Daniel Kang.
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 MeGUI.
The latter is used by many other interfaces, such as HandBrake 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 SSD and 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, and ARMv7 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.
Periodic Intra Refresh can replace keyframes by using a column of intra blocks that move
across the video from one side to the other, thereby "refreshing" the image.
In effect, instead of a big keyframe, the keyframe is "spread" over many frames.
The video is still seekable: a special header, called the SEI Recovery Point, tells the decoder
to "start here, decode X frames, and then start displaying the video."
This hides the refresh effect from the user while the frame loads.
Motion vectors are restricted so that blocks on one side of the refresh column don't reference
blocks on the other side, effectively creating a demarcation line in each frame.
In April 2010, the x264 project announced full Blu-ray compliant video encoding capability
making x264 the first free Blu-ray compliant software H.264 encoder.
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 Brothers.
Tandberg controversy In November 2010, Fiona Glaser, an x264 developer,
published information in which she claims that one of Tandberg Telecom's 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
Blaze FFmpeg
HandBrake OpenShot
MediaCoder MeGUI
MEncoder MiniCoder
RipBot264 SUPER
Staxrip Telestream Episode
TMPGEnc Video Mastering Works 5 XMedia Recode
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
External links Official website
Source Code Licensing Official forum
x264 Blu-Ray encoding guide