MPEGGroup/FileFormat

SampleAuxiliaryInformationOffsetsBox - allowed versions?

bradh opened this issue · 2 comments

The syntax for the SampleAuxiliaryInformationOffsetsBox in ISO/IEC 14496-12:2022 has options for the size of the offset array that looks like:

if ( version == 0 ) {
    unsigned int(32) offset[ entry_count ];
}
else {
    unsigned int(64) offset[ entry_count ];
}

Is the intention that the version field can be anything? Would it be (technically) valid to write a version of 0xFF and expect that any implementation could correctly parse it, at least at iso6 or higher? Or should the version always be 0x00 or 0x01?

The version should always be 0 or 1 in this case. I raised the same issue some time ago at MPEG. I think we should fix all the syntax to something like:

if ( version == 0 ) {
    unsigned int(32) offset[ entry_count ];
}
else if (version == 1) {
    unsigned int(64) offset[ entry_count ];
}

And make sure that if an unspecified version is used there would be no syntax elements defined.

The group agrees to clarify the syntax. We will decide on the best vehicle to make the changes, possibly in the 8th edition. We also look into clearly specifying a "max version" and clarifying which flags are defined. We welcome concrete text in contributions. We also look into the collaboration with the SDL group.