Hi John. May I ask for what specific reason(s) you are asking about AVIF support? Do you intend to convert all your images to AVIF? Or is it just that you have a couple of images already in AVIF format?
AVIF really only offers benefits if you are squeezing the maximum out of your images, typically used by high-volume websites, and for smaller images, where every single byte counts. Basically when every millisecond counts in getting the info out to the user. Also, do you then plan to exclude all users with browsers that don't support AVIF? Even if you would want to "fallback" to JPG, it means you would then need duplicate copies of AVIF and JPG and all their thumbnail variations. AVIF is also slower than JPG for decompressing images in the browser, it's not only beneficial.
Almost all websites services that provide AVIF use an image-encoding service on the backend, that serves the image format automatically depending on 1. the users browser support, 2. the nature of the image. This is tremendously useful of course, as it's done automatically while the website only needs to upload images in whatever original format they like. Services like Cloudflare and Cloudinary do this, although they will charge a fee depending on request volume.
Also, you would need PHP 8.2 or higher to process AVIF, although that's normally not a problem. Also, PHP doesn't support meta data from AVIF images (IPTC and EXIF), and can't save directly to the images either.
It really isn't productive to implement directly into a self-hosted app like X3 unfortunately.
My Files Gallery app does support AVIF, but only because "it can", and it would only work if the browser supports it and the server (PHP) supports it. It won't dynamically serve another format to browsers that don't support avif, and I would never force "avif only" photo galleries.
https://demo.files.gallery/?samples/ima ... ilter=avif
On a related note, below is a WebP (similar to avif) vs JPG quality file size quality comparison from the
Optimizing Images for Photo Websites article I wrote.
