Huffyuv (or HuffYUV) is a losslessvideo 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
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.