From c1f956fd63dcb84aecdfe2aa8518fb91d2679777 Mon Sep 17 00:00:00 2001 From: Leo Barnes Date: Tue, 10 Sep 2024 11:12:50 +0200 Subject: [PATCH] Add list of required boxes for image items. Closes #167. This is a rebase and fixup of PR #170. The section on box requirements for sequences has been removed until someone has taken the time to fully go through it. --- index.bs | 360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 359 insertions(+), 1 deletion(-) diff --git a/index.bs b/index.bs index a62172a..90c19c3 100755 --- a/index.bs +++ b/index.bs @@ -93,6 +93,8 @@ url: https://www.iso.org/standard/68960.html; spec: ISOBMFF; type: property; text: mdcv text: clap text: iloc + text: mdat + text: idat url: https://www.iso.org/standard/74417.html; spec: MIAF; type: property; text: miaf @@ -431,6 +433,362 @@ A file containing a 'pict' track compliant with this profile is expected to list avis, msf1, miaf, MA1A +

Box requirements

+ +

Image item boxes

+This section discusses the box requirements for an AVIF file containing only image items. + +

Minimum set of boxes

+ +

As indicated in [[#file-constraints]], an AVIF file is a compliant [[!MIAF]] file. As a consequence, some [[!ISOBMFF]] or [[!HEIF]] boxes are required, as indicated in the following table. The order of the boxes is indicative in the table. The specifications listed in the "Specification" +column may require a specific order for the box or for its children and shall be respected. For example, per [[!ISOBMFF]], the FileTypeBox is required to appear first in an AVIF file. +The "Version(s)" column in the following table lists the version(s) of the boxes allowed by this brand. +Other versions of the boxes shall not be used. "-" means that the box does not have a version.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Top-LevelLevel 1Level 2Level 3Version(s)SpecificationNote
ftyp   -ISOBMFF 
meta   0ISOBMFF 
 hdlr  0ISOBMFF 
 pitm  0, 1ISOBMFF 
 iloc  0, 1, 2ISOBMFF 
 iinf 0, 1ISOBMFF 
  infe 2, 3ISOBMFF 
 iprp  -ISOBMFF 
  ipco -ISOBMFF 
   av1C-AVIF 
   ispe0HEIF 
   pixi0HEIF 
  ipma 0, 1ISOBMFF 
mdat   -ISOBMFFThe coded payload may be placed in 'idat' rather than 'mdat', in which case 'mdat' is not required.
+ +

Requirements on additional image item related boxes

+ +

The boxes indicated in the following table may be present in an AVIF file to provide additional signaling for image items. The boxes may be present inside the box indicated in the "Containing box" column. If present, they shall use the version indicated in the table and AVIF readers are expected to understand them. The order of the boxes is indicative in the table. Specifications may require specific order and shall be respected. Additionally, the free and skip boxes may be present at any level in the hierarchy. AVIF readers are expected to ignore them. Additional boxes in the meta hierarchy not listed in the following table may also be present and may be ignored by AVIF readers.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Level 1Level 2Version(s)SpecificationContaining BoxDescription
dinf -ISOBMFFmetaUsed to indicate the location of the media information in a track
 dref0ISOBMFF  
iref 0, 1ISOBMFFmetaUsed to indicate directional relationships between images or metadata
 auxl-HEIF Used when an image is auxiliary to another image
 thmb-HEIF Used when an image is a thumbnail of another image
 dimg-HEIF Used when an image is derived from another image
 prem-HEIF Used when when an alpha image contains premultiplied color values from another image
 cdsc-HEIF Used to link metadata with an image
idat -ISOBMFFmetaUsed to store derived image definitions
grpl -ISOBMFFmetaUsed to indicate that multiple images are semantically grouped
 altr0ISOBMFF Used when images in a group are alternative to each other
pasp -ISOBMFFipcoUsed to signal pixel aspect ratio. If present, shall indicate a pixel aspect ratio of 1:1
colr -ISOBMFFipcoUsed to signal information such as color primaries.
auxC 0HEIFipcoUsed to signal the type of an auxiliary image (e.g. alpha, depth).
clap -ISOBMFFipcoUsed to signal cropping applied to an image
irot -HEIFipcoUsed to signal a rotation applied to an image
imir -HEIFipcoUsed to signal a mirroring applied to an image
clli -ISOBMFFipcoUsed to signal HDR light level information for an image
cclv -ISOBMFFipcoUsed to signal HDR color volume for an image
mdcv -ISOBMFFipcoUsed to signal HDR mastering information for an image
a1op -AVIFipcoUsed to configure rendering of a multiple operating points image
lsel -HEIFipcoUsed to configure rendering of a multilayered image
a1lx -AVIFipcoUsed to assist reader in parsing a multilayered image
+

AVIF Media Type Registration

The media type "image/avif" is officially registered with IANA and available at: https://www.iana.org/assignments/media-types/image/avif.

@@ -438,4 +796,4 @@ A file containing a 'pict' track compliant with this profile is expected to list

Changes since v1.1.0 release

- EDITORIAL: Stop using `dfn value` for definitions. - EDITORIAL: Add assert-ids in the spec for conformance file testing and ComplianceWarden - + - Add required list of boxes for AVIF files