Well-known forks are libjpeg-turbo, which optimises for speed of execution, and MozJPEG, which optimises for smaller file sizes. There is also a
similarly named library from the
ISO, which aims to be a complete implementation of JPEG,
JPEG XT and
JPEG LS standards.
libjpeg-turbo libjpeg-turbo is a
fork of libjpeg that uses
SIMD instructions to accelerate baseline JPEG encoding and decoding. Many projects are now using libjpeg-turbo instead of libjpeg, including popular Linux distributions (
Fedora,
Debian,
Mageia,
openSUSE, ...),
Mozilla, and
Chrome. By extension, since the only major new feature in libjpeg v9 is specific to the SmartScale format, the libjpeg-turbo Project has chosen to forgo emulating libjpeg v9. Since 2019, libjpeg-turbo is one of the two JPEG reference implementations, available as ISO/IEC 10918-7 and ITU-T T.873. The other reference implementation is ISO libjpeg which also includes support for JPEG XT and JPEG LS.
MozJPEG }} MozJPEG is a fork from libjpeg-turbo done by Josh Aas and others from Mozilla Research. It aims to speed up loading times of webpages by achieving a reduction in file size (of about 10%) and therefore transmission time through improvement of coding efficiency while retaining image quality. To achieve this, it uses more processing power for the encoding (asymmetry) while retaining full compatibility with the JPEG standard and requiring no changes on the decoder side. The techniques MozJPEG uses to achieve high compression include optimising
Huffman trees, using progressive coding to optimally split the spectrum of DCT coefficients into separate scans, and through the use of
trellis quantisation. Additionally, the presets are aggressively tuned towards the minimisation of file sizes. Besides libjpeg-turbo, MozJPEG also builds upon jpegcrush, a
Perl script by Loren Merritt. == ISO libjpeg ==