libjpeg-turbo: Free library with SIMD functions
libjpeg-turbo is a JPEG image codec that utilizes SIMD (single instruction, multiple data) functions. It supports processors like MMX, SSE2, AVX2, NEON, and AltiVec to accelerate JPEG file compression or decompression on Windows systems. Compared to its predecessor, libjpeg, this program is 2-6 times faster. It achieves this speed through highly-optimized Huffman coding routines. libjpeg-turbo is an open-source project that aims to provide fast JPEG compression or decompression technology to a wider range of users and developers.
The library implements both the traditional libjpeg API and the TurboJPEG API. The TurboJPEG API, originally developed for use by VirtualGL and TurboVNC, offers a higher-level interface for compressing and decompressing JPEG images in memory. libjpeg-turbo also provides a Java interface and supports 32-bit and big endian pixel buffers, such as RGBX and XBGR.
Overall, libjpeg-turbo is a powerful and efficient library for handling JPEG compression and decompression, with support for various processors and a user-friendly API.