Original author(s) | Laurent Aimar |
---|---|
Developer(s) | x264 team |
Repository | |
Written in | C, Assembly |
Type | Video encoder |
License | GPL-2.0-or-later [1] (a proprietary licensing scheme is also available) [2] |
Website | www |
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. [2] It is released under the terms of the GNU General Public License. [2]
x264 was originally developed by Laurent Aimar, who stopped development in 2004 after being hired by ATEME. [3] [ circular reference ] 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.
x264 provides a command line interface as well as an API. The former is used by many graphical user interfaces, such as Staxrip [4] and MeGUI. [5] The latter is used by many other interfaces, such as HandBrake [6] and FFmpeg. [7]
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.
x264 has won awards in the following codec comparisons:
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. [3] 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. [17] 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. [18]
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. [19] [20] 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, [21] [22] leading to Tandberg claiming that they discovered the algorithm independently. [23]
Dirac is an open and royalty-free video compression format, specification and software video codec developed by BBC Research & Development. Dirac aimed to provide high-quality video compression for Ultra HDTV and competed with existing formats such as H.264.
FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg
tool itself, designed for processing of video and audio files. It is widely used for format transcoding, basic editing, video scaling, video post-production effects and standards compliance.
Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distribution of video content, used by 91% of video industry developers as of September 2019. It supports a maximum resolution of 8K UHD.
ffdshow is an open-source unmaintained codec library that is mainly used for decoding of video in the MPEG-4 ASP and H.264/MPEG-4 AVC video formats, but it supports numerous other video and audio formats as well. It is free software released under GNU General Public License 2.0, runs on Windows, and is implemented as a Video for Windows (VFW) codec and a DirectShow filter.
SMPTE 421, informally known as VC-1, is a video coding format. Most of it was initially developed as Microsoft's proprietary video format Windows Media Video 9 in 2003. With some enhancements including the development of a new Advanced Profile, it was officially approved as a SMPTE standard on April 3, 2006. It was primarily marketed as a lower-complexity competitor to the H.264/MPEG-4 AVC standard. After its development, several companies other than Microsoft asserted that they held patents that applied to the technology, including Panasonic, LG Electronics and Samsung Electronics.
TMPGEnc or TSUNAMI MPEG Encoder is a video transcoder software application primarily for encoding video files to VCD and SVCD-compliant MPEG video formats and was developed by Hiroyuki Hori and Pegasys Inc. TMPGEnc can also refer to the family of software video encoders created after the success of the original TMPGEnc encoder. These include: TMPGEnc Plus, TMPGEnc Free Version, TMPGenc Video Mastering Works, TMPGEnc Authoring Works, TMPGEnc MovieStyle and TMPGEnc MPEG Editor. TMPGEnc products run on Microsoft Windows.
libavcodec is a free and open-source library of codecs for encoding and decoding video and audio data.
Α video codec is software or a device that provides encoding and decoding for digital video, and which may or may not include the use of video compression and/or decompression. Most codecs are typically implementations of video coding formats.
The following is a list of H.264/MPEG-4 AVC products and implementations.
H.264 and VC-1 are popular video compression standards gaining use in the industry as of 2007.
Rate-distortion optimization (RDO) is a method of improving video quality in video compression. The name refers to the optimization of the amount of distortion against the amount of data required to encode the video, the rate. While it is primarily used by video encoders, rate-distortion optimization can be used to improve quality in any encoding situation where decisions have to be made that affect both file size and quality simultaneously.
AVC-Intra is a type of video coding developed by Panasonic, and then supported in products made by other companies. AVC-Intra is available in Panasonic's high definition broadcast products, such as, for example, their P2 card equipped broadcast cameras.
VP8 is an open and royalty-free video compression format released by On2 Technologies in 2008.
Blu-code is a professional Blu-ray authoring software, supporting H.264 and MPEG-2 encoding. Blu-code can support a large-scale distributed processing system deploying a number of PCs for real-time encoding or run on a single PC.
x265 is an encoder for creating digital video streams in the High Efficiency Video Coding (HEVC/H.265) video compression format developed by the Joint Collaborative Team on Video Coding (JCT-VC). It is available as a command-line app or a software library, under the terms of GNU General Public License (GPL) version 2 or later; however, customers may request a commercial license.
Intel Quick Sync Video is Intel's brand for its dedicated video encoding and decoding hardware core. Quick Sync was introduced with the Sandy Bridge CPU microarchitecture on 9 January 2011 and has been found on the die of Intel CPUs ever since.
VP9 is an open and royalty-free video coding format developed by Google.
OpenH264 is a free software library for real-time encoding and decoding video streams in the H.264/MPEG-4 AVC format. It is released under the terms of the Simplified BSD License.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
In addition to being free to use under the GNU GPL, x264 is also available under a commercial license. Contact x264licensing@videolan.org for more details.
So why the deja vu? Because this patent application was an exact, step-by-step description of the algorithm I came up with for decimate_score (and later coeff_level_run) in x264 in 2008!
Tandberg hardly employed any subtlety. The company has one of its employers following the x264 project's IRC development channel and the guy who registered the patent is known to the X264 project.
{{cite web}}
: CS1 maint: unfit URL (link)