libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. It is faster than libjpeg and provides API/ABI compatibility with it.
libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. It is licensed under a non-viral OSI-approved license that makes it suitable for use in closed-source products.
libjpeg-turbo implements both the traditional libjpeg API as well as the less abstract TurboJPEG API. libjpeg-turbo consists of a compression frontend (turbojpeg), a decompression library, and a version of the libjpeg runtime library. The decompression library is what accelerates JPEG compression/decompression on supported platforms, but the turbojpeg module provides additional functions for efficient transcoding between different JPEG formats without loss of quality.
libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated derivative of libjpeg v6b developed by Miyasaka Masaru. The TigerVNC and VirtualGL projects made numerous enhancements to the codec in 2009, and libjpeg-turbo spun off into an independent project in 2010. libjpeg-turbo has since developed a large and active user base.
It delivers faster performance than libjpeg while still retaining API/ABI compatibility with it. This makes libjpeg-turbo a popular drop-in accelerated for libjpeg in a wide range of open source and commercial products.