Home
Programs
   AVI Player
   Lagarith Lossless Codec
   VirtualDub Filters
Videos

 

 

 

 

 

 

 

 

 

 


Lagarith Lossless Video Codec

Lagarith is a lossless video codec intended for editing and archiving. Lagarith offers better compression than codecs like Huffyuv, Alparysoft, and CorePNG. There are a few lossless codecs that can compress better than Lagarith, such as MSU and FFV1; however Lagarith tends to be faster than these codecs. Lagarith is able to operate in several colorspaces - RGB24, RGB32, RGBA, YUY2, and YV12. For DVD video, the compression is typically only 10-30% better than Huffyuv. However, for high static scenes or highly compressible scenes, Lagarith significantly outperforms Huffyuv. A comparison for various types of video can be found here. Lagarith is able to outperform Huffyuv due to the fact that it uses a much better compression method. Pixel values are first predicted using median prediction (the same method used when "Predict Median" is selected in Huffyuv). This results in a much more compressible data stream. In Huffyuv, this byte stream would then be compress using Huffman compression. In Lagarith, the byte stream may be subjected to a modified Run Length Encoding if it will result in better compression. The resulting byte stream from that is then compressed using Arithmetic compression, which, unlike Huffman compression, can use fractional bits per symbol. This allows the compressed size to be very close to the entropy of the data, and is why Lagarith can compress simple frames much better than Huffyuv, and avoid expanding high static video. Additionally, Lagarith has support for null frames; if the previous frame is mathematically identical to the current, the current frame is discarded and the decoder will simply use the previous frame again.

The trade-off for this improved compression is speed. On a single processor system, Lagarith can be significantly slower than Huffyuv on typical video. Additionally, the decode speed tends to be slower than the encode speed; this is due to the nature of Arithmetic compression and the prediction algorithm. Fortunately, for the situations where the codec offers the most advantages over Huffyuv, the speed difference between the two tends to decrease, and Lagarith can be much faster for simple video. For multiple processor systems, Lagarith 1.3.0 can take advantage of additional processors; while Huffyuv cannot. On such systems Lagarith may be faster than Huffyuv.

This codec was build using the Huffyuv source as a template, and uses some Huffyuv code, most notably the routine to upsample YUY2 video to RGB and to perform pixel prediction on YUY2 video. Other colorspace conversion routines were taken from AviSynth. Lagarith is released under the GPL.

If you find any errors with this codec, please let me know - Sir_Lagsalot at hotmail.com.

Lagarith was last updated on April 10, 2011.

Thanks to AbsoluteDestiny and Zarxrax for helping with testing the codec, Andrew Dunstan for providing optimized colorspace conversion routines for the X64 build, Ben Rudiak-Gould for developing Huffyuv and AviSynth, and to Avery Lee for helping speed up the decoder as well as having developed VirtualDub.

Version 1.3.20 introduced a new option to prevent upsampling when decoding. Checking this option and having the mode set to RGB or RGBA will prevent Lagarith from performing any colorspace conversions when encoding or decoding video.

Lagarith Installer (v1.3.24) An installer for 32 and 64 bit versions of windows. Thanks to Zarxrax for creating and testing the installer script.

Lagarith Codec (v1.3.24) A manual installation version.

Lagarith 1.3.24 Source Code

Change Log