3 ms·
Progressive AVIF is very flexible: it supports up to four passes, at configurable quality and dimension scaling levels. You can have any given pass reference up
by juliobbv 19d ago
Progressive AVIF is very flexible: it supports up to four passes, at configurable quality and dimension scaling levels. You can have any given pass reference up to two previous ones for refinement (thanks to AV1's strong inter-encoding capabilities), and you add filters to non-final passes (like blurring) to achieve a desired loading aesthetic.
That JXL page happens to use two passes, but the knobs are there to customize the experience to fit the use case.
- janwas 18d agoI find it misleading to call AVIF's "up to four passes" "very flexible". It seems quite limited compared to the JPEG XL ability to truncate the bitstream anywhere, or send the progressive updates for salient regions first [1]. [1]: https://opensource.googleblog.com/2021/09/using-saliency-in-progressive-jpeg-xl-images.html https://opensource.googleblog.com/2021/09/using-saliency-in-...
- jaffathecake 18d agoI don't think the truncation thing is beneficial to the web. By the time the browser would terminate the connection, it has likely downloaded way more than it needs https://jakearchibald.com/2025/present-and-future-of-progressive-image-rendering/#what-about-progressive-rendering-instead-of-responsive-images https://jakearchibald.com/2025/present-and-future-of-progres...
- janwas 18d agoSounds like some strong assumptions here, particularly a stable and non-metered connection. Imagine fast scroll across an image gallery on a slow connection (including cell handovers). Or range requests, where a service worker only downloads the header+preview portion, and when clicking on the image, no need to re-download that. Or even a browser that truncates all images, to protect users who might visit a page with huge background images that blows through their prepaid data plan. JPEG XL anticipated, and accommodates, these use cases.
- juliobbv 18d ago> I find it misleading to call AVIF's "up to four passes" "very flexible". Wow, what a way to misquote me. Let me repeat what I actually said: > Progressive AVIF is very flexible: it supports up to four passes, at configurable quality and dimension scaling levels. You can have any given pass reference up to two previous ones for refinement (thanks to AV1's strong inter-encoding capabilities), and you add filters to non-final passes (like blurring) to achieve a desired loading aesthetic. So, I re-iterate progressive AVIF is flexible, because: - Intermediate passes in AVIF can look as sharp or blurry as desired -- you don't have that kind of control with JXL - Intermediate passes in AVIF can semantically be different from the final pass -- very useful if you want to add a "loading" mark to the non-final passes to inform the user the image is still loading - The four pass limit is A GOOD THING, as you want an image format to have a reasonable worst-case upper bound on energy consumption due to sum of partial decoding + display refresh updates -- there's such a thing as having "too many passes", and uncapping the limit would be irresponsible - You can absolutely do saliency encoding in AVIF, as AV1's inter-frame encoding naturally allows for it efficiently
- janwas 17d agoAh, an accusation of misquoting. I actually quoted your exact words minus "is" and "it supports". I think we disagree on the degree of flexibility, for sure. A cap on layers (under user/browser) absolutely makes sense, but 4 at the format level is quite limiting, especially if you want to spend some of them on salient regions. I agree that's possible, but not that it's efficient. You'd waste a few KiB on encoding skip blocks - AVIF layers represent the whole image, whereas JPEG XL can efficiently encode and update at group level. How flexible did Jake find AVIF progressive in 2025? [1] "it seems pretty limited. Only particular scaling values are allowed, and 1/8 is the smallest. Supposedly, additional layers are possible[..], but whenever I tried this, the encoder would error out, or explode the file size to ~400 kB, even at lowest quality. I guess that's why it's marked 'experimental'." > Intermediate passes in AVIF can semantically be different from the final pass Also true of JPEG XL - scans are additive. [1]: https://jakearchibald.com/2025/present-and-future-of-progressive-image-rendering/ https://jakearchibald.com/2025/present-and-future-of-progres...
- 17d ago