Skip to content

Incorrect IndexEntry.StreamOffset value in IAB Track Files #155

@palemieux

Description

@palemieux

ST 377-1, 11.1.4 states:

Stream Offset
Provides the absolute byte offset to the start of the indexed Edit Unit within the Essence Container or the indexed
external Essence file, such that
[...]
2. For clip-wrapped Essence, each Index Entry value shall mark the start of an Edit Unit of stored Essence,
excluding the KL at the start of the Essence Container in each Partition.
Note 1: Including the bytes occupied by KL at the start of the Essence Container would eliminate the ability
to use a single Index Entry to index CBE Essence.

It looks like the AS02 IAB writer indexes IA Frame from the start of the K of the Clip instead of from the start of the V, i.e. the essence container position of the first edit unit is 24d instead of 0d, :

this->m_Writer->m_StreamOffset = RESERVED_KL_SIZE;

It is relatively safe and simple for a parser to detect and correct an Incorrect Stream Offset.

Recommendation:

  • fix the issue in ASDCPLib
  • warn implementers, through a note in ST 2067-2 and/or through the IMF UG, that some files might be incorrect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions