~ubuntu-branches/ubuntu/saucy/libjpeg-turbo/saucy-security

« back to all changes in this revision

Viewing changes to .pc/branch-updates.diff/ChangeLog.txt

  • Committer: Package Import Robot
  • Author(s): Fathi Boudra
  • Date: 2013-07-28 16:52:51 UTC
  • mfrom: (1.1.3) (9.1.1 saucy-proposed)
  • Revision ID: package-import@ubuntu.com-20130728165251-7vg6wszhm941kdej
Tags: 1.3.0-0ubuntu1
* New upstream release.
  - drop debian/patches/branch-updates.diff
  - refresh tjunittest.patch (now renamed to install-tjunittest.patch)
* Update debian/control:
  - add myself to Uploaders.
* Update debian/copyright:
  - add RSA Data Security copyright (md5).
* Update debian/libturbojpeg.install:
  - install libturbojpeg.so.0* (needed by tjunittest and tjbench).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
1.2.1
2
 
=====
3
 
 
4
 
[1] Creating or decoding a JPEG file that uses the RGB colorspace should now
5
 
properly work when the input or output colorspace is one of the libjpeg-turbo
6
 
colorspace extensions.
7
 
 
8
 
[2] When libjpeg-turbo was built without SIMD support and merged (non-fancy)
9
 
upsampling was used along with an alpha-enabled colorspace during
10
 
decompression, the unused byte of the decompressed pixels was not being set to
11
 
0xFF.  This has been fixed.  TJUnitTest has also been extended to test for the
12
 
correct behavior of the colorspace extensions when merged upsampling is used.
13
 
 
14
 
[3] Fixed a bug whereby the libjpeg-turbo SSE2 SIMD code would not preserve the
15
 
upper 64 bits of xmm6 and xmm7 on Win64 platforms, which violated the Win64
16
 
calling conventions.
17
 
 
18
 
[4] Fixed a regression caused by 1.2.0[6] whereby decompressing corrupt JPEG
19
 
images (specifically, images in which the component count was erroneously set
20
 
to a large value) would cause libjpeg-turbo to segfault.
21
 
 
22
 
[5] Worked around a severe performance issue with "Bobcat" (AMD Embedded APU)
23
 
processors.  The MASKMOVDQU instruction, which was used by the libjpeg-turbo
24
 
SSE2 SIMD code, is apparently implemented in microcode on AMD processors, and
25
 
it is painfully slow on Bobcat processors in particular.  Eliminating the use
26
 
of this instruction improved performance by an order of magnitude on Bobcat
27
 
processors and by a small amount (typically 5%) on AMD desktop processors.
28
 
 
29
 
[6] Added SIMD acceleration for performing 4:2:2 upsampling on NEON-capable ARM
30
 
platforms.  This speeds up the decompression of 4:2:2 JPEGs by 20-25% on such
31
 
platforms.
32
 
 
33
 
[7] Fixed a regression caused by 1.2.0[2] whereby, on Linux/x86 platforms
34
 
running the 32-bit SSE2 SIMD code in libjpeg-turbo, decompressing a 4:2:0 or
35
 
4:2:2 JPEG image into a 32-bit (RGBX, BGRX, etc.) buffer without using fancy
36
 
upsampling would produce several incorrect columns of pixels at the right-hand
37
 
side of the output image if each row in the output image was not evenly
38
 
divisible by 16 bytes.
39
 
 
40
 
[8] Fixed an issue whereby attempting to build the SIMD extensions with Xcode
41
 
4.3 on OS X platforms would cause NASM to return numerous errors of the form
42
 
"'%define' expects a macro identifier".
43
 
 
44
 
[9] Added flags to the TurboJPEG API that allow the caller to force the use of
45
 
either the fast or the accurate DCT/IDCT algorithms in the underlying codec.
46
 
 
47
 
 
48
 
1.2.0
49
 
=====
50
 
 
51
 
[1] Fixed build issue with YASM on Unix systems (the libjpeg-turbo build system
52
 
was not adding the current directory to the assembler include path, so YASM
53
 
was not able to find jsimdcfg.inc.)
54
 
 
55
 
[2] Fixed out-of-bounds read in SSE2 SIMD code that occurred when decompressing
56
 
a JPEG image to a bitmap buffer whose size was not a multiple of 16 bytes.
57
 
This was more of an annoyance than an actual bug, since it did not cause any
58
 
actual run-time problems, but the issue showed up when running libjpeg-turbo in
59
 
valgrind.  See http://crbug.com/72399 for more information.
60
 
 
61
 
[3] Added a compile-time macro (LIBJPEG_TURBO_VERSION) that can be used to
62
 
check the version of libjpeg-turbo against which an application was compiled.
63
 
 
64
 
[4] Added new RGBA/BGRA/ABGR/ARGB colorspace extension constants (libjpeg API)
65
 
and pixel formats (TurboJPEG API), which allow applications to specify that,
66
 
when decompressing to a 4-component RGB buffer, the unused byte should be set
67
 
to 0xFF so that it can be interpreted as an opaque alpha channel.
68
 
 
69
 
[5] Fixed regression issue whereby DevIL failed to build against libjpeg-turbo
70
 
because libjpeg-turbo's distributed version of jconfig.h contained an INLINE
71
 
macro, which conflicted with a similar macro in DevIL.  This macro is used only
72
 
internally when building libjpeg-turbo, so it was moved into config.h.
73
 
 
74
 
[6] libjpeg-turbo will now correctly decompress erroneous CMYK/YCCK JPEGs whose
75
 
K component is assigned a component ID of 1 instead of 4.  Although these files
76
 
are in violation of the spec, other JPEG implementations handle them
77
 
correctly.
78
 
 
79
 
[7] Added ARM v6 and ARM v7 architectures to libjpeg.a and libturbojpeg.a in
80
 
the official OS X distribution package, so that those libraries can be used to
81
 
build both OS X and iOS applications.
82
 
 
83
 
 
84
 
1.1.90 (1.2 beta1)
85
 
==================
86
 
 
87
 
[1] Added a Java wrapper for the TurboJPEG API.  See java/README for more
88
 
details.
89
 
 
90
 
[2] The TurboJPEG API can now be used to scale down images during
91
 
decompression.
92
 
 
93
 
[3] Added SIMD routines for RGB-to-grayscale color conversion, which
94
 
significantly improves the performance of grayscale JPEG compression from an
95
 
RGB source image.
96
 
 
97
 
[4] Improved the performance of the C color conversion routines, which are used
98
 
on platforms for which SIMD acceleration is not available.
99
 
 
100
 
[5] Added a function to the TurboJPEG API that performs lossless transforms.
101
 
This function is implemented using the same back end as jpegtran, but it
102
 
performs transcoding entirely in memory and allows multiple transforms and/or
103
 
crop operations to be batched together, so the source coefficients only need to
104
 
be read once.  This is useful when generating image tiles from a single source
105
 
JPEG.
106
 
 
107
 
[6] Added tests for the new TurboJPEG scaled decompression and lossless
108
 
transform features to tjbench (the TurboJPEG benchmark, formerly called
109
 
"jpgtest".)
110
 
 
111
 
[7] Added support for 4:4:0 (transposed 4:2:2) subsampling in TurboJPEG, which
112
 
was necessary in order for it to read 4:2:2 JPEG files that had been losslessly
113
 
transposed or rotated 90 degrees.
114
 
 
115
 
[8] All legacy VirtualGL code has been re-factored, and this has allowed
116
 
libjpeg-turbo, in its entirety, to be re-licensed under a BSD-style license.
117
 
 
118
 
[9] libjpeg-turbo can now be built with YASM.
119
 
 
120
 
[10] Added SIMD acceleration for ARM Linux and iOS platforms that support
121
 
NEON instructions.
122
 
 
123
 
[11] Refactored the TurboJPEG C API and documented it using Doxygen.  The
124
 
TurboJPEG 1.2 API uses pixel formats to define the size and component order of
125
 
the uncompressed source/destination images, and it includes a more efficient
126
 
version of TJBUFSIZE() that computes a worst-case JPEG size based on the level
127
 
of chrominance subsampling.  The refactored implementation of TurboJPEG/OSS
128
 
now uses the libjpeg memory source and destination managers, which allows the
129
 
TurboJPEG compressor to grow the JPEG buffer as necessary.
130
 
 
131
 
[12] Eliminated errors in the output of jpegtran on Windows that occurred when
132
 
the application was invoked using I/O redirection
133
 
(jpegtran <input.jpg >output.jpg).
134
 
 
135
 
[13] The inclusion of libjpeg v7 and v8 emulation as well as arithmetic coding
136
 
support in libjpeg-turbo v1.1.0 introduced several new error constants in
137
 
jerror.h, and these were mistakenly enabled for all emulation modes, causing
138
 
the error enum in libjpeg-turbo to sometimes have different values than the
139
 
same enum in libjpeg.  This represents an ABI incompatibility, and it caused
140
 
problems with rare applications that took specific action based on a particular
141
 
error value.  The fix was to include the new error constants conditionally
142
 
based on whether libjpeg v7 or v8 emulation was enabled.
143
 
 
144
 
[14] Fixed an issue whereby Windows applications that used libjpeg-turbo would
145
 
fail to compile if the Windows system headers were included before jpeglib.h.
146
 
This issue was caused by a conflict in the definition of the INT32 type.
147
 
 
148
 
[15] Fixed 32-bit supplementary package for amd64 Debian systems, which was
149
 
broken by enhancements to the packaging system in 1.1.
150
 
 
151
 
[16] When decompressing a JPEG image using an output colorspace of
152
 
JCS_EXT_RGBX, JCS_EXT_BGRX, JCS_EXT_XBGR, or JCS_EXT_XRGB, libjpeg-turbo will
153
 
now set the unused byte to 0xFF, which allows applications to interpret that
154
 
byte as an alpha channel (0xFF = opaque).
155
 
 
156
 
 
157
 
1.1.1
158
 
=====
159
 
 
160
 
[1] Fixed a 1-pixel error in row 0, column 21 of the luminance plane generated
161
 
by tjEncodeYUV().
162
 
 
163
 
[2] libjpeg-turbo's accelerated Huffman decoder previously ignored unexpected
164
 
markers found in the middle of the JPEG data stream during decompression.  It
165
 
will now hand off decoding of a particular block to the unaccelerated Huffman
166
 
decoder if an unexpected marker is found, so that the unaccelerated Huffman
167
 
decoder can generate an appropriate warning.
168
 
 
169
 
[3] Older versions of MinGW64 prefixed symbol names with underscores by
170
 
default, which differed from the behavior of 64-bit Visual C++.  MinGW64 1.0
171
 
has adopted the behavior of 64-bit Visual C++ as the default, so to accommodate
172
 
this, the libjpeg-turbo SIMD function names are no longer prefixed with an
173
 
underscore when building with MinGW64.  This means that, when building
174
 
libjpeg-turbo with older versions of MinGW64, you will now have to add
175
 
-fno-leading-underscore to the CFLAGS.
176
 
 
177
 
[4] Fixed a regression bug in the NSIS script that caused the Windows installer
178
 
build to fail when using the Visual Studio IDE.
179
 
 
180
 
[5] Fixed a bug in jpeg_read_coefficients() whereby it would not initialize
181
 
cinfo->image_width and cinfo->image_height if libjpeg v7 or v8 emulation was
182
 
enabled.  This specifically caused the jpegoptim program to fail if it was
183
 
linked against a version of libjpeg-turbo that was built with libjpeg v7 or v8
184
 
emulation.
185
 
 
186
 
[6] Eliminated excessive I/O overhead that occurred when reading BMP files in
187
 
cjpeg.
188
 
 
189
 
[7] Eliminated errors in the output of cjpeg on Windows that occurred when the
190
 
application was invoked using I/O redirection (cjpeg <inputfile >output.jpg).
191
 
 
192
 
 
193
 
1.1.0
194
 
=====
195
 
 
196
 
[1] The algorithm used by the SIMD quantization function cannot produce correct
197
 
results when the JPEG quality is >= 98 and the fast integer forward DCT is
198
 
used.  Thus, the non-SIMD quantization function is now used for those cases,
199
 
and libjpeg-turbo should now produce identical output to libjpeg v6b in all
200
 
cases.
201
 
 
202
 
[2] Despite the above, the fast integer forward DCT still degrades somewhat for
203
 
JPEG qualities greater than 95, so TurboJPEG/OSS will now automatically use the
204
 
slow integer forward DCT when generating JPEG images of quality 96 or greater.
205
 
This reduces compression performance by as much as 15% for these high-quality
206
 
images but is necessary to ensure that the images are perceptually lossless.
207
 
It also ensures that the library can avoid the performance pitfall created by
208
 
[1].
209
 
 
210
 
[3] Ported jpgtest.cxx to pure C to avoid the need for a C++ compiler.
211
 
 
212
 
[4] Fixed visual artifacts in grayscale JPEG compression caused by a typo in
213
 
the RGB-to-luminance lookup tables.
214
 
 
215
 
[5] The Windows distribution packages now include the libjpeg run-time programs
216
 
(cjpeg, etc.)
217
 
 
218
 
[6] All packages now include jpgtest.
219
 
 
220
 
[7] The TurboJPEG dynamic library now uses versioned symbols.
221
 
 
222
 
[8] Added two new TurboJPEG API functions, tjEncodeYUV() and
223
 
tjDecompressToYUV(), to replace the somewhat hackish TJ_YUV flag.
224
 
 
225
 
 
226
 
1.0.90 (1.1 beta1)
227
 
==================
228
 
 
229
 
[1] Added emulation of the libjpeg v7 and v8 APIs and ABIs.  See
230
 
README-turbo.txt for more details.  This feature was sponsored by CamTrace SAS.
231
 
 
232
 
[2] Created a new CMake-based build system for the Visual C++ and MinGW builds.
233
 
 
234
 
[3] Grayscale bitmaps can now be compressed from/decompressed to using the
235
 
TurboJPEG API.
236
 
 
237
 
[4] jpgtest can now be used to test decompression performance with existing
238
 
JPEG images.
239
 
 
240
 
[5] If the default install prefix (/opt/libjpeg-turbo) is used, then
241
 
'make install' now creates /opt/libjpeg-turbo/lib32 and
242
 
/opt/libjpeg-turbo/lib64 sym links to duplicate the behavior of the binary
243
 
packages.
244
 
 
245
 
[6] All symbols in the libjpeg-turbo dynamic library are now versioned, even
246
 
when the library is built with libjpeg v6b emulation.
247
 
 
248
 
[7] Added arithmetic encoding and decoding support (can be disabled with
249
 
configure or CMake options)
250
 
 
251
 
[8] Added a TJ_YUV flag to the TurboJPEG API, which causes both the compressor
252
 
and decompressor to output planar YUV images.
253
 
 
254
 
[9] Added an extended version of tjDecompressHeader() to the TurboJPEG API,
255
 
which allows the caller to determine the type of subsampling used in a JPEG
256
 
image.
257
 
 
258
 
[10] Added further protections against invalid Huffman codes.
259
 
 
260
 
 
261
 
1.0.1
262
 
=====
263
 
 
264
 
[1] The Huffman decoder will now handle erroneous Huffman codes (for instance,
265
 
from a corrupt JPEG image.)  Previously, these would cause libjpeg-turbo to
266
 
crash under certain circumstances.
267
 
 
268
 
[2] Fixed typo in SIMD dispatch routines that was causing 4:2:2 upsampling to
269
 
be used instead of 4:2:0 when decompressing JPEG images using SSE2 code.
270
 
 
271
 
[3] configure script will now automatically determine whether the
272
 
INCOMPLETE_TYPES_BROKEN macro should be defined.
273
 
 
274
 
 
275
 
1.0.0
276
 
=====
277
 
 
278
 
[1] 2983700: Further FreeBSD build tweaks (no longer necessary to specify
279
 
--host when configuring on a 64-bit system)
280
 
 
281
 
[2] Created sym. links in the Unix/Linux packages so that the TurboJPEG
282
 
include file can always be found in /opt/libjpeg-turbo/include, the 32-bit
283
 
static libraries can always be found in /opt/libjpeg-turbo/lib32, and the
284
 
64-bit static libraries can always be found in /opt/libjpeg-turbo/lib64.
285
 
 
286
 
[3] The Unix/Linux distribution packages now include the libjpeg run-time
287
 
programs (cjpeg, etc.) and man pages.
288
 
 
289
 
[4] Created a 32-bit supplementary package for amd64 Debian systems, which
290
 
contains just the 32-bit libjpeg-turbo libraries.
291
 
 
292
 
[5] Moved the libraries from */lib32 to */lib in the i386 Debian package.
293
 
 
294
 
[6] Include distribution package for Cygwin
295
 
 
296
 
[7] No longer necessary to specify --without-simd on non-x86 architectures, and
297
 
unit tests now work on those architectures.
298
 
 
299
 
 
300
 
0.0.93
301
 
======
302
 
 
303
 
[1] 2982659, Fixed x86-64 build on FreeBSD systems
304
 
 
305
 
[2] 2988188: Added support for Windows 64-bit systems
306
 
 
307
 
 
308
 
0.0.91
309
 
======
310
 
 
311
 
[1] Added documentation to .deb packages
312
 
 
313
 
[2] 2968313: Fixed data corruption issues when decompressing large JPEG images
314
 
and/or using buffered I/O with the libjpeg-turbo decompressor
315
 
 
316
 
 
317
 
0.0.90
318
 
======
319
 
 
320
 
Initial release