OLD | NEW |
1 1.1.90 (1.2 beta1) | 1 1.1.90 (1.2 beta1) |
2 ================== | 2 ================== |
3 | 3 |
4 [1] Added a JNI wrapper for TurboJPEG/OSS. See java/README for more details. | 4 [1] Added a Java wrapper for the TurboJPEG API. See java/README for more |
| 5 details. |
5 | 6 |
6 [2] TurboJPEG/OSS can now scale down images during decompression. | 7 [2] The TurboJPEG API can now be used to scale down images during |
| 8 decompression. |
7 | 9 |
8 [3] Added SIMD routines for RGB-to-grayscale color conversion, which | 10 [3] Added SIMD routines for RGB-to-grayscale color conversion, which |
9 significantly improves the performance of grayscale JPEG compression from an | 11 significantly improves the performance of grayscale JPEG compression from an |
10 RGB source image. | 12 RGB source image. |
11 | 13 |
12 [4] Improved performance for non-x86 machines. | 14 [4] Improved the performance of the C color conversion routines, which are used |
| 15 on platforms for which SIMD acceleration is not available. |
13 | 16 |
14 [5] Added a function to the TurboJPEG API which performs lossless transforms. | 17 [5] Added a function to the TurboJPEG API that performs lossless transforms. |
15 This function uses the same back end as jpegtran, but it performs transcoding | 18 This function is implemented using the same back end as jpegtran, but it |
16 entirely in memory and allows multiple transforms and/or crop operations to be | 19 performs transcoding entirely in memory and allows multiple transforms and/or |
17 batched together, so the source coefficients only need to be read once. This | 20 crop operations to be batched together, so the source coefficients only need to |
18 is useful when generating image tiles from a single source JPEG. | 21 be read once. This is useful when generating image tiles from a single source |
| 22 JPEG. |
19 | 23 |
20 [6] Modified jpgtest to benchmark the new scaled decompression and lossless | 24 [6] Added tests for the new TurboJPEG scaled decompression and lossless |
21 transform features in TurboJPEG/OSS. | 25 transform features to tjbench (the TurboJPEG benchmark, formerly called |
| 26 "jpgtest".) |
22 | 27 |
23 [7] Added support for 4:4:0 (transposed 4:2:2) subsampling in TurboJPEG, which | 28 [7] Added support for 4:4:0 (transposed 4:2:2) subsampling in TurboJPEG, which |
24 was necessary in order for it to read 4:2:2 JPEG files that had been losslessly | 29 was necessary in order for it to read 4:2:2 JPEG files that had been losslessly |
25 transposed or rotated 90 degrees. | 30 transposed or rotated 90 degrees. |
26 | 31 |
27 [8] All legacy VirtualGL code has been re-factored, and this has allowed | 32 [8] All legacy VirtualGL code has been re-factored, and this has allowed |
28 libjpeg-turbo, in its entirety, to be re-licensed under a BSD-style license. | 33 libjpeg-turbo, in its entirety, to be re-licensed under a BSD-style license. |
29 | 34 |
30 [9] libjpeg-turbo can now be built with YASM. | 35 [9] libjpeg-turbo can now be built with YASM. |
31 | 36 |
32 [10] Added SIMD-accelerated fast integer inverse DCT and YCbCr-to-RGB color | 37 [10] Added SIMD acceleration for ARM Linux and iOS platforms that support |
33 conversion routines to accelerate JPEG decoding on ARM Linux and iOS platforms | 38 NEON instructions. |
34 that have NEON instructions. | |
35 | 39 |
36 [11] Refactored the TurboJPEG C API so that it uses pixel formats to define the | 40 [11] Refactored the TurboJPEG C API and documented it using Doxygen. The |
37 size and component order of the uncompressed source/destination images as well | 41 TurboJPEG 1.2 API uses pixel formats to define the size and component order of |
38 as uses the libjpeg memory source and destination managers. The latter allows | 42 the uncompressed source/destination images, and it includes a more efficient |
39 the TurboJPEG compressor to grow the JPEG buffer as necessary. | 43 version of TJBUFSIZE() that computes a worst-case JPEG size based on the level |
| 44 of chrominance subsampling. The refactored implementation of TurboJPEG/OSS |
| 45 now uses the libjpeg memory source and destination managers, which allows the |
| 46 TurboJPEG compressor to grow the JPEG buffer as necessary. |
40 | 47 |
41 [12] Eliminated errors in the output of jpegtran on Windows that occurred when | 48 [12] Eliminated errors in the output of jpegtran on Windows that occurred when |
42 the application was invoked using I/O redirection | 49 the application was invoked using I/O redirection |
43 (jpegtran <input.jpg >output.jpg). | 50 (jpegtran <input.jpg >output.jpg). |
44 | 51 |
45 [13] The inclusion of libjpeg v7 and v8 emulation as well as arithmetic coding | 52 [13] The inclusion of libjpeg v7 and v8 emulation as well as arithmetic coding |
46 support in libjpeg-turbo v1.1.0 introduced several new error constants in | 53 support in libjpeg-turbo v1.1.0 introduced several new error constants in |
47 jerror.h, and these were mistakenly enabled for all emulation modes, causing | 54 jerror.h, and these were mistakenly enabled for all emulation modes, causing |
48 the error enum in libjpeg-turbo to sometimes have different values than the | 55 the error enum in libjpeg-turbo to sometimes have different values than the |
49 same enum in libjpeg. This represents an ABI incompatibility, and it caused | 56 same enum in libjpeg. This represents an ABI incompatibility, and it caused |
50 problems with rare applications that took specific action based on a particular | 57 problems with rare applications that took specific action based on a particular |
51 error value. The fix was to include the new error constants conditionally | 58 error value. The fix was to include the new error constants conditionally |
52 based on whether libjpeg v7 or v8 emulation was enabled. | 59 based on whether libjpeg v7 or v8 emulation was enabled. |
53 | 60 |
54 [14] Fixed an issue whereby Windows applications that used libjpeg-turbo would | 61 [14] Fixed an issue whereby Windows applications that used libjpeg-turbo would |
55 fail to compile if the Windows system headers were included before jpeglib.h. | 62 fail to compile if the Windows system headers were included before jpeglib.h. |
56 This issue was caused by a conflict in the definition of the INT32 type. | 63 This issue was caused by a conflict in the definition of the INT32 type. |
57 | 64 |
58 [15] Implemented a more efficient version of TJBUFSIZE() which computes a | 65 [15] Fixed 32-bit supplementary package for amd64 Debian systems, which was |
59 worst-case JPEG size based on the level of chrominance subsampling. | 66 broken by enhancements to the packaging system in 1.1. |
60 | 67 |
61 [16] Fixed 32-bit supplementary package for amd64 Debian systems which was | 68 [16] When decompressing a JPEG image using an output colorspace of |
62 broken by enhancements to the packaging system in 1.1. | 69 JCS_EXT_RGBX, JCS_EXT_BGRX, JCS_EXT_XBGR, or JCS_EXT_XRGB, libjpeg-turbo will |
| 70 now set the unused byte to 0xFF, which allows applications to interpret that |
| 71 byte as an alpha channel (0xFF = opaque). |
63 | 72 |
64 | 73 |
65 1.1.1 | 74 1.1.1 |
66 ===== | 75 ===== |
67 | 76 |
68 [1] Fixed a 1-pixel error in row 0, column 21 of the luminance plane generated | 77 [1] Fixed a 1-pixel error in row 0, column 21 of the luminance plane generated |
69 by tjEncodeYUV(). | 78 by tjEncodeYUV(). |
70 | 79 |
71 [2] libjpeg-turbo's accelerated Huffman decoder previously ignored unexpected | 80 [2] libjpeg-turbo's accelerated Huffman decoder previously ignored unexpected |
72 markers found in the middle of the JPEG data stream during decompression. It | 81 markers found in the middle of the JPEG data stream during decompression. It |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 [1] Added documentation to .deb packages | 226 [1] Added documentation to .deb packages |
218 | 227 |
219 [2] 2968313: Fixed data corruption issues when decompressing large JPEG images | 228 [2] 2968313: Fixed data corruption issues when decompressing large JPEG images |
220 and/or using buffered I/O with the libjpeg-turbo decompressor | 229 and/or using buffered I/O with the libjpeg-turbo decompressor |
221 | 230 |
222 | 231 |
223 0.0.90 | 232 0.0.90 |
224 ====== | 233 ====== |
225 | 234 |
226 Initial release | 235 Initial release |
OLD | NEW |