AOMediaCodec / av1-avif

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

Some test files missing `pixi` box on Primary Item #151

Closed joedrago closed 1 month ago

joedrago commented 3 years ago

Related: https://github.com/AOMediaCodec/libavif/issues/635

libavif v0.9.1 has a new strict mode, which verifies that the pixi box is present and valid for the primary item (when decoding items) and, it appears that there are some test file we've offered that fail this check.

I believe this is the list:

Note: I did not check any files that use layer selectors (Apple files, quebec_3layer_op2, etc).

leo-barnes commented 3 years ago

I checked testFiles/Apple and testFiles/Xiph. All of the AVIF's in there have pixi specified.

aklemets commented 1 year ago

Where does it say that that PixelInformation box is required for Grid Items? Seems meaningless to include it in Grid items since such items don't have any pixels. Is this the result of some recent spec update?

leo-barnes commented 1 year ago

@aklemets

Where does it say that that PixelInformation box is required for Grid Items? Seems meaningless to include it in Grid items since such items don't have any pixels. Is this the result of some recent spec update?

MIAF:

7.3.6.6 Pixel Information The pixel information property shall be associated with every image that is displayable (not hidden) and should be associated with all images, and shall be supported by the MIAF renderer. This information shall be output by the MIAF reader as metadata and interpreted by the MIAF renderer.

Arguably I would say it's even more important to have it for the 'grid' item. As a parser, I don't want to have to look into individual tiles to figure out if the image is an 8-bit image or a 10-bit image.

aklemets commented 1 year ago

You are right, but strangely enough the colour information property is optional for derived images. That could be just as important as the pixel information. It seems like an inconsistency in the MIAF spec.

leo-barnes commented 1 year ago

but strangely enough the colour information property is optional for derived images

It's actually optional for coded images as well, hence why it's not required for derived images. Which is a shame since it has caused a lot of problems. Back when the wording was proposed, we wanted to basically do what JPEG does and say that no extra color information => sRGB. But JPEG has no way of signaling color info within the bitstream itself, so there is no way for confusion to happen.