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

ArchitectureScopeDownloadSHA256
x86DownloadB43EA603F38ABF7F0997405E3857F26CBE9F07871201079B6958C191079778AE
x64Download5A71EA596C573EA3B44C8E7B5E78613D3A28DC9490DC714E7222C9F63F55E454

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
ArchitectureScopeDownloadSHA256
x86Download347BC5ACF65928FE5E8ABEACC897F73FFFF3BDBA1B327B473D31DA10DB629174
x64DownloadFC65BD7B101F063A6CDD74F620A5F1757AE8ECE04CBEB45B2F55371DA99B8859
3.1.4
ArchitectureScopeDownloadSHA256
x86Download8EA07ECC88A7AF544C8242AE63B341DB9C1880A30698263A026709006C877108
x64Download84B2AFCAAA780A9013978195418093F14DEEC8FBD97A0D1FF4E6695658F5A6A2
3.1.3
ArchitectureScopeDownloadSHA256
x86Download406709BEA143A8A1094E9C6DB05854E3548C5E6D734A7BF886EC46B6E131BB84
x64Download6FE03BD8666B038E81F506C8239525A76AB034FAEBDDD532827180BFE46674F3
3.1.2
ArchitectureScopeDownloadSHA256
x86Download56132D86399DC6C8ED822E5E0BD182D7E795AAABDF6F8DF50572272AE0ADE78F
x64DownloadAB82AE062BD277FFBF42BAF866BA4019F139E9E84C87663C403A3C7D5DCA192D
3.1.1
ArchitectureScopeDownloadSHA256
x86DownloadA978623DFF49C109599480C6D4F57D723EACBE113023528F669B00717BF95842
x64DownloadB1C5A13774C31461BC78DD97A80CCB054B9F5B53AEF28D1AE36681320AD38929
3.1.0
ArchitectureScopeDownloadSHA256
x86Download24DF4557587521BABEE22E297DB93B24C5F8061FE812294887A9348E176E43B4
x64Download78E32F0144A0B2CB419A7D6E8EEA34303B4D9C7A4C30F4026459DAC280AD2D01
3.0.4
ArchitectureScopeDownloadSHA256
x86Download043DFD0761CA69F8EF496A9F9CF2F59A1CE53D2C5475C391FC1A2143BBD9D9C1
x64Download8814E0D2BABC690B54E4EE6D501AA7812511A28ADDB393BC76806903DD8EB97F
3.0.3
ArchitectureScopeDownloadSHA256
x86DownloadAFE9B0C61932EDD2E11757586AFB40BE1A283ED82A3A3F1F4735261AA40985B3
x64Download62A8B30501BFEB01CEF518593A52D8ABEC15030636ECBFF19249C41ACA810623
3.0.2
ArchitectureScopeDownloadSHA256
x86Download6BF8E38A51A2ED86D0865A181D7BF3B12B7EF2C9904E620C2B8CEBF1E608003A
x64Download7BABBA8C2C47C05ABBB93024D580DEFF903918006D1888FA8A3F881CD62F47CE
3.0.0
ArchitectureScopeDownloadSHA256
x86DownloadECE29751FBEDEF6867CB0200943216B848C82EED354F81DD58CA3930472D5A1F
x64DownloadB9D7016DCEC0EFA5948ADEC19E12A81B2AFF70396B2F4843E91BA5CBCBE0D9AD