Revisions of libjpeg-turbo
buildservice-autocommit
accepted
request 1136025
from
Dirk Mueller (dirkmueller)
(revision 16)
baserev update by copy to link target
Dirk Mueller (dirkmueller)
committed
(revision 15)
- update to 3.0.1 (bsc#1211542, CVE-2023-2804): * The x86-64 SIMD functions now use a standard stack frame, prologue, and epilogue so that debuggers and profilers can reliably capture backtraces from within the functions. * Fixed two minor issues in the interblock smoothing algorithm that caused mathematical (but not necessarily perceptible) edge block errors when decompressing progressive JPEG images exactly two MCU blocks in width or that use vertical chrominance subsampling. * The TurboJPEG API now supports 4:4:1 (transposed 4:1:1) chrominance subsampling, which allows losslessly transposed or rotated 4:1:1 JPEG images to be losslessly cropped, partially decompressed, or decompressed to planar YUV images. * Fixed various segfaults and buffer overruns (CVE-2023-2804) * that occurred when attempting to decompress various specially-crafted malformed 12-bit-per-component and 16-bit-per-component lossless JPEG images using color quantization or merged chroma upsampling/color conversion. The underlying cause of these issues was that the color quantization and merged chroma upsampling/color conversion algorithms were not designed with lossless decompression in mind. Since libjpeg-turbo explicitly does not support color conversion when compressing or decompressing lossless JPEG images, merged chroma upsampling/color conversion never should have been enabled for such images. Color quantization is a legacy feature that serves little or no purpose with lossless JPEG images, so it is also now disabled when decompressing such images. (As a result, djpeg can no longer decompress a lossless JPEG image into a GIF image.) * Fixed an oversight in 1.4 beta1[8] that caused various
Dirk Mueller (dirkmueller)
committed
(revision 14)
Dirk Mueller (dirkmueller)
committed
(revision 13)
Dirk Mueller (dirkmueller)
committed
(revision 12)
- update to 2.1.4: * The `tjDecompressHeader3()` function in the TurboJPEG C API and the `TJDecompressor.setSourceImage()` method in the TurboJPEG Java API now accept "abbreviated table specification" (AKA "tables-only") datastreams, which can be used to prime the decompressor with quantization and Huffman tables that can be used when decompressing subsequent "abbreviated image" datastreams. * libjpeg-turbo now performs run-time detection of AltiVec instructions on OS X/PowerPC systems if AltiVec instructions are not enabled at compile time. This allows both AltiVec-equipped (PowerPC G4 and G5) and non-AltiVec-equipped (PowerPC G3) CPUs to be supported using the same build of libjpeg-turbo. * Fixed an error ("Bogus virtual array access") that occurred when attempting to decompress a progressive JPEG image with a height less than or equal to one iMCU (8 * the vertical sampling factor) using buffered-image mode with interblock smoothing enabled. * Fixed two issues that prevented partial image decompression from working properly with buffered-image mode: - Attempting to call `jpeg_crop_scanline()` after `jpeg_start_decompress()` but before `jpeg_start_output()` resulted in an error ("Improper call to JPEG library in state 207".) - Attempting to use `jpeg_skip_scanlines()` resulted in an error ("Bogus virtual array access") under certain circumstances.
buildservice-autocommit
accepted
request 967883
from
Dirk Mueller (dirkmueller)
(revision 11)
baserev update by copy to link target
Dirk Mueller (dirkmueller)
committed
(revision 10)
Dirk Mueller (dirkmueller)
committed
(revision 9)
Dirk Mueller (dirkmueller)
committed
(revision 8)
- update to 2.1.3: * Fixed a regression introduced by 2.0 beta1[7] whereby cjpeg compressed PGM input files into full-color JPEG images unless the `-grayscale` option was used. * cjpeg now automatically compresses GIF and 8-bit BMP input files into grayscale JPEG images if the input files contain only shades of gray. * The build system now enables the intrinsics implementation of the AArch64 (Arm 64-bit) Neon SIMD extensions by default when using GCC 12 or later. * Fixed a segfault that occurred while decompressing a 4:2:0 JPEG image using the merged (non-fancy) upsampling algorithms (that is, with `cinfo.do_fancy_upsampling` set to `FALSE`) along with `jpeg_crop_scanline()`. Specifically, the segfault occurred if the number of bytes remaining in the output buffer was less than the number of bytes required to represent one uncropped scanline of the output image. For that reason, the issue could only be reproduced using the libjpeg API, not using djpeg.
buildservice-autocommit
accepted
request 933591
from
Dirk Mueller (dirkmueller)
(revision 7)
baserev update by copy to link target
Dirk Mueller (dirkmueller)
committed
(revision 6)
- update to 2.1.2: * Fixed a regression introduced by 2.1 beta1[13] that caused the remaining GAS implementations of AArch64 (Arm 64-bit) Neon SIMD functions (which are used by default with GCC for performance reasons) to be placed in the `.rodata` section rather than in the `.text` section. This caused the GNU linker to automatically place the `.rodata` section in an executable segment, which prevented libjpeg-turbo from working properly with other linkers and also represented a potential security risk. * Fixed an issue whereby the `tjTransform()` function incorrectly computed the MCU block size for 4:4:4 JPEG images with non-unary sampling factors and thus unduly rejected some cropping regions, even though those regions aligned with 8x8 MCU block boundaries. * Fixed a regression introduced by 2.1 beta1[13] that caused the build system to enable the Arm Neon SIMD extensions when targetting Armv6 and other legacy architectures that do not support Neon instructions. * libjpeg-turbo now performs run-time detection of AltiVec instructions on FreeBSD/PowerPC systems if AltiVec instructions are not enabled at compile time. This allows both AltiVec-equipped and non-AltiVec-equipped CPUs to be supported using the same build of libjpeg-turbo. * cjpeg now accepts a `-strict` argument similar to that of djpeg and jpegtran, which causes the compressor to abort if an LZW-compressed GIF input image contains incomplete or corrupt image data.
buildservice-autocommit
accepted
request 890322
from
Dirk Mueller (dirkmueller)
(revision 5)
baserev update by copy to link target
Dirk Mueller (dirkmueller)
committed
(revision 4)
- disable SIMD for armv6hl, not available
Dirk Mueller (dirkmueller)
committed
(revision 3)
Dirk Mueller (dirkmueller)
committed
(revision 2)
Dirk Mueller (dirkmueller)
committed
(revision 1)
Displaying all 16 revisions