Using overlays #2478
Replies: 3 comments
-
libavif does have experimental support for layers. AVIF layersFirst, let me clarify what AVIF layers are so that we're on the same page. Layers are a feature from the AV1 video codec that AVIF is based on, that was designed as a way to provide multiple qualities and/or sizes for a given frame. For example, you could have a first layer that is a smaller size, and a second layer that is full size. This way a device with low capabilities, or with a small screen, could decide to only show the first layer. For images, the main use case is for "progressive decoding", so that the software can display the first low quality/small layer early, then when it's done receving all the bytes for the second layer (full image) it can decode and display it. Layers in AVIF are not overlays. They are not at all like Photoshop layers. For support in libavif, you can search avif.h for the words EncodingTo encode an image with N layers using the API, set You can do the same thing with the
The Alternatively, you can simply use the DecodingAt decoding time, using the API you can set With |
Beta Was this translation helpful? Give feedback.
-
But according to this comment: AOMediaCodec/av1-avif#155 (comment)
So it seems that avif supports both layer overlays and progressive decoding. But |
Beta Was this translation helpful? Give feedback.
-
Thanks for the link. Indeed, the feature I was talking about was the second one in the message you linked, "Multi-layer streams". The first feature listed, "overlays", is indeed part of the HEIF/MIAF specification, but it's not supported at all by libavif, either for encoding or decoding. The AVIF specification does not mention this feature but does not forbid it either. It looks like libheif supports overlays, although I haven't tried it. |
Beta Was this translation helpful? Give feedback.
-
Section 2.3 of avif spec says that it supports multi-layered images or overlays.
Is this featured supported by libavif?
E.g usage: how can I list all layers within an avif file? How do I merge separate images
1.avif, 2.avif, ...
into layer1 layer2, ... ofout.avif
Stack exchange question: https://graphicdesign.stackexchange.com/questions/166214/
Beta Was this translation helpful? Give feedback.
All reactions