Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

libturbojpeg0-x86-64-v3-8.3.2-81.1 RPM for x86_64

From OpenSuSE Tumbleweed for x86_64

Name: libturbojpeg0-x86-64-v3 Distribution: openSUSE Tumbleweed
Version: 8.3.2 Vendor: openSUSE
Release: 81.1 Build date: Sat Sep 28 18:49:05 2024
Group: Unspecified Build host: reproducible
Size: 1124901 Source RPM: libjpeg-turbo-3.0.4-81.1.src.rpm
Packager: https://bugs.opensuse.org
Url: https://libjpeg-turbo.org/
Summary: A SIMD-accelerated JPEG compression/decompression library
A library for manipulating JPEG images. It supports
architecture-specific SIMD instructions, such as SSE/SSE2/AVX2,
AltiVec, NEON, MIPS DSPR2, and Loongson MMI.

Provides

Requires

License

BSD-3-Clause

Changelog

* Sat Sep 28 2024 Dirk Müller <dmueller@suse.com>
  - update to 3.0.4:
    * Fixed an issue whereby the CPU usage of the default marker
      processor in the decompressor grew exponentially with the
      number of markers.  This caused an unreasonable slow-down in
      `jpeg_read_header()` if an application called `jpeg_save_markers()`
      to save markers of a particular type and then attempted to
      decompress a JPEG image containing an excessive number of markers
      of that type.
    * Hardened the default marker processor in the decompressor to guard
      against an issue (exposed by 3.0 beta2[6]) whereby attempting to
      decompress a specially-crafted malformed JPEG image (specifically
      an image with a complete 12-bit-per-sample Start Of Frame segment
      followed by an incomplete 8-bit-per-sample Start Of Frame segment)
      using buffered-image mode and input prefetching caused a segfault
      if the `fill_input_buffer()` method in the calling application's
      custom source manager incorrectly returned `FALSE` in response to a
      prematurely-terminated JPEG data stream.
    * Fixed an issue in cjpeg whereby, when generating a
      12-bit-per-sample or 16-bit-per-sample lossless JPEG image,
      specifying a point transform value greater than 7 resulted in an
      error ("Invalid progressive/lossless parameters") unless the
      `-precision` option was specified before the `-lossless` option.
    * Fixed a regression introduced by 3.0.3[3] that made it impossible
      for calling applications to generate 12-bit-per-sample
      arithmetic-coded lossy JPEG images using the TurboJPEG API.
    * Fixed an error ("Destination buffer is not large enough") that
      occurred when attempting to generate a full-color lossless JPEG
      image using the TurboJPEG Java API's `byte[]
      TJCompressor.compress()` method if the value of `TJ.PARAM_SUBSAMP`
      was not `TJ.SAMP_444`.
    * Fixed a segfault in djpeg that occurred if a negative width was
      specified with the `-crop` option.  Since the cropping region width
      was read into an unsigned 32-bit integer, a negative width was
      interpreted as a very large value.  With certain negative width and
      positive left boundary values, the bounds checks in djpeg and
      `jpeg_crop_scanline()` overflowed and did not detect the
      out-of-bounds width, which caused a buffer overrun in the
      upsampling or color conversion routine.  Both bounds checks now use
      64-bit integers to guard against overflow, and djpeg now checks for
      negative numbers when it parses the crop specification from the
      command line.
    * Fixed an issue whereby the TurboJPEG lossless transformation
      function and methods checked the specified cropping region against
      the source image dimensions and level of chrominance subsampling
      rather than the destination image dimensions and level of
      chrominance subsampling, which caused some cropping regions to be
      unduly rejected when performing 90-degree rotation, 270-degree
      rotation, transposition, transverse transposition, or grayscale
      conversion.
    * Fixed an issue whereby the TurboJPEG lossless transformation
      function and methods did not honor
      `TJXOPT_COPYNONE`/`TJTransform.OPT_COPYNONE` unless it was
      specified for all lossless transforms.
* Sat Aug 31 2024 Dirk Müller <dmueller@suse.com>
  - update to 3.0.3:
    * The x86-64 SIMD extensions now include support for Intel
      Control-flow Enforcement Technology (CET), which is enabled
      automatically if CET is enabled in the C compiler.
    * Fixed a regression introduced by 3.0 beta2[6] that made it
      impossible for calling applications to supply custom Huffman
      tables when generating 12-bit-per-component lossy JPEG images
      using the libjpeg API.
    * Fixed a segfault that occurred when attempting to use the
      jpegtran `-drop` option with a specially-crafted malformed
      input image or drop image (specifically an image in which all
      of the scans contain fewer components than the number of
      components specified in the Start Of Frame segment.)
* Mon Feb 05 2024 Martin Hauke <mardnh@gmx.de>
  - 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
      now assumes that a 3-component lossless JPEG image without an
      Adobe APP14 marker uses the RGB colorspace if its component
      IDs are 1, 2, and 3.
* Mon Jan 15 2024 Andreas Schwab <schwab@suse.de>
  - Do not require SIMD support when it does not exist
* Mon Jan 01 2024 Dirk Müller <dmueller@suse.com>
  - 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
      segfaults and buffer overruns when attempting to decompress
      various specially-crafted malformed 12-bit-per-component JPEG
      images using djpeg with both color quantization and RGB565
      color conversion enabled.
    * Fixed an issue whereby `jpeg_crop_scanline()` sometimes
      miscalculated the downsampled width for components with 4x2 or
      2x4 subsampling factors if decompression scaling was enabled.
      This caused the components to be upsampled incompletely, which
      caused the color converter to read from uninitialized memory.
      With 12-bit data precision, this caused a buffer overrun or
      underrun and subsequent segfault if the sample value read from
      uninitialized memory was outside of the valid sample range.
    * Fixed a long-standing issue whereby the `tj3Transform()`
      function, when used with the `TJXOP_TRANSPOSE`,
      `TJXOP_TRANSVERSE`, `TJXOP_ROT90`, or `TJXOP_ROT270` transform
      operation and without automatic JPEG destination buffer
      (re)allocation or lossless cropping, computed the worst-case
      transformed JPEG image size based on the source image
      dimensions rather than the transformed image dimensions.  If a
      calling program allocated the JPEG destination buffer based on
      the transformed image dimensions, as the API documentation
      instructs, and attempted to transform a specially-crafted
      4:2:2, 4:4:0, 4:1:1, or 4:4:1 JPEG source image containing a
      large amount of metadata, the issue caused `tj3Transform()` to
      overflow the JPEG destination buffer rather than fail
      gracefully.  The issue could be worked around by setting
      `TJXOPT_COPYNONE`.  Note that, irrespective of this issue,
      `tj3Transform()` cannot reliably transform JPEG source images
      that contain a large amount of metadata unless automatic JPEG
      destination buffer (re)allocation is used or `TJXOPT_COPYNONE`
      is set.
    * Significantly sped up the computation of optimal Huffman
      tables. This speeds up the compression of tiny images by as
      much as 2x and provides a noticeable speedup for images as
      large as 256x256 when using optimal Huffman tables.
    * All deprecated fields, constructors, and methods in the
      TurboJPEG Java API have been removed.
    * Arithmetic entropy coding is now supported with
      12-bit-per-component JPEG images.
    * Overhauled the TurboJPEG API to address long-standing
      limitations and to make the API more extensible and intuitive.
* Fri Jun 23 2023 pgajdos@suse.com
  - merge two spec files into one
* Thu May 04 2023 Dominique Leuenberger <dimstar@opensuse.org>
  - Add _multibuild to define 2nd spec file as additional flavor.
    Eliminates the need for source package links in OBS.
* Wed Mar 08 2023 Martin Pluskal <mpluskal@suse.com>
  - Build AVX2 enabled hwcaps library for x86_64-v3
* Tue Feb 21 2023 Paolo Stivanin <info@paolostivanin.com>
  - 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,
      the JPEG input image was not transformed into a progressive JPEG image
      prior to decompression.
* Sat Dec 24 2022 Dirk Stoecker <opensuse@dstoecker.de>
  - Add explicit provides for jpegtran, so it can be installed easier
* Wed Aug 17 2022 Dirk Müller <dmueller@suse.com>
  - 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.
* Mon Aug 15 2022 Tom Mbrt <tom.mbrt@googlemail.com>
  - update to 2.1.4:
    * Fixed a regression introduced in 2.1.3 that caused build failures with
      Visual Studio 2010.
    * 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. This was a
      regression introduced by 2.1 beta1[6(b)].
    * 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.
* Tue Jul 05 2022 Jan Engelhardt <jengelh@inai.de>
  - Add requires between baselibs
* Mon Apr 18 2022 Cristian Rodríguez <crrodriguez@opensuse.org>
  - Use nasm instead of yasm, the latter has not released any update
    in 7 years.
* Sun Mar 20 2022 Dirk Müller <dmueller@suse.com>
  - 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.
* Wed Nov 24 2021 Dirk Müller <dmueller@suse.com>
  - 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.
* Wed Sep 29 2021 pgajdos@suse.com
  - previous version updates fixes following bugs:
    CVE-2014-9092, CVE-2018-14498, CVE-2019-2201, CVE-2020-17541
    (bsc#1128712, bsc#1186764, bsc#807183, bsc#906761)
* Fri Aug 20 2021 pgajdos@suse.com
  - version update to 2.1.1
    1. Fixed a regression introduced in 2.1.0 that caused build failures
      with non-GCC-compatible compilers for Un*x/Arm platforms.
    2. Fixed a regression introduced by 2.1 beta1[13] that prevented the
      Arm 32-bit (AArch32) Neon SIMD extensions from building unless
      the C compiler flags included -mfloat-abi=softfp or -mfloat-abi=hard.
    3. Fixed an issue in the AArch32 Neon SIMD Huffman encoder whereby
      reliance on undefined C compiler behavior led to crashes
      ("SIGBUS: illegal alignment") on Android systems when running
      AArch32/Thumb builds of libjpeg-turbo built with recent versions
      of Clang.
    4. Added a command-line argument (-copy icc) to jpegtran that causes
      it to copy only the ICC profile markers from the source file and
      discard any other metadata.
    5. libjpeg-turbo should now build and run on CHERI-enabled
      architectures, which use capability pointers that are larger than
      the size of size_t.
    6. Fixed a regression introduced by 2.1 beta1[5] that caused a segfault
      in the 64-bit SSE2 Huffman encoder when attempting to losslessly
      transform a specially-crafted malformed JPEG image.
* Tue May 04 2021 Dirk Müller <dmueller@suse.com>
  - disable SIMD for armv6hl, not available
* Mon Apr 26 2021 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - 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
* Mon Jan 11 2021 Andreas Schwab <schwab@suse.de>
  - Fix setting of FLOATTEST

Files

/usr/lib64/glibc-hwcaps/x86-64-v3/libturbojpeg.so.0
/usr/lib64/glibc-hwcaps/x86-64-v3/libturbojpeg.so.0.3.0


Generated by rpm2html 1.8.1

Fabrice Bellet, Sun Nov 17 00:04:04 2024