The x264 video encoder is one of the most successful open source development projects in history.
H.264 Advanced Video Coding (AVC) is a video compression standard created by the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC JTC1 Moving Picture Experts Group (MPEG). The first version of the H.264 AVC specification was released in May 2003.
The x264 project was started in 2004 with the goal of developing an open source video encoder that would meet the H.264 AVC specification. The main developers on the project over the course of its life have included Laurent Aimar, Loren Merritt, Fiona Glaser, Anton Mitrofanov and Henrik Grammer, among others. The x264 development community has, and continues to, invested thousands of man-hours into the development and testing of the x264 AVC video encoder software to create the best H.264 video encoding codec in the world.
The x264 project is sponsored and supported by a number of incredible people and organizations, including both FFmpeg and VideoLAN. Many of the same developers worked on both the FFmpeg and x264 projects, allowing for the seamless integration of the x264 encoder into FFmpeg.
VideoLAN is a non-profit entity that hosts a number of open source projects, including the VLC media player and the x265 High Efficiency Video Coding (HEVC) project. VideoLAN continues to support and host the x264 community and its source code repository. While VideoLAN and ffMPEG are both sponsors of the x264 open source project, they do not have any proprietary ownership interest in the x264 software and cannot grant commercial licenses of the x264 video encoder software. x264, LLC, is the only entity that grants commercial licenses.
The members of the x264 community are passionate advocates of the development and use of open source technologies. The x264 video encoder was developed under Version 2.0 of the GNU General Public License (GPL). The GPL does not require the payment of a royalty, but it does require that all the source code for any distributed program that uses or links to GPL code to be released and licensed to the public under the GPL (see the Licensing page for a detailed discussion of the GPL requirements). This allows for the continuous improvement and use of the software by all users.
Upon its release, the x264 video encoder quickly became the top rated H.264 AVC video encoder, rated the highest in video quality and performance. For the past 15 years, the x264 encoder has continued to be the top rated and highest performing AVC video encoder as rated by MSU in its annual MPEG-4 AVC/H.264 Video Codec Comparison. The x264 encoder’s performance is so good that it is on par with many of the next generation H.265/HEVC video encoders, without the high processing requirements of the H.265/HEVC encoders.
Many companies want to use the x264 video encoder, but the requirements of the GPL, Version 2 license would require them to publicly release and license all their proprietary source code in the product. To address this problem, the community decided to create a holding company that can commercially license the x264 video encoder software separately from the GPL. In 2010, a Delaware Limited Liability Company, named x264, LLC, was formed (“x264”) and all the x264 software developers licensed their source code to x264, LLC. Any improvements to the x264 video encoder software developed by the community or the companies are contributed back to the community.
As a result, the x264 video encoding software is available under two licenses: 1) the General Public License (GPL); or 2) a commercial license from x264, LLC.
The use of the x264 video encoder software skyrocketed and it is now the most widely deployed H.264/AVC encoder in the world, with over 2,000 commercially licensed products used by billions of people in billions of devices. It is estimated that over 80% of all videos available on the Internet are encoded using the x264 video encoder software.
Highest efficiency to minimize mobile battery usage
Consistent output video format avoids decoding problems
Adaptable to different resolutions and settings to dynamically adapt to bandwidth changes.
Simple development and integration
Proven solution
Fully integrated with ffMPEG
8x8 and 4x4 adaptive spatial transform
Multiple reference frames
Adaptive B-frame placement
Ratecontrol: constant quantizer, constant quality, single or multipass ABR, optional VBV
B-frames as references / arbitrary frame order
Scene cut detection
Macroblock-tree rate control
Spatial and temporal direct mode in B-frames, adaptive mode selection
CAVLC/CABAC entropy coding
Periodic Intra Refresh instead of keyframes
Custom quantization matrices
Parallel encoding on multiple CPUs
Intra: all macroblock types (16x16, 8x8, 4x4, and PCM with all predictions)
x264 has <a href="https://en.wikipedia.org/wiki/SIMD" target="_blank">SIMD</a> assembly code acceleration on <a href="https://en.wikipedia.org/wiki/X86" target="_blank">x86</a>, <a href="https://en.wikipedia.org/wiki/PowerPC" target="_blank">PowerPC</a> (using <a href="https://en.wikipedia.org/wiki/AltiVec" target="_blank">AltiVec</a>), and <a href="https://en.wikipedia.org/wiki/ARM_architecture" target="_blank">ARMv7</a> (using <a href="https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_(NEON)" target="_blank">NEON</a>) platforms
Inter P: all partitions (from 16x16 down to 4x4)
Predictive lossless mode
Inter B: partitions from 16x16 down to 8x8 (including skip/direct)
Psy optimizations for detail retention (adaptive quantization, psy-RD, psy-trellis)
Interlacing (MBAFF)
Zones for arbitrarily adjusting bitrate distribution
The following data is from the MSU 2012 Video Codec Report, the last report evaluating H.264 codecs. The MSU Codec Reports are the gold standard for comprehensive codec testing and evaluation.
Bitrate/Quality
Y-SSIM
(Figure 2)
view full report | view larger chart
Average bitrate ratio for a fixed quality
Y-SSIM metric
(Figure 21)
view full report | view larger chart
Bitrate/Quality (Normal Preset)
Y-SSIM metric
(Figure 26)
view full report | view larger chart
Average Bitrate Ration for same Quality (High Speed Preset)
Y-SSIM metric
(Figure 64)
view full report | view larger chart
Bitrate/Quality (High Speed Preset)
Y-SSIM metric
(Figure 70)
view full report | view larger chart
Average Bitrate Ratio for same Quality (High Speed Preset)
Y-SSIM metric
(Figure 119)
view full report | view larger chart
“The x264 video encoder demonstrates better quality on average.”
“The leading encoder in this usage area is x264.”
“The leaders in the HDTV area are x264…”
“Basing on our testing we conclude that, among all tested codecs, the best codecs for encoding HDTV content are codec from MainConcept and x264 codec by criterion of quality/speed ratio.”
“The difference between the MainConcept and x264 encoders is not overly significant, so these two encoders are both the clear leaders in this comparison. “
“At average, there are two leaders: x264 and MainConcept encoders.”
“The x264 encoder is better on average than DivX H.264 and MainConcept.”
“Overall, the leader in this comparison for software encoders is x264, followed by DivX H.264, Elecard and MainConcept.”
“Overall, the leader in this comparison for software encoders is x264, followed by MainConcept, DivX H.264 and Elecard.”
We use cookies to optimize our website and our service.