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

x86B43EA603F38ABF7F0997405E3857F26CBE9F07871201079B6958C191079778AE
x645A71EA596C573EA3B44C8E7B5E78613D3A28DC9490DC714E7222C9F63F55E454

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
x86347BC5ACF65928FE5E8ABEACC897F73FFFF3BDBA1B327B473D31DA10DB629174
x64FC65BD7B101F063A6CDD74F620A5F1757AE8ECE04CBEB45B2F55371DA99B8859
3.1.4
x868EA07ECC88A7AF544C8242AE63B341DB9C1880A30698263A026709006C877108
x6484B2AFCAAA780A9013978195418093F14DEEC8FBD97A0D1FF4E6695658F5A6A2
3.1.3
x86406709BEA143A8A1094E9C6DB05854E3548C5E6D734A7BF886EC46B6E131BB84
x646FE03BD8666B038E81F506C8239525A76AB034FAEBDDD532827180BFE46674F3
3.1.2
x8656132D86399DC6C8ED822E5E0BD182D7E795AAABDF6F8DF50572272AE0ADE78F
x64AB82AE062BD277FFBF42BAF866BA4019F139E9E84C87663C403A3C7D5DCA192D
3.1.1
x86A978623DFF49C109599480C6D4F57D723EACBE113023528F669B00717BF95842
x64B1C5A13774C31461BC78DD97A80CCB054B9F5B53AEF28D1AE36681320AD38929
3.1.0
x8624DF4557587521BABEE22E297DB93B24C5F8061FE812294887A9348E176E43B4
x6478E32F0144A0B2CB419A7D6E8EEA34303B4D9C7A4C30F4026459DAC280AD2D01
3.0.4
x86043DFD0761CA69F8EF496A9F9CF2F59A1CE53D2C5475C391FC1A2143BBD9D9C1
x648814E0D2BABC690B54E4EE6D501AA7812511A28ADDB393BC76806903DD8EB97F
3.0.3
x86AFE9B0C61932EDD2E11757586AFB40BE1A283ED82A3A3F1F4735261AA40985B3
x6462A8B30501BFEB01CEF518593A52D8ABEC15030636ECBFF19249C41ACA810623
3.0.2
x866BF8E38A51A2ED86D0865A181D7BF3B12B7EF2C9904E620C2B8CEBF1E608003A
x647BABBA8C2C47C05ABBB93024D580DEFF903918006D1888FA8A3F881CD62F47CE
3.0.0
x86ECE29751FBEDEF6867CB0200943216B848C82EED354F81DD58CA3930472D5A1F
x64B9D7016DCEC0EFA5948ADEC19E12A81B2AFF70396B2F4843E91BA5CBCBE0D9AD