Package Release Info

libavif-1.3.0-160000.2.2

Update Info: Base Release
Available in Package Hub : 16.0

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

libavif-devel

Change Logs

* Fri May 09 2025 munix9@googlemail.com
- update to 1.3.0:
  * Add grayscale conversions in avifImageRGBToYUV and avifImageYUVToRGB.
  * Add avifRGBFormatIsGray to check whether an avifRGBFormat is gray.
  * Reject the conversion in avifenc from non-monochrome/monochrome to
    monochrome/non-monochrome when an ICC profile is present and not explicitly
    discarded.
  * Forbid encoding with AVIF_MATRIX_COEFFICIENTS_IDENTITY and
    AVIF_PIXEL_FORMAT_YUV400 to be AV1 spec compatible.
  * Do not go through RGB when reading/writing a grayscale PNG/JPG images in
    avifenc/avifdec
  * Ignore tmap items not present in grpl box
  * Assume any id is present in only one altr group as per spec.
  * avifpng.c: support ImageMagick app1 exif text data
  * avifjpeg.c: check for uint32_t overflow before add
  * Update googletest.cmd/LocalGTest.cmake: v1.16.0
  * Update libjpeg.cmd/LocalJpeg.cmake: 3.1.0
  * Update libsharpyuv: v1.5.0
  * Update libxml2.cmd/LocalLibXml2.cmake: v2.14.0
  * Update libyuv.cmd/LocalLibyuv.cmake: 4db2af62d (1909)
  * Update LocalRav1e.cmake: cargo-c v0.10.12
  * Update zlibpng.cmd: libpng 1.6.47
  * Fix wrong Exif orientation set in JPEG or PNG output by avifdec when the input
    AVIF file has an ImageRotation property with angle set to 1 or 3, has no
    ImageMirror property, and carries an Exif chunk. Note that Exif orientation is
    usually ignored in PNG files, so this mainly impacts JPEG files.
  * Encoder: fix ispe property for tmap with grid.
  * Decoder: check the ispe property of tmap items.
  * Allow lowercase GUIDs in XMP when reading JPEG files.
  * Update aom.cmd/LocalAom.cmake: v3.12.1
  * Change avifenc to start in automatic tiling mode.
  * Always forward Unspecified (2) CICP color primaries, transfer characteristics,
    and matrix coefficients to the AV1 encoder. Rely on the 'colr' box instead.
  * Declare *RowBytes as size_t in avifImageRGBToYUV()
    (CVE-2025-48175, bsc#1243270)
  * Check ftell returned value in avifjpeg.c
  * Add integer overflow checks to makeRoom.
    (CVE-2025-48174, bsc#1243269)
  * LocalJpeg.cmake: Support multi-config generators.
- Remove 'Group:' tags.
* Mon Apr 28 2025 munix9@googlemail.com
- Disable tests due to restrictions in Factory/ring1.
* Thu Apr 24 2025 munix9@googlemail.com
- Temporary deactivation of the generation of manual pages
  with pandoc due to restrictions in Factory/ring1.
  (https://build.opensuse.org/request/show/1272161#comment-2136811)
* Thu Apr 17 2025 munix9@googlemail.com
- update to 1.2.1:
  * Added since 1.2.0
  - Add support for outputting all frames of an image sequence in avifdec.
  - avifdec --index all sequence.avif out.png creates files named
  - out-xxxxxxxxxx.png where xxxxxxxxxx are the zero-padded frame indices.
  * Changed since 1.2.0
  - Fix local libargparse dependency patch step on macOS 10.15 and earlier.
  - Patch local libyuv dependency for compatibility with gcc 10.
  - Use stricter C99 syntax to avoid related compilation issues.
  - Update svt.cmd/svt.sh/LocalSvt.cmake to v3.0.1.
- update to 1.2.0:
  * Added since 1.1.1
  - Turn on the gain map API. Remove the AVIF_ENABLE_EXPERIMENTAL_GAIN_MAP CMake
    flag.
  - Allow YCgCo_Re and YCgCo_Ro encoding/decoding and update the enum values to
    the latest CICP specification. Remove the AVIF_ENABLE_EXPERIMENTAL_YCGCO_R
    CMake flag.
  - Add the properties and numProperties fields to avifImage. They are filled by
    the avifDecoder instance with the properties unrecognized by libavif. They are
    written by the avifEncoder.
  - Add avif(Un)SignedFraction structs and avifDoubleTo(Un)SignedFraction
    utility functions.
  - Add 'avifgainmaputil' command line tool to installed apps.
  - Add avifCropRectRequiresUpsampling().
  - Add experimental support for PixelInformationProperty syntax from HEIF 3rd Ed.
    Amd2 behind the compilation flag AVIF_ENABLE_EXPERIMENTAL_EXTENDED_PIXI.
  - Add experimental Sample Transform recipe
    BIT_DEPTH_EXTENSION_12B_8B_OVERLAP_4B.
  * Changed since 1.1.1
  - avifenc: Allow large images to be encoded.
  - Fix empty CMAKE_CXX_FLAGS_RELEASE if -DAVIF_CODEC_AOM=LOCAL -DAVIF_LIBYUV=OFF
    is specified. #2365.
  - Rename AVIF_ENABLE_EXPERIMENTAL_METAV1 to AVIF_ENABLE_EXPERIMENTAL_MINI and
    update the experimental reduced header feature to the latest specification
    draft. Rename AVIF_HEADER_REDUCED to AVIF_HEADER_MINI.
  - Update the experimental Sample Transform feature behind the
    AVIF_ENABLE_EXPERIMENTAL_SAMPLE_TRANSFORM CMake flag to the latest
    specification draft.
  - Ignore gain maps with unsupported metadata. Handle gain maps with
    writer_version > 0 correctly.
  - Simplify gain map API: remove the enableParsingGainMapMetadata setting, now
    gain map metadata is always parsed if present and if this feature is compiled
    in. Replace enableDecodingGainMap and ignoreColorAndAlpha with a bit field to
    choose image content to decode. Remove gainMapPresent: users can check if
    decoder->image->gainMap != NULL instead. Remove avifGainMapMetadata and
    avifGainMapMetadataDouble structs.
  - Write an empty HandlerBox name field instead of "libavif" (saves 7 bytes).
  - Check for FileTypeBox precedence in avifParse().
  - Do not write an alternative group with the same ID as an item.
  - Update aom.cmd/LocalAom.cmake: v3.12.0. The new codec-specific option tune=iq
    (image quality) is added in libaom v3.12.0.
  - Update parseAV2SequenceHeader() and avm.cmd: research-v9.0.0
  - Update dav1d.cmd/dav1d_android.sh/LocalDav1d.cmake: 1.5.1
  - Update libjpeg.cmd/LocalJpeg.cmake: v3.0.4
  - Update libxml2.cmd/LocalLibXml2.cmake: v2.13.5
  - Update libyuv.cmd: ccdf87034 (1903)
  - Update svt.cmd/svt.sh/LocalSvt.cmake to v3.0.0. When available, use
    EbSvtAv1EncConfiguration::lossless and ::level_of_parallelism in libavif.
  - Remove AVIF_ENABLE_GTEST CMake option. It's now implied by
    AVIF_GTEST=LOCAL/SYSTEM.
  - Deprecate avifEncoder's minQuantizer, maxQuantizer, minQuantizerAlpha,
    and maxQuantizerAlpha fields. quality and qualityAlpha should be used
    instead. Deprecate avifenc's --min, --max, --minalpha and --maxalpha
    flags. -q or --qcolor and --qalpha should be used instead.
  - For dependencies, the deprecated way of setting AVIF_LOCAL_* to ON is
    removed. Dependency options can now only be set to OFF/LOCAL/SYSTEM.
  - Change the default quality for alpha to be the same as the quality for color.
  - Allow decoding subsampled images with odd Clean Aperture dimensions or offsets.
  - Deprecate avifCropRectConvertCleanApertureBox() and
    avifCleanApertureBoxConvertCropRect(). Replace them with
    avifCropRectFromCleanApertureBox() and avifCleanApertureBoxFromCropRect().
  - Write descriptive properties before transformative properties.
  - Reject non-essential transformative properties.
  - Treat avifenc --stdin as a regular positional file path argument.
  - Update man pages based on avifenc/dec's --help message.
  - android_jni: Support 16kb page size
  - android_jni: Set threads to 2 instead of CPU count
  - Fix overflows when dealing with alpha during YUV/RGB conversions and in
    avifRGBImageAllocatePixels().
  - Make avifEncoder.headerFormat a flag combination for future features.
  - Rename AVIF_HEADER_FULL to AVIF_HEADER_DEFAULT. Deprecate AVIF_HEADER_FULL.
  - Fix decoding image sequences with non video tracks (such as audio or subtitles).
  - Fix type checking of auxiliary tracks: previously any auxiliary track was
    assumed to be alpha, even if it was a different type. If the aux type is absent,
    it is assumed to be alpha.
- Add libargparse-ee74d1b53bd680748af14e737378de57e2a0a954.tar.gz
- Add %check/tests
- Add man pages
* Tue Sep 10 2024 kieltux@gmail.com
- Enable building with aom and libyuv for Leap
* Sat Aug 31 2024 dmueller@suse.com
- update to 1.1.1:
  * In avif.h, change "AVIF_API AVIF_NODISCARD" back to
    "AVIF_NODISCARD AVIF_API" to fix clang-cl and MSVC compilation
    errors in the shared library build on Windows.
  * Fix -DAVIF_GTEST=SYSTEM
  * Fix infe_type and codec_config_type wrongly read as byte-
    aligned fields in the
  * experimental feature AVIF_ENABLE_EXPERIMENTAL_METAV1.
  * When building aom as a local dependency, runtime CPU
    detection (`CONFIG_RUNTIME_CPU_DETECT`) is now always `ON`;
  * Fix CMake config shared library leaks
  * Update gain map metadata to current ISO 21496-1 draft.
  * cmake: Only search for ASM_NASM language on x86_64 platforms.
  * Fix "No known features for CXX compiler" CMake error.
  * Fix aom link flags so that transitive library link flags are
    included when aom is a static library
  * Fix out-of-order 'dimg' grid associations
  * Report files with an item used in multiple 'dimg' boxes with
  * AVIF_RESULT_NOT_IMPLEMENTED instead of
    AVIF_RESULT_INVALID_IMAGE_GRID.
  * Add experimental API for reading and writing gain maps in
    AVIF files.
  * If enabled at compile time, add `gainMap` field to
    `avifImage`,
  * add `qualityGainMap` field to `avifEncoder`, add
    `gainMapPresent`, `enableDecodingGainMap`,
    `enableParsingGainMapMetadata` and `ignoreColorAndAlpha` to
    `avifDecoder`.
  * Utility functions for working with gain maps are also added.
  * Gain maps allow readers that support them to display HDR
    images that look good on both HDR and SDR displays.
  * Add experimental support for converting jpeg files with gain
    maps to AVIF files with gain maps. Requires libxml2, and the
    AVIF_ENABLE_EXPERIMENTAL_GAIN_MAP compilation flag.
  * Add a --qgain-map flag to control the gain map quality in
    avifenc.
  * Add the headerFormat member of new type avifHeaderFormat to
    avifEncoder.
  * Add experimental API for reading and writing "mif3"-branded
    AVIF files behind the compilation flag
    AVIF_ENABLE_EXPERIMENTAL_METAV1.
  * Implement avifImageScale() fallback when libyuv is not
    available.
  * Partial import of libyuv to third_party/libyuv (new LICENSE).
  * Add avifenc flag suffixes ":update" and ":u". Quality-
    relative, tiling-relative and codec-specific flags can now be
    positional, relative to input files.
  * Add experimental support for layered AVIF encoding in
    avifenc.
  * Use the --layered flag to enable layered AVIF encoding.
  * Layered AVIF has multiple layers, which works like frame of
    animated AVIF, and layers can be rendered in progressive
    manner on supported viewers
  * Only aom supports layered AVIF encoding at the time of
    writing.
  * Add --scaling-mode flag to set scaling mode of each layer.
  * This part of AV1 encoder is not as thoroughly tested, so
    there are higher possibility encoder may crash when given certain
    configuration or input.
  * Add imageSequenceTrackPresent flag to the avifDecoder struct.
  * avifImageScale() function was made part of the public ABI.
  * Add avif_cxx.h as a C++ header with basic functionality.
  * Add enum aliases AVIF_COLOR_PRIMARIES_SRGB,
    AVIF_COLOR_PRIMARIES_BT2100,
  * AVIF_COLOR_PRIMARIES_DCI_P3,
    AVIF_TRANSFER_CHARACTERISTICS_PQ.
  * Add avifResult enum entry AVIF_RESULT_INTERNAL_ERROR.
  * Require libyuv by default (but it can still be disabled with
  * -DAVIF_LIBYUV=OFF).
  * Add avifdec --icc flag to override the output color profile.
  * Add experimental API for reading and writing 16-bit AVIF
    files behind the
  * compilation flag AVIF_ENABLE_EXPERIMENTAL_SAMPLE_TRANSFORM.
  * Add AVIF_CHROMA_SAMPLE_POSITION_RESERVED to
    avifChromaSamplePosition enum.
* Sun Mar 17 2024 dmueller@suse.com
- update to 1.0.4:
  * AVIF_ENABLE_WERROR is set to OFF by default.
  * Fix wrong alpha plane deallocation when decoded tile pixel
    format does not match reconstructed output image pixel format
  * Fix identical chunk skipping optimization when writing
    animation data
  * Fix ID selection for artificial grid alpha item when decoding
    a grid of tiles which each have an associated auxiliary alpha
    image item (https://crbug.com/oss-fuzz/65657).
* Thu Dec 21 2023 andreas.stieger@gmx.de
- update to 1.0.3:
  * Rewrite the fix for memory errors fixed in 1.0.2
  * Fix use-after-free errors.
    (CVE-2023-6704, boo#1218303)
  * src/reformat.c: Allocate the threadData array directly
* Tue Nov 28 2023 andreas.stieger@gmx.de
- update to 1.0.2:
  * Update avifCropRectConvertCleanApertureBox() to the revised
    requirements in ISO/IEC 23000-22:2019/Amd. 2:2021 Section
    7.3.6.7.
  * CVE-2023-6350: Out of bounds memory to alphaItemIndices (boo#1217614)
  * CVE-2023-6351: use-after-free in colorProperties (boo#1217615)
- drop fix-gdkpixbuf.patch
* Tue Aug 29 2023 info@paolostivanin.com
- Update to 1.0.0:
  * Incompatible changes:
    + The clli member was added to the avifImage struct.
    + The repetitionCount member was added to the avifEncoder and avifDecoder
    structs.
    + The quality and qualityAlpha members were added to the avifEncoder struct.
    + Check that functions returning pointers do not return NULL before accessing
    those pointers.
    + Check the return value of avifEncoderSetCodecSpecificOption().
    + The maxThreads member was added to the avifRGBImage struct.
    + Check the return value of avifRGBImageAllocatePixels(), avifRWDataRealloc(),
    avifRWDataSet(), avifImageSetProfileICC(), avifImageSetMetadataExif() and
    avifImageSetMetadataXMP().
    + The meaning of the keyframeInterval member of avifEncoder struct has changed
    slightly. When set to a value of "n",
    Before: It forces a keyframe on every nth frame.
    After: Any set of "n" consecutive frame will have at least one keyframe
    (every nth frame may or may not be a keyframe).
  * Added:
    + Add clli metadata read and write support
    + Add repetitionCount member to avifEncoder and avifDecoder structs to specify
    the number of repetitions for animated image sequences.
    + Add quality and qualityAlpha to avifEncoder. Note: minQuantizer,
    maxQuantizer, minQuantizerAlpha, and maxQuantizerAlpha are deprecated. Code
    should be updated to set quality (and qualityAlpha if applicable) and leave
    minQuantizer, maxQuantizer, minQuantizerAlpha, and maxQuantizerAlpha
    initialized to the default values.
    + The --target-size flag in avifenc was added to adapt the quality so that the
    output file size is as close to the given number of bytes as possible.
    + Add the public API function avifImageIsOpaque() in avif.h.
    + Add the public API functions avifImagePlane(), avifImagePlaneRowBytes(),
    avifImagePlaneWidth(), and avifImagePlaneHeight() in avif.h.
    + Add API for multi-threaded YUV to RGB color conversion.
    + Allow lossless 4:0:0 on grayscale input.
    + Add avifenc --no-overwrite flag to avoid overwriting output file.
    + Add avifenc --clli flag to set clli.
    + Add support for all transfer functions when using libsharpyuv.
  * Changed:
    + Exif and XMP metadata is exported to PNG and JPEG files by default,
    except XMP payloads larger than 65502 bytes in JPEG.
    + The --grid flag in avifenc can be used for images that are not evenly divided
    into cells.
    + Change the encoder to write the boxes within the "stbl" box in the order of
    stsd, stts, stsc, stsz, stco, stss.
    + avifImageRGBToYUV() and avifImageYUVToRGB() handle avifImage bit depths 8, 10,
    12 and now also 16. Files read by apps/shared/ can output 16-bit avifImage
    instances.
    + avifImageCreate(), avifImageCreateEmpty(), avifEncoderCreate() and other
    internal functions now return NULL if a memory allocation failed.
    + avifEncoderSetCodecSpecificOption() now returns avifResult instead of void to
    report memory allocation failures.
- Add fix-gdkpixbuf.patch.