AVIF -- AV1 Image File Format

Added in version 3.10.

Driver short name

AVIF

Build dependencies

libavif

AV1 Image File Format (AVIF) is an open, royalty-free image file format specification for storing images or image sequences compressed with AV1 in the HEIF container format.

It supports 8-bit, 10-bit and 12-bit images, single-bland, single-band and alpha channel, RGB and RGBA.

Files containing animations (several images) will be exposed as GDAL subdatasets.

Compression and decompression is done on entire images, so the driver can not handle arbitrary sizes images.

Note: read-only support for AVIF files is also available through the HEIF / HEIC -- ISO/IEC 23008-12:2017 High Efficiency Image File Format driver if the AVIF driver is not available, and if libheif has been compiled with an AV1 compatible decoder.

Driver capabilities

Color Profile Metadata

GDAL can deal with the following color profile metadata in the COLOR_PROFILE domain:

  • SOURCE_ICC_PROFILE (Base64 encoded ICC profile embedded in file.)

Creation options

Creation options can be specified in command-line tools using the syntax -co <NAME>=<VALUE> or by providing the appropriate arguments to GDALCreate() (C) or Driver.Create (Python). The following creation options are supported:

  • CODEC=[AUTO/AOM/RAV1E/SVT]: Defaults to AUTO. Compression library to use. Choices available depend on how libavif has been built.

  • QUALITY=[0-100]: Defaults to 60. Quality for non-alpha channels. 0 is the lowest quality, 100 is for lossless encoding. Default is 60.

  • QUALITY_ALPHA=[0-100]: Defaults to 100. Quality for alpha channel. 0 is the lowest quality, 100 is for lossless encoding. Default is 100/lossless.

  • SPEED=[0-10]: Defaults to 6. Speed of encoding. 0=slowest. 10=fastest.

  • NUM_THREADS=<integer>|ALL_CPUS: Defaults to ALL_CPUS. Number of worker threads for compression.

  • SOURCE_ICC_PROFILE=value: ICC profile encoded in Base64. Can also be set to empty string to avoid the ICC profile from the source dataset to be used.

  • WRITE_EXIF_METADATA=[YES/NO]: Defaults to YES. Whether to write EXIF metadata present in source file.

  • WRITE_XMP=[YES/NO]: Defaults to YES. Whether to write XMP metadata present in source file.

  • NBITS=[8/10/12]: Bit depth.

  • YUV_SUBSAMPLING=[444/422/420]: Defaults to 444. Type of chroma subsampling <https://en.wikipedia.org/wiki/Chroma_subsampling> to apply to YUV channels for RGB or RGBA images (it is ignored for single band of single band + alpha images) 4:4:4 corresponds to full horizontal and vertical resolution for chrominance channels. 4:2:2 corresponds to half horizontal and full vertical resolution. 4:2:0 corresponds to half horizontal and half vertical resolution. Only 4:4:4 can be used for lossless encoding.

See Also