Conversation
ISO/IEC 14496-12:2022 Clause 8.11.6.2 says:
aligned(8) class ItemInfoBox
extends FullBox('iinf', version, 0) {
if (version == 0) {
unsigned int(16) entry_count;
} else {
unsigned int(32) entry_count;
}
ItemInfoEntry[ entry_count ] item_infos;
}
Do not reject version > 1 in iinf as an error. This will allow version 2
to be added in the future.
|
I converted this pull request to a draft. Perhaps the proper way to handle an |
|
I was looking at the spec for something else, and indeed I saw that ISOBMFF (14496-12:2024) section 4.2.2 says "FullBoxes with an unrecognized version shall be ignored and skipped." But note that it's not always clear (in my opinion) what an "unrecognized version" is. The pseudo code you posted doesn't make it clear that only versions 0 and 1 are defined. Another misleading example I came across is SampleGroupDescriptionBox ('sgpd') where the box definition only has |
|
Maryla: Thanks for your comment. Searching for "} else {" in ISO BMFF, I found two common patterns. (1). The syntax says: and the semantics says the version is "0 or 1 in this document" or "0 or 1". Examples: mvhd, tkhd, mdhd, elst. (2) The syntax says: and the semantics does not enumerate the versions. The condition under which version 1 should be used is described, and no other versions are mentioned. Examples: cslg, pitm, iinf, fpar. In this pattern, although the versions are not explicitly enumerated, it is reasonable to interprete that only version 0 and version 1 are defined, for otherwise the description should state the condition under which version 1 or higher should be used. Another piece of information could help us resolve this issue. Is there a FullBox with a version |
ISO/IEC 14496-12:2022 Clause 8.11.6.2 says:
aligned(8) class ItemInfoBox
extends FullBox('iinf', version, 0) {
if (version == 0) {
unsigned int(16) entry_count;
} else {
unsigned int(32) entry_count;
}
ItemInfoEntry[ entry_count ] item_infos;
}
Do not reject version > 1 in iinf as an error. This will allow version 2 to be added in the future.