Because QT atom container–based data structures are widely used in QuickTime, a description key is presented here. Its usage is illustrated in the following sections, “Sprite Media Handler Track Properties QT Atom Container Format” and “Sprite Media Handler Sample QT Atom Container Formats.”
[(QTAtomFormatName)] = |
atomType_1, id, index |
data |
atomType_n, id, index |
data |
The atoms may be required or optional:
// optional atom |
// required atom |
<atomType> |
atomType |
The atom ID may be a number if it is required to be a constant, or it may be a list of valid atom IDs, indicating that multiple atoms of this type are allowed.
3 // one atom with id of 3 |
(1..3) // three atoms with id's of 1, 2, and 3 |
(1, 5, 7) // three atoms with id's of 1, 5, and 7 |
(anyUniqueIDs) // multiple atoms each with a unique id |
The atom index may be a 1 if only one atom of this type is allowed, or it may be a range from 1 to some constant or variable.
1 // one atom of this type is allowed, index is always 1 |
(1..3) // three atoms with indexes 1, 2, and 3 |
(1..numAtoms) // numAtoms atoms with indexes of 1 to numAtoms |
The data may be leaf data in which its data type is listed inside of brackets [], or it may be a nested tree of atoms.
[theDataType] // leaf data of type theDataType |
childAtoms // a nested tree of atoms |
Nested QTAtom format
definitions [(AtomFormatName)] may appear in a definition.
Last updated: 2007-09-04