AOMediaCodec / av1-avif

AV1 Image File Format Specification - ISO-BMFF/HEIF derivative
https://aomediacodec.github.io/av1-avif/
BSD 2-Clause "Simplified" License
471 stars 40 forks source link

Question about "should" statement verification #76

Closed rbouqueau closed 4 years ago

rbouqueau commented 4 years ago

Section 6.1: "The FileTypeBox should declare at least one profile that enables decoding of the primary image item, or one of its alternates. The profile should allow decoding of any associated auxiliary images, unless it is acceptable to decode the image item without its auxiliary images."

How can we know if it is "acceptable to decode the image item without its auxiliary images"?

aklemets commented 4 years ago

The purpose of that last sentence was to allow the content creator to use auxiliary image types that are not specified in the profile.

Let's say there is a profile that does not allow Alpha or Depth auxiliary images. (I think this is a hypothetical, because I think that Alpha and Depth are currently implicitly allowed in all profiles.) Or, let's say the encoder wants to use a different auxiliary image type that is not specified in the AVIF spec at all. The text in the spec allows the encoder to use such auxiliary image type(s) but the encoder should be aware that parsers may ignore the auxiliary images that are not specified in the profile.

If, on the other hand, the encoder wants to be certain that the auxiliary images are used by the renderer/parser, then it should specify a profile where those auxiliary images are mandatory.

I guess the rule can be simplified as follows: "It is not an error for the encoder to include an auxiliary image that is not allowed by the specified profile(s)."

cconcolato commented 4 years ago

We will prepare a Pull Request implementing the suggested clarification for further comments.