Free library with SIMD functions
libjpeg-turbo is a JPEG image codec that uses a class of parallel computers called single instruction, multiple data (SIMD). This includes instructions for processors like MMX, SSE2, AVX2, NEON, and AltiVec. The SIMD instructions are used to accelerate baseline JPEG file compression or decompression on x86, x86-64, ARM, and PowerPC systems. This program followed the libjpeg program but outperforms it by being 2 - 6 times faster than its predecessor. Through the processor's highly-optimized Huffman coding routines, this tool runs faster and smoother than its other proprietary high-speed JPEG codecs.
What is libjpeg-turbo?
libjpeg-turbo was initially founded on libjpeg/SIMD, an MMX-quickened subsidiary of libjpeg v6b created by Miyasaka Masaru. The TigerVNC and VirtualGL ventures made various upgrades to the codec in the late 2000s. This utility program spun off into an autonomous task with the objective of making rapid JPEG pressure or decompression innovation accessible to a more extensive scope of clients and engineers.
The open-source venture was named this way as it gives a SIMD-quickened execution of the business standard libjpeg API. The library we give that executes that API is the two API/ABI, which are good and numerically perfect with libjpeg v6b. It can likewise alternatively be designed to be API/ABI with libjpeg v7 and v8. Note that it does exclude support for the non-standard SmartScale group presented in libjpeg v8.
This tool actualizes both the customary libjpeg API, but not as well as the progressively clear TurboJPEG API. TurboJPEG is a more elevated level API, initially created for use by VirtualGL and TurboVNC. They have different undertakings but all said programs are open source and presently use it, as well. Another difference between the two is that the latter has a simple-to-utilize interface for packing and decompressing JPEG pictures in memory.
Why use libjpeg-turbo?
Inside libjpeg-turbo, the TurboJPEG API is given by the method of a covering library that calls down to the libjpeg API. This particular program, on the other hand, includes colorspace expansions that permit it to pack from or decompress to 32-piece and enormous endian pixel cradles—RGBX and XBGR—just like a full-highlighted Java interface.