*** Welcome to piglix ***

X264

x264
X264.png
Original author(s) Laurent Aimar
Developer(s) x264 team
Repository git.videolan.org?p=x264.git%3Ba%3Dsummary
Written in C, Assembly
Type Video codec
License GNU General Public License, version 2.0 (a proprietary licensing scheme is also available)
Website www.videolan.org/developers/x264.html

x264 is a free software library developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC format. It is released under the terms of the GNU General Public License.

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, 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 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.

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. 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.


...
Wikipedia

...