Revisions of libjpeg-turbo

Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1146098 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 72)
- Update to version 3.0.2
  * Fixed a signed integer overflow in the tj3CompressFromYUV8(),
    tj3DecodeYUV8(), tj3DecompressToYUV8(), and tj3EncodeYUV8()
    functions, detected by the Clang and GCC undefined behavior
    sanitizers, that could be triggered by setting the align
    parameter to an unreasonably large value. This issue did not
    pose a security threat, but removing the warning made it
    easier to detect actual security issues, should they arise in
    the future.
  * Introduced a new parameter (TJPARAM_MAXMEMORY in the
    TurboJPEG C API and TJ.PARAM_MAXMEMORY in the TurboJPEG Java
    API) and a corresponding TJBench option (-maxmemory) for
    specifying the maximum amount of memory (in megabytes) that
    will be allocated for intermediate buffers, which are used
    with progressive JPEG compression and decompression, optimized
    baseline entropy coding, lossless JPEG compression, and
    lossless transformation. The new parameter and option serve
    the same purpose as the max_memory_to_use field in the
    jpeg_memory_mgr struct in the libjpeg API, the JPEGMEM
    environment variable, and the cjpeg/djpeg/jpegtran -maxmemory
    option.
  * Introduced a new parameter (TJPARAM_MAXPIXELS in the TurboJPEG
    C API and TJ.PARAM_MAXPIXELS in the TurboJPEG Java API) and a
    corresponding TJBench option (-maxpixels) for specifying the
    maximum number of pixels that the decompression, lossless
    transformation, and packed-pixel image loading
    functions/methods will process.
  * Fixed an error ("Unsupported color conversion request") that
    occurred when attempting to decompress a 3-component lossless
    JPEG image without an Adobe APP14 marker. The decompressor (forwarded request 1144368 from mnhauke)
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1139079 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 71)
- Do not require SIMD support when it does not exist (forwarded request 1138991 from Andreas_Schwab)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1136149 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 70)
- 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 (forwarded request 1136025 from dirkmueller)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1095708 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 69)
- merge two spec files into one
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1084656 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 68)
- Add _multibuild to define 2nd spec file as additional flavor.
  Eliminates the need for source package links in OBS. (forwarded request 1084624 from dimstar)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1071086 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 67)
- Build AVX2 enabled hwcaps library for x86_64-v3 (forwarded request 1070184 from pluskalm)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1067523 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 66)
- update to 2.1.5.1:
  * Fixed a regression introduced by 2.0 beta1[15] that caused a buffer
    overrun in the progressive Huffman encoder when attempting to transform
    a specially-crafted malformed 12-bit-per-component JPEG image into a
    progressive 12-bit-per-component JPEG image using a 12-bit-per-component
    build of libjpeg-turbo.
  * Fixed an issue whereby, when using a 12-bit-per-component build of
    libjpeg-turbo (-DWITH_12BIT=1), passing samples with values greater than 4095
    or less than 0 to jpeg_write_scanlines() caused a buffer overrun or
    underrun in the RGB-to-YCbCr color converter.
  * Fixed a floating point exception that occurred when attempting to use
    the jpegtran -drop and -trim options to losslessly transform a
    specially-crafted malformed JPEG image.
  * Fixed an issue in tjBufSizeYUV2() whereby it returned a bogus result,
    rather than throwing an error, if the align parameter was not a power of 2.
  * Fixed a similar issue in tjCompressFromYUV() whereby it generated a corrupt
    JPEG image in certain cases, rather than throwing an error,
    if the align parameter was not a power of 2.
  * Fixed an issue whereby tjDecompressToYUV2(), which is a wrapper for
    tjDecompressToYUVPlanes(), used the desired YUV image dimensions
    rather than the actual scaled image dimensions when computing the plane
    pointers and strides to pass to tjDecompressToYUVPlanes().
    This caused a buffer overrun and subsequent segfault if the desired
    image dimensions exceeded the scaled image dimensions.
  * Fixed an issue whereby, when decompressing a 12-bit-per-component JPEG
    image (-DWITH_12BIT=1) using an alpha-enabled output color space such as
    JCS_EXT_RGBA, the alpha channel was set to 255 rather than 4095.
  * Fixed an issue whereby the Java version of TJBench did not accept a range
    of quality values.
  * Fixed an issue whereby, when -progressive was passed to TJBench, (forwarded request 1066935 from polslinux)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1046153 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 65)
- Add explicit provides for jpegtran, so it can be installed easier

Adds an explicit provides line, so that "zypper in jpegtran" will work in future instead of having to search which package contains it. I don't consider the other bin-contents important enough, only jpegtran. (forwarded request 1045193 from dstoecker)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 970678 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 62)
- Use nasm instead of yasm, the latter has not released any update 
   in 7 years. (forwarded request 970636 from elvigia)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 969262 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 61)
- 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.
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 933730 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 60)
- 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. (forwarded request 933591 from dirkmueller)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 923521 from Factory Maintainer's avatar Factory Maintainer (factory-maintainer) (revision 59)
Automatic submission by obs-autosubmit
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 914598 from Factory Maintainer's avatar Factory Maintainer (factory-maintainer) (revision 58)
Automatic submission by obs-autosubmit
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 890324 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 57)
- disable SIMD for armv6hl, not available (forwarded request 890322 from dirkmueller)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 888800 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 56)
- version update to 2.1.0
  lot of changes, see
  * https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/2.0.90
  * https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/2.1.0
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 862563 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 55)
- Fix setting of FLOATTEST (forwarded request 862263 from Andreas_Schwab)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 859049 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 54)
- version update to 2.0.6
  1. Fixed "using JNI after critical get" errors that occurred on Android
  platforms when using any of the YUV encoding/compression/decompression/decoding
  methods in the TurboJPEG Java API.
  2. Fixed or worked around multiple issues with `jpeg_skip_scanlines()`:
       - Fixed segfaults or "Corrupt JPEG data: premature end of data segment"
  errors in `jpeg_skip_scanlines()` that occurred when decompressing 4:2:2 or
  4:2:0 JPEG images using merged (non-fancy) upsampling/color conversion (that
  is, when setting `cinfo.do_fancy_upsampling` to `FALSE`.)  2.0.0[6] was a
  similar fix, but it did not cover all cases.
       - `jpeg_skip_scanlines()` now throws an error if two-pass color
  quantization is enabled.  Two-pass color quantization never worked properly
  with `jpeg_skip_scanlines()`, and the issues could not readily be fixed.
       - Fixed an issue whereby `jpeg_skip_scanlines()` always returned 0 when
  skipping past the end of an image.
  3. The Arm 64-bit (Armv8) Neon SIMD extensions can now be built using MinGW
  toolchains targetting Arm64 (AArch64) Windows binaries.
  4. Fixed unexpected visual artifacts that occurred when using
  `jpeg_crop_scanline()` and interblock smoothing while decompressing only the DC
  scan of a progressive JPEG image.
  5. Fixed an issue whereby libjpeg-turbo would not build if 12-bit-per-component
  JPEG support (`WITH_12BIT`) was enabled along with libjpeg v7 or libjpeg v8
  API/ABI emulation (`WITH_JPEG7` or `WITH_JPEG8`.)
- modified sources
  % libjpeg-turbo.keyring
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 826188 from Petr Gajdos's avatar Petr Gajdos (pgajdos) (revision 53)
- Update to version 2.0.5
  * Worked around issues in the MIPS DSPr2 SIMD extensions that caused failures
    in the libjpeg-turbo regression tests. Specifically, the 
	jsimd_h2v1_downsample_dspr2() and jsimd_h2v2_downsample_dspr2() functions
	in the MIPS DSPr2 SIMD extensions are now disabled until/unless they can be
    fixed, and other functions that are incompatible with big endian MIPS CPUs
	are disabled when building libjpeg-turbo for such CPUs.
  * Fixed an oversight in the TJCompressor.compress(int) method in the
    TurboJPEG Java API that caused an error ("java.lang.IllegalStateException:
	No source image is associated with this instance") when attempting to use
	that method to compress a YUV image.
  * Fixed an issue (CVE-2020-13790) in the PPM reader that caused a buffer
    overrun in cjpeg, TJBench, or the tjLoadImage() function if one of the
	values in a binary PPM/PGM input file exceeded the maximum value defined in
	the file's header and that maximum value was less than 255. libjpeg-turbo
	1.5.0 already included a similar fix for binary PPM/PGM files with maximum
	values greater than 255.
  * The TurboJPEG API library's global error handler, which is used in
    functions such as tjBufSize() and tjLoadImage() that do not require a
	TurboJPEG instance handle, is now thread-safe on platforms that support
	thread-local storage.
- Fix source verification
- Drop patches fixed upstream:
  * ctest-depends.patch
  * libjpeg-turbo-CVE-2020-13790.patch
- Run spec-cleaner
  * Remove package groups
  * Use make macros
- Update to version 2.0.5
  * Worked around issues in the MIPS DSPr2 SIMD extensions that caused failures
    in the libjpeg-turbo regression tests. Specifically, the 
	jsimd_h2v1_downsample_dspr2() and jsimd_h2v2_downsample_dspr2() functions
	in the MIPS DSPr2 SIMD extensions are now disabled until/unless they can be
    fixed, and other functions that are incompatible with big endian MIPS CPUs
	are disabled when building libjpeg-turbo for such CPUs.
  * Fixed an oversight in the TJCompressor.compress(int) method in the
    TurboJPEG Java API that caused an error ("java.lang.IllegalStateException:
	No source image is associated with this instance") when attempting to use
	that method to compress a YUV image.
  * Fixed an issue (CVE-2020-13790) in the PPM reader that caused a buffer
    overrun in cjpeg, TJBench, or the tjLoadImage() function if one of the
	values in a binary PPM/PGM input file exceeded the maximum value defined in
	the file's header and that maximum value was less than 255. libjpeg-turbo
	1.5.0 already included a similar fix for binary PPM/PGM files with maximum
	values greater than 255.
  * The TurboJPEG API library's global error handler, which is used in
    functions such as tjBufSize() and tjLoadImage() that do not require a
	TurboJPEG instance handle, is now thread-safe on platforms that support
	thread-local storage.
- Drop patches fixed upstream:
  * ctest-depends.patch
  * libjpeg-turbo-CVE-2020-13790.patch
- Run spec-cleaner
  * Remove package groups
  * Use make macros (forwarded request 826111 from elimat)
Displaying revisions 1 - 20 of 72
openSUSE Build Service is sponsored by