AVIF

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
AV1 Image File Format (AVIF)
64px
Filename extension .avif
Internet media type image/avif
Developed by Alliance for Open Media
Initial release v1.0.0, 19 February 2019
Type of format
Contained by HEIF
Extended from HEIF, ISOBMFF, AV1
Website aomediacodec.github.io/av1-avif/

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.[1] It competes with HEIC, which uses the same container format built upon ISOBMFF, but HEVC for compression. Version 1.0.0 of the AVIF specification was finalized in February 2019.

In a number of tests by Netflix in 2020, AVIF showed better compression efficiency than JPEG as well as better detail preservation, fewer blocking artifacts and less color bleeding around hard edges in composites of natural images, text, and graphics.[2]

Features

AVIF supports features like:

Profiles

AVIF specification defines two image profiles:[1]

  • AVIF Baseline Profile
    • Uses AV1 Main Profile
    • AV1 level is 5.1 or lower
      • Level 5.1 is chosen for the Baseline profile to ensure that no single coded image exceeds 8K resolution, as some decoders may not be able to handle larger images. More precisely, coded image items compliant to the AVIF Baseline profile may not have a total number of pixels greater than 8912896, a width greater than 8192, or a height greater than 4352. It is still possible to use the Baseline profile to create larger images using grid derivation.
  • AVIF Advanced Profile
    • Uses AV1 High Profile
    • AV1 level is 6.0 or lower
      • Coded image items compliant to the AVIF Advanced profile may not have a total number of pixels greater than 35651584, a width greater than 16384, or a height greater than 8704. It is still possible to use the Advanced profile to create larger images using grid derivation.

Support

On 14 December 2018 Netflix published the first .avif sample images.[6] In November 2020, HDR sample images with PQ transfer function and BT.2020 color primaries were published.[7]

libavif
300px
Developer(s) Alliance for Open Media
Stable release 0.11.1 / 21 October 2022; 2 years ago (2022-10-21)
Written in <templatestyles src="Cslist/styles.css" />
Operating system cross-platform
License BSD 2-Clause License (free software)
Website {{#property:P856}}

Software

  • Encoder: wavif, written by Cédric Louvrier, French developer who wrote the Pingo webp Image Optimizer, a multi format tool for optimized images. Closed source license but free to use for public projects. Version 0.17 released on 01 December 2022. The encoder is still at early stage and outputs big sizes such as 1:9 compression ratio. It has an only command line tool and uses the libaom wrapper at q 92 webp equivalent.[8][9]

Web browsers

  • In August 2020, Google Chrome version 85 was released with full AVIF support.[10] Google Chrome 89 for Android adds AVIF support.[11]
  • In October 2021, Mozilla Firefox 93 was released with default AVIF support.[12] It had planned to enable AVIF support by default in Firefox 86, but pulled the change a day before release.[13][14]
  • WebKit added AVIF support on 5 March 2021. Safari for iOS 16 has added the support for AVIF, iOS 16 was released on September 12, 2022.[15] macOS Ventura has added AVIF support and Safari on macOS Ventura has added AVIF support[16][17] macOS Ventura was released on October 24, 2022.[18] Safari 16.4 adds AVIF support on macOS Monterey and macOS Big Sur.[19]

Image viewers

Media player

  • VLC reads AVIF files starting with version 4, which is still in development[24]

Image editors

  • Paint.net added support for opening AVIF files in September 2019,[25] and the ability to save AVIF format images in an August 2020 update.[26]
  • The Colorist format conversion and Darktable RAW image data have each released support for and provide reference implementations of libavif.
  • Native AVIF import and export was added to GIMP in October 2020.[27]
  • Krita 5.0 released on 23 December 2021 added AVIF support. The support also includes Rec.2100 HDR AVIF images.[28][29]
  • Adobe Illustrator May 2022 release released on May 10 2022 added AVIF support.[30]
  • Pixelmator Pro 3.1 released on November 2, 2022 added initial AVIF support.[31]

Image libraries

  • libavif – portable library for encoding and decoding AVIF files.
  • libheif – ISO/IEC 23008-12:2017 HEIF and AVIF decoder and encoder.
  • SAIL – format-agnostic library with support of AVIF implemented on top of libavif.
  • FFmpeg

Operating systems

  • Windows – Microsoft announced support with the Windows 10 "19H1" preview release, including support in File Explorer, Paint and multiple APIs, together with sample images.
  • Android – Android 12, released on 4 October 2021, added native support for AVIF.[32] However, it did not change the default image format for the camera app.[citation needed]
  • Linux – AVIF is widely supported in Linux distributions. With the release of libavif 0.8.0 in July 2020, which added a GdkPixbuf plugin, AVIF support is present in most GNOME/GTK applications.[33] The KDE Frameworks added support for AVIF to the "KImageFormats" library in January 2021, enabling most KDE/Qt applications to support viewing and saving AVIF images.[34] Nomacs 3.16 adds support for AVIF viewing and conversion. Nomacs appimage is also for older Linux.
  • Apple Platforms – iOS 16, iPadOS 16, macOS Ventura have AVIF image support. You can directly store and view AVIF photos in the Photos and Files app, etc.

Websites

  • Cloudflare announced AVIF support in a blog post on 3 October 2020.[35]
  • Vimeo announced AVIF support in a blog post on 3 June 2021.[36]

Programming languages

  • PHP has AVIF support in its GD extension since PHP version 8.1.[37]

Others

  • ExifTool has supported AVIF format for reading and writing EXIF since version 11.79.

References

<templatestyles src="Reflist/styles.css" />

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />
  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.