Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(311)

Side by Side Diff: ChangeLog.txt

Issue 10386084: Update libjpeg-turbo. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libjpeg_turbo/
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | README » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1.3 pre-beta
2 ============
3
4 [1] Added support for additional scaling factors (3/8, 5/8, 3/4, 7/8, 9/8, 5/4,
5 11/8, 3/2, 13/8, 7/4, 15/8, and 2) when decompressing. Note that the IDCT will
6 not be SIMD-accelerated when using any of these new scaling factors.
7
8 [2] Added SIMD acceleration for performing 4:2:2 upsampling on NEON-capable ARM
9 platforms. This speeds up the decompression of 4:2:2 JPEGs by 20-25% on such
10 platforms.
11
12 [3] Creating or decoding a JPEG file that uses the RGB colorspace should now
13 properly work when the input or output colorspace is one of the libjpeg-turbo
14 colorspace extensions.
15
16 [4] When libjpeg-turbo was built without SIMD support and merged (non-fancy)
17 upsampling was used along with an alpha-enabled colorspace during
18 decompression, the unused byte of the decompressed pixels was not being set to
19 0xFF. This has been fixed. TJUnitTest has also been extended to test for the
20 correct behavior of the colorspace extensions when merged upsampling is used.
21
22 [5] The TurboJPEG dynamic library is now versioned. It was not strictly
23 necessary to do so, because TurboJPEG uses versioned symbols, and if a function
24 changes in an ABI-incompatible way, that function is renamed and a legacy
25 function is provided to maintain backward compatibility. However, certain
26 Linux distro maintainers will blindly reject any library that is not versioned,
27 so this was an attempt to make them happy.
28
29 [6] Fixed a bug whereby the libjpeg-turbo SSE2 SIMD code would not preserve the
30 upper 64 bits of xmm6 and xmm7 on Win64 platforms, which violated the Win64
31 calling conventions.
32
33
1 1.2.0 34 1.2.0
2 ===== 35 =====
3 36
4 [1] Fixed build issue with YASM on Unix systems (the libjpeg-turbo build system 37 [1] Fixed build issue with YASM on Unix systems (the libjpeg-turbo build system
5 was not adding the current directory to the assembler include path, so YASM 38 was not adding the current directory to the assembler include path, so YASM
6 was not able to find jsimdcfg.inc.) 39 was not able to find jsimdcfg.inc.)
7 40
8 [2] Fixed out-of-bounds read in SSE2 SIMD code that occurred when decompressing 41 [2] Fixed out-of-bounds read in SSE2 SIMD code that occurred when decompressing
9 a JPEG image to a bitmap buffer whose size was not a multiple of 16 bytes. 42 a JPEG image to a bitmap buffer whose size was not a multiple of 16 bytes.
10 This was more of an annoyance than an actual bug, since it did not cause any 43 This was more of an annoyance than an actual bug, since it did not cause any
11 actual run-time problems, but the issue showed up when running libjpeg-turbo in 44 actual run-time problems, but the issue showed up when running libjpeg-turbo in
12 valgrind. See http://crbug.com/72399 for more information. 45 valgrind. See http://crbug.com/72399 for more information.
13 46
14 [3] Added a compile-time macro (LIBJPEG_TURBO_VERSION) that can be used to 47 [3] Added a compile-time macro (LIBJPEG_TURBO_VERSION) that can be used to
15 check the version of libjpeg-turbo against which an application was compiled. 48 check the version of libjpeg-turbo against which an application was compiled.
16 49
17 [4] Added new RGBA/BGRA/ABGR/ARGB colorspace extension constants (libjpeg API) 50 [4] Added new RGBA/BGRA/ABGR/ARGB colorspace extension constants (libjpeg API)
18 and pixel formats (TurboJPEG API), which allow applications to specify that, 51 and pixel formats (TurboJPEG API), which allow applications to specify that,
19 when decompressing to a 4-component RGB buffer, the unused byte should be set 52 when decompressing to a 4-component RGB buffer, the unused byte should be set
20 to 0xFF so that it can be interpreted as an opaque alpha channel. 53 to 0xFF so that it can be interpreted as an opaque alpha channel.
21 54
55 [5] Fixed regression issue whereby DevIL failed to build against libjpeg-turbo
56 because libjpeg-turbo's distributed version of jconfig.h contained an INLINE
57 macro, which conflicted with a similar macro in DevIL. This macro is used only
58 internally when building libjpeg-turbo, so it was moved into config.h.
59
60 [6] libjpeg-turbo will now correctly decompress erroneous CMYK/YCCK JPEGs whose
61 K component is assigned a component ID of 1 instead of 4. Although these files
62 are in violation of the spec, other JPEG implementations handle them
63 correctly.
64
65 [7] Added ARM v6 and ARM v7 architectures to libjpeg.a and libturbojpeg.a in
66 the official OS X distribution package, so that those libraries can be used to
67 build both OS X and iOS applications.
68
22 69
23 1.1.90 (1.2 beta1) 70 1.1.90 (1.2 beta1)
24 ================== 71 ==================
25 72
26 [1] Added a Java wrapper for the TurboJPEG API. See java/README for more 73 [1] Added a Java wrapper for the TurboJPEG API. See java/README for more
27 details. 74 details.
28 75
29 [2] The TurboJPEG API can now be used to scale down images during 76 [2] The TurboJPEG API can now be used to scale down images during
30 decompression. 77 decompression.
31 78
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 210
164 211
165 1.0.90 (1.1 beta1) 212 1.0.90 (1.1 beta1)
166 ================== 213 ==================
167 214
168 [1] Added emulation of the libjpeg v7 and v8 APIs and ABIs. See 215 [1] Added emulation of the libjpeg v7 and v8 APIs and ABIs. See
169 README-turbo.txt for more details. This feature was sponsored by CamTrace SAS. 216 README-turbo.txt for more details. This feature was sponsored by CamTrace SAS.
170 217
171 [2] Created a new CMake-based build system for the Visual C++ and MinGW builds. 218 [2] Created a new CMake-based build system for the Visual C++ and MinGW builds.
172 219
173 [3] TurboJPEG/OSS can now compress from/decompress to grayscale bitmaps. 220 [3] Grayscale bitmaps can now be compressed from/decompressed to using the
221 TurboJPEG API.
174 222
175 [4] jpgtest can now be used to test decompression performance with existing 223 [4] jpgtest can now be used to test decompression performance with existing
176 JPEG images. 224 JPEG images.
177 225
178 [5] If the default install prefix (/opt/libjpeg-turbo) is used, then 226 [5] If the default install prefix (/opt/libjpeg-turbo) is used, then
179 'make install' now creates /opt/libjpeg-turbo/lib32 and 227 'make install' now creates /opt/libjpeg-turbo/lib32 and
180 /opt/libjpeg-turbo/lib64 sym links to duplicate the behavior of the binary 228 /opt/libjpeg-turbo/lib64 sym links to duplicate the behavior of the binary
181 packages. 229 packages.
182 230
183 [6] All symbols in the libjpeg-turbo dynamic library are now versioned, even 231 [6] All symbols in the libjpeg-turbo dynamic library are now versioned, even
184 when the library is built with libjpeg v6b emulation. 232 when the library is built with libjpeg v6b emulation.
185 233
186 [7] Added arithmetic encoding and decoding support (can be disabled with 234 [7] Added arithmetic encoding and decoding support (can be disabled with
187 configure or CMake options) 235 configure or CMake options)
188 236
189 [8] Added a TJ_YUV flag to TurboJPEG/OSS which causes both the compressor and 237 [8] Added a TJ_YUV flag to the TurboJPEG API, which causes both the compressor
190 decompressor to output planar YUV images. 238 and decompressor to output planar YUV images.
191 239
192 [9] Added an extended version of tjDecompressHeader() to TurboJPEG/OSS which 240 [9] Added an extended version of tjDecompressHeader() to the TurboJPEG API,
193 allows the caller to determine the type of subsampling used in a JPEG image. 241 which allows the caller to determine the type of subsampling used in a JPEG
242 image.
194 243
195 [10] Added further protections against invalid Huffman codes. 244 [10] Added further protections against invalid Huffman codes.
196 245
197 246
198 1.0.1 247 1.0.1
199 ===== 248 =====
200 249
201 [1] The Huffman decoder will now handle erroneous Huffman codes (for instance, 250 [1] The Huffman decoder will now handle erroneous Huffman codes (for instance,
202 from a corrupt JPEG image.) Previously, these would cause libjpeg-turbo to 251 from a corrupt JPEG image.) Previously, these would cause libjpeg-turbo to
203 crash under certain circumstances. 252 crash under certain circumstances.
204 253
205 [2] Fixed typo in SIMD dispatch routines which was causing 4:2:2 upsampling to 254 [2] Fixed typo in SIMD dispatch routines that was causing 4:2:2 upsampling to
206 be used instead of 4:2:0 when decompressing JPEG images using SSE2 code. 255 be used instead of 4:2:0 when decompressing JPEG images using SSE2 code.
207 256
208 [3] configure script will now automatically determine whether the 257 [3] configure script will now automatically determine whether the
209 INCOMPLETE_TYPES_BROKEN macro should be defined. 258 INCOMPLETE_TYPES_BROKEN macro should be defined.
210 259
211 260
212 1.0.0 261 1.0.0
213 ===== 262 =====
214 263
215 [1] 2983700: Further FreeBSD build tweaks (no longer necessary to specify 264 [1] 2983700: Further FreeBSD build tweaks (no longer necessary to specify
216 --host when configuring on a 64-bit system) 265 --host when configuring on a 64-bit system)
217 266
218 [2] Created sym. links in the Unix/Linux packages so that the TurboJPEG 267 [2] Created sym. links in the Unix/Linux packages so that the TurboJPEG
219 include file can always be found in /opt/libjpeg-turbo/include, the 32-bit 268 include file can always be found in /opt/libjpeg-turbo/include, the 32-bit
220 static libraries can always be found in /opt/libjpeg-turbo/lib32, and the 269 static libraries can always be found in /opt/libjpeg-turbo/lib32, and the
221 64-bit static libraries can always be found in /opt/libjpeg-turbo/lib64. 270 64-bit static libraries can always be found in /opt/libjpeg-turbo/lib64.
222 271
223 [3] The Unix/Linux distribution packages now include the libjpeg run-time 272 [3] The Unix/Linux distribution packages now include the libjpeg run-time
224 programs (cjpeg, etc.) and man pages. 273 programs (cjpeg, etc.) and man pages.
225 274
226 [4] Created a 32-bit supplementary package for amd64 Debian systems which 275 [4] Created a 32-bit supplementary package for amd64 Debian systems, which
227 contains just the 32-bit libjpeg-turbo libraries. 276 contains just the 32-bit libjpeg-turbo libraries.
228 277
229 [5] Moved the libraries from */lib32 to */lib in the i386 Debian package. 278 [5] Moved the libraries from */lib32 to */lib in the i386 Debian package.
230 279
231 [6] Include distribution package for Cygwin 280 [6] Include distribution package for Cygwin
232 281
233 [7] No longer necessary to specify --without-simd on non-x86 architectures, and 282 [7] No longer necessary to specify --without-simd on non-x86 architectures, and
234 unit tests now work on those architectures. 283 unit tests now work on those architectures.
235 284
236 285
(...skipping 11 matching lines...) Expand all
248 [1] Added documentation to .deb packages 297 [1] Added documentation to .deb packages
249 298
250 [2] 2968313: Fixed data corruption issues when decompressing large JPEG images 299 [2] 2968313: Fixed data corruption issues when decompressing large JPEG images
251 and/or using buffered I/O with the libjpeg-turbo decompressor 300 and/or using buffered I/O with the libjpeg-turbo decompressor
252 301
253 302
254 0.0.90 303 0.0.90
255 ====== 304 ======
256 305
257 Initial release 306 Initial release
OLDNEW
« no previous file with comments | « no previous file | README » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698