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.15 :
- Fixed a bug that would cause the top left corner to have chroma errors when encoding to YV12 with a video who's width was not a multiple of 32. Thanks to Marc for reporting this.
- Fixed a bug where a solid colored YUY2 frame would decode as black. Thanks to Markus Krapf and Bart Barenbrug for reporting this.
- Added more error checking, this should help prevent crashes with corrupted files from Premiere.
- Changed to using Visual Studio 2005 to compile the 32bit dll, thanks to gl.tter for helping with porting the project.