libjpeg-turbo SDK for GCC

libjpeg-turbo · libjpeg-turbo.libjpeg-turbo.GCC

SIMD-accelerated libjpeg-compatible JPEG codec library

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.

winget install --id libjpeg-turbo.libjpeg-turbo.GCC --exact --source winget

Latest 3.1.4.1

Release Notes

Significant changes relative to 3.1.4:

  1. Fixed multiple issues, some long-standing and some that were regressions introduced in 3.1.4, that made the CMake package config files non-relocatable and broke the --prefix option to cmake --install. Significant changes relative to 3.1.3:
  2. Fixed an issue in the TurboJPEG 2.x compatibility wrapper whereby, if a calling program attempted to decompress a lossless JPEG image using tjDecompress2() with decompression scaling, the decompressed image was unexpectedly unscaled. This could have led to a buffer overrun if the caller allocated the packed-pixel destination buffer based on the assumption that the decompressed image would be scaled down.
  3. The SIMD dispatchers now use getauxval() or elf_aux_info(), if available, to detect support for Neon and AltiVec instructions on AArch32 and PowerPC Linux, Android, and *BSD systems.
  4. Hardened the libjpeg API against hypothetical applications that may erroneously set one of the exposed quantization table values to 0 just before calling jpeg_start_compress(). (This would never happen in a correctly-written program, because jpeg_add_quant_table() clamps all values less than 1.)
  5. Fixed a division-by-zero error that occurred when attempting to use the jpegtran -drop option with a specially-crafted malformed drop image (specifically an image in which one or more of the quantization table values was 0.)
  6. Fixed an issue in the TurboJPEG API library's data destination manager that manifested as:
    • a memory leak that occurred if a pre-allocated JPEG destination buffer was passed to tj3Compress*() or tj3Transform(), TJPARAM_NOREALLOC was unset, and it was necessary for the library to re-allocate the buffer to accommodate the destination image, and
    • a potential caller double free that occurred if pre-allocated JPEG destination buffers were passed to tj3Transform(), multiple lossless transform operations were performed, and it was necessary for the library to re-allocate the second buffer to accommodate the second destination image.
  7. Fixed an issue in tj3Transform() whereby, if TJPARAM_SAVEMARKERS was set to 2 or 4, TJXOPT_COPYNONE was not specified, an ICC profile was extracted from the source image, and another ICC profile was associated with the TurboJPEG instance using tj3SetICCProfile(), both profiles were embedded in the destination image. The documented API behavior is for TJXOPT_COPYNONE to take precedence over TJPARAM_SAVEMARKERS and for TJPARAM_SAVEMARKERS to take precedence over the associated ICC profile. Thus, tj3Transform() now ignores the associated ICC profile unless TJXOPT_COPYNONE is specified or TJPARAM_SAVEMARKERS is set to something other than 2 or 4.
  8. Fixed an oversight in the libjpeg API whereby, if a calling application manually set cinfo.Ss (the predictor selection value) to a value less than 1 or greater than 7 after calling jpeg_enable_lossless() and prior to calling jpeg_start_compress(), an incorrect (all white) lossless JPEG image was silently generated.
  9. Further hardened the TurboJPEG Java API against hypothetical applications that may erroneously pass huge values to one of the compression, YUV encoding, decompression, YUV decoding, or packed-pixel image I/O methods, leading to signed integer overflow in the JNI wrapper's buffer size checks that rendered those checks ineffective.

Installer type: nullsoft

Architecture Scope Download SHA256
x86 Download 347BC5ACF65928FE5E8ABEACC897F73FFFF3BDBA1B327B473D31DA10DB629174
x64 Download FC65BD7B101F063A6CDD74F620A5F1757AE8ECE04CBEB45B2F55371DA99B8859

Details

Homepage
https://libjpeg-turbo.org/
License
IJG license, Modified (3-clause) BSD License and zlib License
Publisher
libjpeg-turbo
Support
https://github.com/libjpeg-turbo/libjpeg-turbo/issues
Copyright
Copyright (C)2009-2026 D. R. Commander. All Rights Reserved.

Tags

jpeglibjpeg

Older versions (9)

3.1.4
Architecture Scope Download SHA256
x86 Download 8EA07ECC88A7AF544C8242AE63B341DB9C1880A30698263A026709006C877108
x64 Download 84B2AFCAAA780A9013978195418093F14DEEC8FBD97A0D1FF4E6695658F5A6A2
3.1.3
Architecture Scope Download SHA256
x86 Download 406709BEA143A8A1094E9C6DB05854E3548C5E6D734A7BF886EC46B6E131BB84
x64 Download 6FE03BD8666B038E81F506C8239525A76AB034FAEBDDD532827180BFE46674F3
3.1.2
Architecture Scope Download SHA256
x86 Download 56132D86399DC6C8ED822E5E0BD182D7E795AAABDF6F8DF50572272AE0ADE78F
x64 Download AB82AE062BD277FFBF42BAF866BA4019F139E9E84C87663C403A3C7D5DCA192D
3.1.1
Architecture Scope Download SHA256
x86 Download A978623DFF49C109599480C6D4F57D723EACBE113023528F669B00717BF95842
x64 Download B1C5A13774C31461BC78DD97A80CCB054B9F5B53AEF28D1AE36681320AD38929
3.1.0
Architecture Scope Download SHA256
x86 Download 24DF4557587521BABEE22E297DB93B24C5F8061FE812294887A9348E176E43B4
x64 Download 78E32F0144A0B2CB419A7D6E8EEA34303B4D9C7A4C30F4026459DAC280AD2D01
3.0.4
Architecture Scope Download SHA256
x86 Download 043DFD0761CA69F8EF496A9F9CF2F59A1CE53D2C5475C391FC1A2143BBD9D9C1
x64 Download 8814E0D2BABC690B54E4EE6D501AA7812511A28ADDB393BC76806903DD8EB97F
3.0.3
Architecture Scope Download SHA256
x86 Download AFE9B0C61932EDD2E11757586AFB40BE1A283ED82A3A3F1F4735261AA40985B3
x64 Download 62A8B30501BFEB01CEF518593A52D8ABEC15030636ECBFF19249C41ACA810623
3.0.2
Architecture Scope Download SHA256
x86 Download 6BF8E38A51A2ED86D0865A181D7BF3B12B7EF2C9904E620C2B8CEBF1E608003A
x64 Download 7BABBA8C2C47C05ABBB93024D580DEFF903918006D1888FA8A3F881CD62F47CE
3.0.0
Architecture Scope Download SHA256
x86 Download ECE29751FBEDEF6867CB0200943216B848C82EED354F81DD58CA3930472D5A1F
x64 Download B9D7016DCEC0EFA5948ADEC19E12A81B2AFF70396B2F4843E91BA5CBCBE0D9AD