Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
We activate progressive jpegs by default in CMAKE and in the windows binaries as well as configure We redirect the debug information to the console in windows so users may know why their JPEG was not compressed
This supports large JPEG files by default and also has a new mode --enable-best-ratio-slow-decompression that can decrease decompression speed but result in a few extra percent compression gains
The lepton-fast.exe binary makes .lep files that are fast to decode by using multithreading the lepton-small.exe binary makes .lep files that are slightly smaller but may not be decoded in parallel
Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
This can be used to archive large photo collections, or to serve images live and save 22% banwdith.
To roundtrip (compress and decompress) an image, original.jpg
, do the following:
./lepton original.jpg compressed.lep
./lepton compressed.lep restored_original.jpg
Or all at once:
./lepton original.jpg compressed.lep && ./lepton compressed.lep restored_original.jpg && diff restored_original.jpg original.jpg && echo no differences
Lepton may also be used with pipes -- be sure to check the exit code when using pipes as if compression fails lepton will produce 0 bytes and return a nonzero exit code (failure). In this case do not assume the 0 byte file is representative of the original.
./lepton - < original.jpg > compressed.lep
./lepton - < compressed.lep > restored_original.jpg
You may specify higher memory limits than the default for lepton to handle bigger images:
./lepton -memory=1024M -threadmemory=128M input_file output_file
Additionally you can configure lepton to process progressive jpegs. Warning: these take more memory to decode than normal JPEGs since the entire framebuffer must be kept in memory for the duration of the decompression, instead if just 2 rows of blocks.
./lepton -allowprogressive -memory=1024M -threadmemory=128M progressive.jpg compressedprogressive.lep