Huffyuv
Developer(s) | Ben Rudiak-Gould |
---|---|
Initial release | 2000 |
Final release | 2.1.1
/ 23 August 2000 |
Written in | C++ |
Operating system | Windows 9x, NT |
Type | lossless video codec |
License | GNU GPLv2 |
Website | www |
Huffyuv (or HuffYUV) is a lossless video codec created by Ben Rudiak-Gould which is meant to replace uncompressed YCbCr as a video capture format. The codec can also compress in the RGB color space.
"Lossless" means that the output from the decompressor is bit-for-bit identical with the original input to the compressor. Lossless only occurs when the compression color space matches the input and output color space. When the color spaces do not match, a low loss compression is performed.
Huffyuv's algorithm is similar to that of lossless JPEG, in that it predicts each sample and then Huffman-encodes the error. The predictor is intraframe-only.
Implementations
[edit]The original implementation was written for Windows by Ben Rudiak-Gould and published under the terms of the GPL. The Huffyuv 1.1 was released in 2000.[1] The implementation is considered very fast, giving a compression throughput of up to 38 megabytes per second on a 416 MHz Celeron. The official Huffyuv has not had a new release since 2002.
Huffyuv 2.1.1 with CCESP patch 0.2.5 was released to address problems particularly for compatibility with Cinema Craft Encoder.[2]
Huffyuv 2.2 is available on some alternative sites,[3] but is reported to have problems on some computer systems.[4]
Huffyuv MT is a multi-threaded version that uses a different FourCC.
There is a currently developed fork of the code named Lagarith which offers better compression at the cost of greatly reduced speed on uniprocessor systems.[5][6]
The FFmpeg project also contains an implementation of HuffYUV which allows HuffYUV files to be created & played on Linux and Mac OS X. Additionally, this means that many of the applications which use FFmpeg as a base can also play/create HuffYUV files, including VLC media player, MPlayer and ffdshow. FFmpeg also has its own FFmpeg-specific (incompatible with the original) version of HuffYUV which supports a wider variety of colorspaces, including chroma-quartered and high bit depth color spaces up to 48bpp.
See also
[edit]- Huffman coding
- Adaptive Huffman coding
- PPM compression algorithm
- YCbCr color space
- Lagarith Lossless Video Codec
- MSU Lossless Video Codec
- List of lossless codecs
References
[edit]- ^ Ben Rudiak-Gould Google Groups - rec.video.desktop, Retrieved on 2009-08-11
- ^ Huffyuv 0.2.5 patch, Retrieved on 2009-08-20
- ^ Huffyuv 2.2.0, Retrieved on 2009-08-20
- ^ Huffyuv 2.2 Crashes Xp, Retrieved on 2009-08-20 Archived August 18, 2004, at the Wayback Machine
- ^ Lagarith Lossless Video Codec. Retrieved 2009-01-28
- ^ the case against Lagarith. Retrieved 2013-06-26