github libjpeg-turbo/libjpeg-turbo 1.1.90
1.1.90 (1.2 beta1)

latest releases: 3.0.3, 3.0.2, 3.0.1...
8 years ago

Official binaries and source tarball are available at:
https://sourceforge.net/projects/libjpeg-turbo/files/1.1.90%20%281.2beta1%29/

Significant changes relative to 1.1.1:

  1. Added a Java wrapper for the TurboJPEG API. See java/README for more details.
  2. The TurboJPEG API can now be used to scale down images during decompression.
  3. Added SIMD routines for RGB-to-grayscale color conversion, which significantly improves the performance of grayscale JPEG compression from an RGB source image.
  4. Improved the performance of the C color conversion routines, which are used on platforms for which SIMD acceleration is not available.
  5. Added a function to the TurboJPEG API that performs lossless transforms. This function is implemented using the same back end as jpegtran, but it performs transcoding entirely in memory and allows multiple transforms and/or crop operations to be batched together, so the source coefficients only need to be read once. This is useful when generating image tiles from a single source JPEG.
  6. Added tests for the new TurboJPEG scaled decompression and lossless transform features to tjbench (the TurboJPEG benchmark, formerly called "jpgtest".)
  7. Added support for 4:4:0 (transposed 4:2:2) subsampling in TurboJPEG, which was necessary in order for it to read 4:2:2 JPEG files that had been losslessly transposed or rotated 90 degrees.
  8. All legacy VirtualGL code has been re-factored, and this has allowed libjpeg-turbo, in its entirety, to be re-licensed under a BSD-style license.
  9. libjpeg-turbo can now be built with Yasm.
  10. Added SIMD acceleration for ARM Linux and iOS platforms that support NEON instructions.
  11. Refactored the TurboJPEG C API and documented it using Doxygen. The TurboJPEG 1.2 API uses pixel formats to define the size and component order of the uncompressed source/destination images, and it includes a more efficient version of TJBUFSIZE() that computes a worst-case JPEG size based on the level of chrominance subsampling. The refactored implementation of the TurboJPEG API now uses the libjpeg memory source and destination managers, which allows the TurboJPEG compressor to grow the JPEG buffer as necessary.
  12. Eliminated errors in the output of jpegtran on Windows that occurred when the application was invoked using I/O redirection (jpegtran <input.jpg >output.jpg.)
  13. The inclusion of libjpeg v7 and v8 emulation as well as arithmetic coding support in libjpeg-turbo v1.1.0 introduced several new error constants in jerror.h, and these were mistakenly enabled for all emulation modes, causing the error enum in libjpeg-turbo to sometimes have different values than the same enum in libjpeg. This represents an ABI incompatibility, and it caused problems with rare applications that took specific action based on a particular error value. The fix was to include the new error constants conditionally based on whether libjpeg v7 or v8 emulation was enabled.
  14. Fixed an issue whereby Windows applications that used libjpeg-turbo would fail to compile if the Windows system headers were included before jpeglib.h. This issue was caused by a conflict in the definition of the INT32 type.
  15. Fixed 32-bit supplementary package for amd64 Debian systems, which was broken by enhancements to the packaging system in 1.1.
  16. When decompressing a JPEG image using an output colorspace of JCS_EXT_RGBX, JCS_EXT_BGRX, JCS_EXT_XBGR, or JCS_EXT_XRGB, libjpeg-turbo will now set the unused byte to 0xFF, which allows applications to interpret that byte as an alpha channel (0xFF = opaque).

Don't miss a new libjpeg-turbo release

NewReleases is sending notifications on new releases.