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.2.0·June 30, 2026

Release Notes

Significant changes relative to 3.2 beta1:

  1. Fixed a regression introduced by 3.2 beta1[9] that broke Arm64EC Windows builds.
  2. Hardened the PNG writer (which is used by djpeg and tj3SaveImage*()) against applications that may erroneously attempt to write sample values that are out of range for the specified output data precision. This could have caused a buffer overrun in the PNG writer's rescale array if the output data precision was not 8 or 16 bits. The buffer overrun did not likely pose a security risk, since tj3SaveImage*() is not exposed to arbitrary external input data and since a caller that abused the API in the aforementioned manner could never work properly.
  3. Hardened the libjpeg API against hypothetical applications that may erroneously call jpeg_crop_scanline() with buffered-image mode and raw data output enabled. jpeg_crop_scanline() does not work with raw data output, but due to an oversight, it did not throw an error if both buffered-image mode and raw data output were enabled. If a hypothetical application aborted a normal decompression operation without reading any scanlines, started a new decompression operation using the same libjpeg instance with buffered-image mode and raw data output enabled, then called jpeg_crop_scanline() with arguments that would have caused any of the component planes to be cropped to a width of 1 sample, jpeg_crop_scanline() would have used freed memory. However, this did not likely pose a security risk, since an application that abused the API in the aforementioned manner could never work properly.
  4. Fixed a buffer overrun and subsequent segfault in jpegtran that occurred when attempting to use the -crop and -trim options to expand the width of an image narrower than one iMCU, discard partial iMCUs, and fill each block in the expanded region with the DC coefficient of the nearest block in the input image ("flatten.") Similarly, fixed an infinite loop that occurred when attempting to use the -crop and -trim options to expand the width of an image narrower than one iMCU, discard partial iMCUs, and fill the expanded region with repeated reflections of the input image ("reflect.") When the only iMCU column in the input image is partial and partial iMCUs are trimmed, the flatten and reflect extensions cannot work properly, so jpegtran now throws an error if that is the case. These issues were confined to the jpegtran application and thus did not pose a security risk.

Installer type: nullsoft

x86—B43EA603F38ABF7F0997405E3857F26CBE9F07871201079B6958C191079778AE
x64—5A71EA596C573EA3B44C8E7B5E78613D3A28DC9490DC714E7222C9F63F55E454

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 (10)

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