AOMediaCodec / libavif

libavif - Library for encoding and decoding .avif files
Other
1.45k stars 190 forks source link

Optional 'progressive' download frame #307

Closed jakearchibald closed 3 years ago

jakearchibald commented 3 years ago

The lack of progressive rendering seems like a missing feature in AVIF. Sure, it's possible to do a top-to-bottom decode, but that isn't as good as multi-pass, and it sounds like the implementation is progressive.

Could another image be added to the start file, marked up in some way to indicate that it's optional for the browser to render it, although it should render it if it doesn't have the rest of the file yet.

This part could be a different resolution to the main image, be encoded at a different quality, or be visually different (eg blurred).

For example, the cat image I used in the demo is 96 kB for full quality, but an acceptable preview can be done in 5 kB by halving the resolution and turning the quantizers to max.

I don't think this is a dupe of https://github.com/AOMediaCodec/libavif/issues/127, as a blurry version or a low-quality version would be unacceptable in that case.

joedrago commented 3 years ago

I'm unfamiliar with anything from the AVIF/HEIF/MIAF standards that offer such a mechanism (@cconcolato to confirm).

Not to split hairs, but this repo's job is simply to provide an evolving implementation of the AVIF standard, maintained here:

https://github.com/aomediacodec/av1-avif

The av1-avif repo is the appropriate place to discuss new AVIF features and amendments to the spec. If it turns out my memory is correct and no such mechanism exists, we can close this bug and you can start this conversation fresh over there. If it does, we can ignore this paperworky comment and consider this issue to be a request to support whatever it offers in the standard.

jakearchibald commented 3 years ago

Not splitting hairs at all, this was totally the wrong place for the issue. Filed https://github.com/AOMediaCodec/av1-avif/issues/102.