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
ST 377-1, 11.1.4 states:
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, :
asdcplib/src/AS_02_IAB.cpp
Line 225 in 69e1a22
It is relatively safe and simple for a parser to detect and correct an Incorrect Stream Offset.
Recommendation: