* tag '2.0.5': TurboJPEG: Make global error handling thread-safe ChangeLog.md: Add missing sub-header for 2.0.5 ChangeLog.md: List CVE ID fixed by previous commit rdppm.c: Fix buf overrun caused by bad binary PPM Build: Add missing jpegtran-icc test dependency rdswitch.c: Eliminate spaces before semicolons TJCompressor.compress(int): Fix YUV-to-JPEG error Bump version to 2.0.5; Document previous commit MIPS DSPr2: Work around various 'make test' errors MIPS DSPr2: Fix compiler warning with -mdspr2 MIPS SIMD: Always honor JSIMD_FORCE* env vars Test: Honor CMAKE_CROSSCOMPILING_EMULATOR variable
Mozilla JPEG Encoder Project 
MozJPEG reduces file sizes of JPEG images while retaining quality and compatibility with the vast majority of the world's deployed decoders.
MozJPEG is based on libjpeg-turbo. Please send pull requests to libjpeg-turbo if the changes aren't specific to newly-added MozJPEG-only compression code. This project aims to keep differences with libjpeg-turbo minimal, so whenever possible, improvements and bug fixes should go there first.
It's compatible with libjpeg API and ABI, and can be used as a drop-in replacement for libjpeg. MozJPEG makes tradeoffs that are intended to benefit Web use cases and focuses solely on improving encoding, so it's best used as part of a Web encoding workflow.
MozJPEG is meant to be used as a library in graphics programs and image processing tools. We include a demo cjpeg tool, but it's not intended for serious use. We encourage authors of graphics programs to use MozJPEG's C API instead.
Features
- Progressive encoding with "jpegrescan" optimization. It can be applied to any JPEG file (with
jpegtran) to losslessly reduce file size. - Trellis quantization. When converting other formats to JPEG it maximizes quality/filesize ratio.
- Comes with new quantization table presets, e.g. tuned for high-resolution displays.
- Fully compatible with all web browsers.
- Can be seamlessly integrated into any program using libjpeg.
Releases
Compiling
See BUILDING.