Download Latest Version v1.3.0 source code.zip (14.3 MB)
Email in envelope

Get an email when there's a new version of libavif

Home / v1.2.0
Name Modified Size InfoDownloads / Week
Parent folder
linux-artifacts.zip 2025-02-25 10.1 MB
macOS-artifacts.zip 2025-02-25 6.6 MB
windows-artifacts.zip 2025-02-25 15.6 MB
README.md 2025-02-25 4.6 kB
v1.2.0 source code.tar.gz 2025-02-25 13.9 MB
v1.2.0 source code.zip 2025-02-25 14.2 MB
Totals: 6 Items   60.4 MB 0

1.2.0 - 2025-02-25

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. https://github.com/AOMediaCodec/libavif/issues/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.
Source: README.md, updated 2025-02-25