1.1.90 (1.2 beta1)
==================
-[1] Added a JNI wrapper for TurboJPEG/OSS. See java/README for more details.
+[1] Added a Java wrapper for TurboJPEG/OSS. See java/README for more details.
[2] TurboJPEG/OSS can now scale down images during decompression.
significantly improves the performance of grayscale JPEG compression from an
RGB source image.
-[4] Improved performance for non-x86 machines.
+[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 which performs lossless transforms.
-This function uses 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.
+[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] Modified jpgtest to benchmark the new scaled decompression and lossless
-transform features in TurboJPEG/OSS.
+[6] Added tests for the new TurboJPEG scaled decompression and lossless
+transform features to tjbench (the TurboJPEG benchmark.)
[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
[10] Added SIMD acceleration for ARM Linux and iOS platforms that support
NEON instructions.
-[11] Refactored the TurboJPEG C API so that it uses pixel formats to define the
-size and component order of the uncompressed source/destination images as well
-as uses the libjpeg memory source and destination managers. The latter allows
-the TurboJPEG compressor to grow the JPEG buffer as necessary.
+[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 TurboJPEG/OSS
+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
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] Implemented a more efficient version of TJBUFSIZE() which computes a
-worst-case JPEG size based on the level of chrominance subsampling.
-
-[16] Fixed 32-bit supplementary package for amd64 Debian systems which was
+[15] Fixed 32-bit supplementary package for amd64 Debian systems, which was
broken by enhancements to the packaging system in 1.1.
-[17] When decompressing a JPEG image using an output colorspace of
+[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).