libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.
libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.
- 2-6x as fast as libjpeg on x86, x86-64, and ARM platforms
- 32-bit and 64-bit binaries provided for popular Linux distributions, Windows, OS X, and iOS
- Can be used in GPL and proprietary applications
- Provides the industry-standard libjpeg API/ABI (can emulate libjpeg v6b, v7, or v8, although libjpeg-turbo does not support the non-standard SmartScale format introduced in libjpeg v8)
- Provides the TurboJPEG API used by VirtualGL and TurboVNC
- Similar performance to commercial/closed source accelerated JPEG codecs
- Full-featured Java wrapper
I use it in release strength projects. Had to read (and modify a bit) source code. Works really well on both x86/x64 SSE and ARM (Android) NEON. May use a bit more work in modern AVX3 but overall good. Compared to GPU implementation of JPEG - beats it.
I've seen quite a few Jpeg libs. This one takes the cake.
Thanks for updates ;)
Libjpeg-turbo works wonderful.
Great software, thanks libjpeg-turbo