Some features of Lagarith Lossless Video Codec 1.3 :
Lagarith is able to operate in several colorspaces - RGB24, RGB32, RGBA, YUY2, and YV12. Also, Lagarith will never down-sample video, preventing inadvertent quality loss. 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 to encode a 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. Lagarith is significantly slower than Huffyuv on typical video. On my system, Lagarith tends to encode at about half the speed Huffyuv does. Additionally, the decode speed is 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.
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. The function for upsampling YV12 to YUY2 was taken from AviSynth.
How to install Lagarith Lossless Video Codec :
- Uncompress the files from archive, right-click on the
lagarith.inf file and select
Install.
- That's all! Now check the installed codec. See
Checking Installed VIDEO and AUDIO Codecs In Windows XP guide.
Changes in Lagarith Lossless Video Codec 1.3.17 :
- There were no changes in this version, just fixing some build issues that resulted from porting both the two Visual Studio 2005 projects to one 2005 project:
Fixed an issue where some runtime code was being dynamically linked in, causing the codec to not show up for people who didn't have certain Visual Studio packages installed. Thanks to all the people that reported and helped track down the cause. Fixed an issue where the compiler was using the wrong calling convention when calling some assembly-optimized functions, which caused the codec to crash when working with reduced resolution video. Thanks to Andrew Harrison for reporting this bug.