TS 26.244 clause 8 defines asset information: boxes in a user data box
(udta) of the movie or of a track, describing the content. QuickTime and MP4
readers know many of the same codes (see the MOV registered
user data items).
Common rules
Every asset box is a full box: size, type, version (uint8, 0) and flags (3 bytes, 0), so
its data starts at offset 12. Most then have a 16-bit language field: one pad bit (0) and a
packed ISO 639-2/T code, three 5-bit letters each stored as the letter’s ASCII value minus
0x60 (eng is 0x15C7). Strings are null-terminated UTF-8, or UTF-16 starting
with the byte-order mark 0xFEFF. There may be several boxes of a type in different
languages.
Text boxes
| Box | Fields after version and flags |
|---|---|
titl | language, title (string) |
dscp | language, description |
cprt | language, copyright notice |
perf | language, performer |
auth | language, author |
gnre | language, genre |
coll | language, name of the collection the media belongs to |
albm | language, album title, then an optional uint8 track number |
Example titl, English, “Hi”:
00 00 00 11 74 69 74 6C 00 00 00 00 15 C7 48 69 00 ....titl......Hi.
rtng and clsf
| Offset | Size | Name | Meaning (rtng) |
|---|---|---|---|
| 12 | 4 | rating entity | FourCC of the rating body, such as BBFC. |
| 16 | 4 | rating criteria | FourCC of the rating, such as PG13. |
| 20 | 2 | language | Pad bit and packed language. |
| 22 | varies | rating info | String. |
| Offset | Size | Name | Meaning (clsf) |
|---|---|---|---|
| 12 | 4 | classification entity | FourCC of the classifying body. |
| 16 | 2 | classification table | Which of its tables; 0 means none in particular. |
| 18 | 2 | language | Pad bit and packed language. |
| 20 | varies | classification info | String. |
kywd
| Offset | Size | Name | Meaning |
|---|---|---|---|
| 12 | 2 | language | Pad bit and packed language. |
| 14 | 1 | keyword count | Number of keywords; more than 0. |
| 15 | varies | keywords | Each: a size byte (bytes in the keyword string) and the string. |
loci
| Offset | Size | Name | Meaning |
|---|---|---|---|
| 12 | 2 | language | Pad bit and packed language. |
| 14 | varies | name | Place name (string). |
| … | 1 | role | 0 shooting location, 1 real location, 2 fictional location; others reserved. |
| … | 4 | longitude | 16.16 fixed-point degrees. |
| … | 4 | latitude | 16.16 fixed-point degrees. |
| … | 4 | altitude | 16.16 fixed-point metres above sea level. |
| … | varies | astronomical body | String, such as earth. |
| … | varies | additional notes | String. |
A longitude outside −180 to 180, or a latitude outside −90 to 90, means the coordinates are unspecified. The table lists these fields as unsigned 32-bit, but west, south and below sea level need negative values, so readers take them as signed two’s complement.
yrrc, urat and thmb
| Box | Fields after version and flags |
|---|---|
yrrc | Recording year, uint16. No language field. |
urat | 3 reserved bytes (0), then a star rating byte: 0 not rated, or 10 to 50 for 1 to 5 stars. |
thmb | Format (FourCC, must be jpeg), then the image to the end of the box, following TS 26.234 clause 7.5. |
orie
| Offset | Size | Name | Meaning |
|---|---|---|---|
| 12 | 2 | digital zoom | 8.8 fixed enlargement factor. |
| 14 | 2 | optical zoom | 8.8 fixed magnification factor. |
| 16 | 1 bit | pan indication | 1 true north, 0 magnetic north. |
| … | … | pan | Fixed-point compass direction: north 0°, east 90°, south 180°, west −90°. Undefined when the camera points straight up or down. |
| … | 4 | rotation | 16.16 fixed rotation about the direction the camera points. |
| … | 4 | tilt | 16.16 fixed angle from the horizontal; 90 is straight up. |
The clause’s table gives pan as 32 bits after the 1-bit indication, while its text describes a 16.15 fixed-point value; that suggests the indication and pan share one 32-bit word, but the exact packing could not be confirmed and is left open here.
ID32
Clause 8.3 carries an ID3 version 2 tag. The ID32 box sits in a
meta box whose handler is ID32, either directly or as the primary
item stored elsewhere.
| Offset | Size | Name | Meaning |
|---|---|---|---|
| 8 | 1 | version | 0. |
| 9 | 3 | flags | 0. |
| 12 | 2 | language | Pad bit and packed language; mul or und if the tag’s own language fields disagree. |
| 14 | varies | ID3v2 data | A complete ID3v2 tag with its frames, the same ID3 version throughout, no footer; the size comes from the box size. See the MP3 ID3v2 page for its layout. |