Allow import/export of images in AV1 Image File Format (AVIF)

libavif “work in progress” means that the development is very active. There was a breaking change between 0.5.x and 0.6.x, there will be another breaking change between 0.7.x and future 0.8.x probably.
You can open image sequences/animations via libavif, you can’t save them yet. What is implemented, works perfectly. Google is using libavif in development Chrome.
Qt plug-ins in general are limited by existing Qt interface. You can set quality (typically 0-100 range). For highest quality I set YUV444 pixel format, for high I set YUV422, for medium and low quality YUV420 to achieve high compression. The plug-in reads the 10bit and 12bit AVIF images too. Output is 8bit per channel for compatibility reasons with some apps now. I am going to provide output without 8bit downgrade in the near future.
I understand that opening AVIF via existing libheif code is easy. It seems the AVIF support will be limited to 8bit as libheif release info indicate: Support for reading and writing AVIF (8 bit) images through libaom has been added. Future libheif releases will probably add 10/12 bit support too.
libavif and new libheif have one thing in common. Both of them use libaom to encode/decode AV1 data stream (libavif can optionally use other AV1 decoders/encoders instead).
libaom is a common dependency. libavif recommends to use libaom 2.0.0, because it is much faster than old 1.0.0 from 2018. v2.0.0 fixed bug with 10/12bit encoding at fastest real-time speed settings. Unfortunately lot of distros are slow to upgrade, they keep the old libaom 1.0.0 only.