1
1
mirror of https://github.com/wader/fq.git synced 2024-12-25 14:23:18 +03:00
fq/format/mp4/testdata/vp9.fqtest
Mattias Wadman 83ccedc506 mp4,decode: Properly decode ilst items (both mdta and mdir)
Refactor mp4 decoder to be simpler and have fallback for unknown box type
Cleanup some old ilst hacks
Add generic string reader to decode API that takes an encoding parameters
2022-12-08 15:56:22 +01:00

340 lines
41 KiB
Plaintext

# ffmpeg -f lavfi -i testsrc -c:v vp9 -t 50ms vp9.mp4
$ fq -d mp4 dv vp9.mp4
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: vp9.mp4 (mp4) 0x0-0x184e.7 (6223)
| | | boxes[0:4]: 0x0-0x184e.7 (6223)
| | | [0]{}: box 0x0-0x1b.7 (28)
0x0000|00 00 00 1c |.... | size: 28 0x0-0x3.7 (4)
0x0000| 66 74 79 70 | ftyp | type: "ftyp" (File type and compatibility) 0x4-0x7.7 (4)
0x0000| 69 73 6f 6d | isom | major_brand: "isom" 0x8-0xb.7 (4)
0x0000| 00 00 02 00| ....| minor_version: 512 0xc-0xf.7 (4)
| | | brands[0:3]: 0x10-0x1b.7 (12)
0x0010|69 73 6f 6d |isom | [0]: "isom" brand (All files based on the ISO Base Media File Format) 0x10-0x13.7 (4)
0x0010| 69 73 6f 32 | iso2 | [1]: "iso2" brand (All files based on the 2004 edition of the ISO file format) 0x14-0x17.7 (4)
0x0010| 6d 70 34 31 | mp41 | [2]: "mp41" brand (MP4 version 1) 0x18-0x1b.7 (4)
| | | [1]{}: box 0x1c-0x23.7 (8)
0x0010| 00 00 00 08| ....| size: 8 0x1c-0x1f.7 (4)
0x0020|66 72 65 65 |free | type: "free" (Free space) 0x20-0x23.7 (4)
| | | data: raw bits 0x24-NA (0)
| | | [2]{}: box 0x24-0x1563.7 (5440)
0x0020| 00 00 15 40 | ...@ | size: 5440 0x24-0x27.7 (4)
0x0020| 6d 64 61 74 | mdat | type: "mdat" (Media data container) 0x28-0x2b.7 (4)
0x0020| a2 49 83 42| .I.B| data: raw bits 0x2c-0x1563.7 (5432)
0x0030|e0 13 f0 0e f6 0a 38 24 1c 18 4a 00 0b 70 7f d9|......8$..J..p..|
* |until 0x1563.7 (5432) | |
| | | [3]{}: box 0x1564-0x184e.7 (747)
0x1560| 00 00 02 eb | .... | size: 747 0x1564-0x1567.7 (4)
0x1560| 6d 6f 6f 76 | moov | type: "moov" (Container for all the meta-data) 0x1568-0x156b.7 (4)
| | | boxes[0:3]: 0x156c-0x184e.7 (739)
| | | [0]{}: box 0x156c-0x15d7.7 (108)
0x1560| 00 00 00 6c| ...l| size: 108 0x156c-0x156f.7 (4)
0x1570|6d 76 68 64 |mvhd | type: "mvhd" (Movie header, overall declarations) 0x1570-0x1573.7 (4)
0x1570| 00 | . | version: 0 0x1574-0x1574.7 (1)
0x1570| 00 00 00 | ... | flags: 0 0x1575-0x1577.7 (3)
0x1570| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x1578-0x157b.7 (4)
0x1570| 00 00 00 00| ....| modification_time: 0 (1904-01-04T00:00:00Z) 0x157c-0x157f.7 (4)
0x1580|00 00 03 e8 |.... | time_scale: 1000 0x1580-0x1583.7 (4)
0x1580| 00 00 00 28 | ...( | duration: 40 0x1584-0x1587.7 (4)
0x1580| 00 01 00 00 | .... | preferred_rate: 1 0x1588-0x158b.7 (4)
0x1580| 01 00 | .. | preferred_volume: 1 0x158c-0x158d.7 (2)
0x1580| 00 00| ..| reserved: "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0x158e-0x1597.7 (10)
0x1590|00 00 00 00 00 00 00 00 |........ |
| | | matrix_structure{}: 0x1598-0x15bb.7 (36)
0x1590| 00 01 00 00 | .... | a: 1 0x1598-0x159b.7 (4)
0x1590| 00 00 00 00| ....| b: 0 0x159c-0x159f.7 (4)
0x15a0|00 00 00 00 |.... | u: 0 0x15a0-0x15a3.7 (4)
0x15a0| 00 00 00 00 | .... | c: 0 0x15a4-0x15a7.7 (4)
0x15a0| 00 01 00 00 | .... | d: 1 0x15a8-0x15ab.7 (4)
0x15a0| 00 00 00 00| ....| v: 0 0x15ac-0x15af.7 (4)
0x15b0|00 00 00 00 |.... | x: 0 0x15b0-0x15b3.7 (4)
0x15b0| 00 00 00 00 | .... | y: 0 0x15b4-0x15b7.7 (4)
0x15b0| 40 00 00 00 | @... | w: 1 0x15b8-0x15bb.7 (4)
0x15b0| 00 00 00 00| ....| preview_time: 0 0x15bc-0x15bf.7 (4)
0x15c0|00 00 00 00 |.... | preview_duration: 0 0x15c0-0x15c3.7 (4)
0x15c0| 00 00 00 00 | .... | poster_time: 0 0x15c4-0x15c7.7 (4)
0x15c0| 00 00 00 00 | .... | selection_time: 0 0x15c8-0x15cb.7 (4)
0x15c0| 00 00 00 00| ....| selection_duration: 0 0x15cc-0x15cf.7 (4)
0x15d0|00 00 00 00 |.... | current_time: 0 0x15d0-0x15d3.7 (4)
0x15d0| 00 00 00 02 | .... | next_track_id: 2 0x15d4-0x15d7.7 (4)
| | | [1]{}: box 0x15d8-0x17ec.7 (533)
0x15d0| 00 00 02 15 | .... | size: 533 0x15d8-0x15db.7 (4)
0x15d0| 74 72 61 6b| trak| type: "trak" (Container for an individual track or stream) 0x15dc-0x15df.7 (4)
| | | boxes[0:3]: 0x15e0-0x17ec.7 (525)
| | | [0]{}: box 0x15e0-0x163b.7 (92)
0x15e0|00 00 00 5c |...\ | size: 92 0x15e0-0x15e3.7 (4)
0x15e0| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x15e4-0x15e7.7 (4)
0x15e0| 00 | . | version: 0 0x15e8-0x15e8.7 (1)
0x15e0| 00 00 03 | ... | flags: 3 0x15e9-0x15eb.7 (3)
0x15e0| 00 00 00 00| ....| creation_time: 0 (1904-01-04T00:00:00Z) 0x15ec-0x15ef.7 (4)
0x15f0|00 00 00 00 |.... | modification_time: 0 (1904-01-04T00:00:00Z) 0x15f0-0x15f3.7 (4)
0x15f0| 00 00 00 01 | .... | track_id: 1 0x15f4-0x15f7.7 (4)
0x15f0| 00 00 00 00 | .... | reserved1: 0 0x15f8-0x15fb.7 (4)
0x15f0| 00 00 00 28| ...(| duration: 40 0x15fc-0x15ff.7 (4)
0x1600|00 00 00 00 00 00 00 00 |........ | reserved2: raw bits 0x1600-0x1607.7 (8)
0x1600| 00 00 | .. | layer: 0 0x1608-0x1609.7 (2)
0x1600| 00 00 | .. | alternate_group: 0 0x160a-0x160b.7 (2)
0x1600| 00 00 | .. | volume: 0 0x160c-0x160d.7 (2)
0x1600| 00 00| ..| reserved3: 0 0x160e-0x160f.7 (2)
| | | matrix_structure{}: 0x1610-0x1633.7 (36)
0x1610|00 01 00 00 |.... | a: 1 0x1610-0x1613.7 (4)
0x1610| 00 00 00 00 | .... | b: 0 0x1614-0x1617.7 (4)
0x1610| 00 00 00 00 | .... | u: 0 0x1618-0x161b.7 (4)
0x1610| 00 00 00 00| ....| c: 0 0x161c-0x161f.7 (4)
0x1620|00 01 00 00 |.... | d: 1 0x1620-0x1623.7 (4)
0x1620| 00 00 00 00 | .... | v: 0 0x1624-0x1627.7 (4)
0x1620| 00 00 00 00 | .... | x: 0 0x1628-0x162b.7 (4)
0x1620| 00 00 00 00| ....| y: 0 0x162c-0x162f.7 (4)
0x1630|40 00 00 00 |@... | w: 1 0x1630-0x1633.7 (4)
0x1630| 01 40 00 00 | .@.. | track_width: 320 0x1634-0x1637.7 (4)
0x1630| 00 f0 00 00 | .... | track_height: 240 0x1638-0x163b.7 (4)
| | | [1]{}: box 0x163c-0x165f.7 (36)
0x1630| 00 00 00 24| ...$| size: 36 0x163c-0x163f.7 (4)
0x1640|65 64 74 73 |edts | type: "edts" (Edit list container) 0x1640-0x1643.7 (4)
| | | boxes[0:1]: 0x1644-0x165f.7 (28)
| | | [0]{}: box 0x1644-0x165f.7 (28)
0x1640| 00 00 00 1c | .... | size: 28 0x1644-0x1647.7 (4)
0x1640| 65 6c 73 74 | elst | type: "elst" (An edit list) 0x1648-0x164b.7 (4)
0x1640| 00 | . | version: 0 0x164c-0x164c.7 (1)
0x1640| 00 00 00| ...| flags: 0 0x164d-0x164f.7 (3)
0x1650|00 00 00 01 |.... | entry_count: 1 0x1650-0x1653.7 (4)
| | | entries[0:1]: 0x1654-0x165f.7 (12)
| | | [0]{}: entry 0x1654-0x165f.7 (12)
0x1650| 00 00 00 28 | ...( | segment_duration: 40 0x1654-0x1657.7 (4)
0x1650| 00 00 00 00 | .... | media_time: 0 0x1658-0x165b.7 (4)
0x1650| 00 01 00 00| ....| media_rate: 1 0x165c-0x165f.7 (4)
| | | [2]{}: box 0x1660-0x17ec.7 (397)
0x1660|00 00 01 8d |.... | size: 397 0x1660-0x1663.7 (4)
0x1660| 6d 64 69 61 | mdia | type: "mdia" (Container for the media information in a track) 0x1664-0x1667.7 (4)
| | | boxes[0:3]: 0x1668-0x17ec.7 (389)
| | | [0]{}: box 0x1668-0x1687.7 (32)
0x1660| 00 00 00 20 | ... | size: 32 0x1668-0x166b.7 (4)
0x1660| 6d 64 68 64| mdhd| type: "mdhd" (Media header, overall information about the media) 0x166c-0x166f.7 (4)
0x1670|00 |. | version: 0 0x1670-0x1670.7 (1)
0x1670| 00 00 00 | ... | flags: 0 0x1671-0x1673.7 (3)
0x1670| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x1674-0x1677.7 (4)
0x1670| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x1678-0x167b.7 (4)
0x1670| 00 00 32 00| ..2.| time_scale: 12800 0x167c-0x167f.7 (4)
0x1680|00 00 02 00 |.... | duration: 512 0x1680-0x1683.7 (4)
0x1680| 55 c4 | U. | language: "und" 0x1684-0x1685.7 (2)
0x1680| 00 00 | .. | quality: 0 0x1686-0x1687.7 (2)
| | | [1]{}: box 0x1688-0x16b4.7 (45)
0x1680| 00 00 00 2d | ...- | size: 45 0x1688-0x168b.7 (4)
0x1680| 68 64 6c 72| hdlr| type: "hdlr" (Handler, declares the media (handler) type) 0x168c-0x168f.7 (4)
0x1690|00 |. | version: 0 0x1690-0x1690.7 (1)
0x1690| 00 00 00 | ... | flags: 0 0x1691-0x1693.7 (3)
0x1690| 00 00 00 00 | .... | component_type: "" 0x1694-0x1697.7 (4)
0x1690| 76 69 64 65 | vide | component_subtype: "vide" (Video Track) 0x1698-0x169b.7 (4)
0x1690| 00 00 00 00| ....| component_manufacturer: "" 0x169c-0x169f.7 (4)
0x16a0|00 00 00 00 |.... | component_flags: 0 0x16a0-0x16a3.7 (4)
0x16a0| 00 00 00 00 | .... | component_flags_mask: 0 0x16a4-0x16a7.7 (4)
0x16a0| 56 69 64 65 6f 48 61 6e| VideoHan| component_name: "VideoHandler" 0x16a8-0x16b4.7 (13)
0x16b0|64 6c 65 72 00 |dler. |
| | | [2]{}: box 0x16b5-0x17ec.7 (312)
0x16b0| 00 00 01 38 | ...8 | size: 312 0x16b5-0x16b8.7 (4)
0x16b0| 6d 69 6e 66 | minf | type: "minf" (Media information container) 0x16b9-0x16bc.7 (4)
| | | boxes[0:3]: 0x16bd-0x17ec.7 (304)
| | | [0]{}: box 0x16bd-0x16d0.7 (20)
0x16b0| 00 00 00| ...| size: 20 0x16bd-0x16c0.7 (4)
0x16c0|14 |. |
0x16c0| 76 6d 68 64 | vmhd | type: "vmhd" (Video media header, overall information (video track only)) 0x16c1-0x16c4.7 (4)
0x16c0| 00 | . | version: 0 0x16c5-0x16c5.7 (1)
0x16c0| 00 00 01 | ... | flags: 1 0x16c6-0x16c8.7 (3)
0x16c0| 00 00 | .. | graphicsmode: 0 0x16c9-0x16ca.7 (2)
| | | opcolor[0:3]: 0x16cb-0x16d0.7 (6)
0x16c0| 00 00 | .. | [0]: 0 value 0x16cb-0x16cc.7 (2)
0x16c0| 00 00 | .. | [1]: 0 value 0x16cd-0x16ce.7 (2)
0x16c0| 00| .| [2]: 0 value 0x16cf-0x16d0.7 (2)
0x16d0|00 |. |
| | | [1]{}: box 0x16d1-0x16f4.7 (36)
0x16d0| 00 00 00 24 | ...$ | size: 36 0x16d1-0x16d4.7 (4)
0x16d0| 64 69 6e 66 | dinf | type: "dinf" (Data information box, container) 0x16d5-0x16d8.7 (4)
| | | boxes[0:1]: 0x16d9-0x16f4.7 (28)
| | | [0]{}: box 0x16d9-0x16f4.7 (28)
0x16d0| 00 00 00 1c | .... | size: 28 0x16d9-0x16dc.7 (4)
0x16d0| 64 72 65| dre| type: "dref" (Data reference box, declares source(s) of media data in track) 0x16dd-0x16e0.7 (4)
0x16e0|66 |f |
0x16e0| 00 | . | version: 0 0x16e1-0x16e1.7 (1)
0x16e0| 00 00 00 | ... | flags: 0 0x16e2-0x16e4.7 (3)
0x16e0| 00 00 00 01 | .... | entry_count: 1 0x16e5-0x16e8.7 (4)
| | | boxes[0:1]: 0x16e9-0x16f4.7 (12)
| | | [0]{}: box 0x16e9-0x16f4.7 (12)
0x16e0| 00 00 00 0c | .... | size: 12 0x16e9-0x16ec.7 (4)
0x16e0| 75 72 6c| url| type: "url " 0x16ed-0x16f0.7 (4)
0x16f0|20 | |
0x16f0| 00 | . | version: 0 0x16f1-0x16f1.7 (1)
0x16f0| 00 00 01 | ... | flags: 1 0x16f2-0x16f4.7 (3)
| | | data: raw bits 0x16f5-NA (0)
| | | [2]{}: box 0x16f5-0x17ec.7 (248)
0x16f0| 00 00 00 f8 | .... | size: 248 0x16f5-0x16f8.7 (4)
0x16f0| 73 74 62 6c | stbl | type: "stbl" (Sample table box, container for the time/space map) 0x16f9-0x16fc.7 (4)
| | | boxes[0:5]: 0x16fd-0x17ec.7 (240)
| | | [0]{}: box 0x16fd-0x1790.7 (148)
0x16f0| 00 00 00| ...| size: 148 0x16fd-0x1700.7 (4)
0x1700|94 |. |
0x1700| 73 74 73 64 | stsd | type: "stsd" (Sample descriptions (codec types, initialization etc.)) 0x1701-0x1704.7 (4)
0x1700| 00 | . | version: 0 0x1705-0x1705.7 (1)
0x1700| 00 00 00 | ... | flags: 0 0x1706-0x1708.7 (3)
0x1700| 00 00 00 01 | .... | entry_count: 1 0x1709-0x170c.7 (4)
| | | boxes[0:1]: 0x170d-0x1790.7 (132)
| | | [0]{}: box 0x170d-0x1790.7 (132)
0x1700| 00 00 00| ...| size: 132 0x170d-0x1710.7 (4)
0x1710|84 |. |
0x1710| 76 70 30 39 | vp09 | type: "vp09" (VP9 video) 0x1711-0x1714.7 (4)
0x1710| 00 00 00 00 00 00 | ...... | reserved: raw bits 0x1715-0x171a.7 (6)
0x1710| 00 01 | .. | data_reference_index: 1 0x171b-0x171c.7 (2)
0x1710| 00 00 | .. | version: 0 0x171d-0x171e.7 (2)
0x1710| 00| .| revision_level: 0 0x171f-0x1720.7 (2)
0x1720|00 |. |
0x1720| 00 00 00 00 | .... | max_packet_size: 0 0x1721-0x1724.7 (4)
0x1720| 00 00 00 00 | .... | temporal_quality: 0 0x1725-0x1728.7 (4)
0x1720| 00 00 00 00 | .... | spatial_quality: 0 0x1729-0x172c.7 (4)
0x1720| 01 40 | .@ | width: 320 0x172d-0x172e.7 (2)
0x1720| 00| .| height: 240 0x172f-0x1730.7 (2)
0x1730|f0 |. |
0x1730| 00 48 00 00 | .H.. | horizontal_resolution: 72 0x1731-0x1734.7 (4)
0x1730| 00 48 00 00 | .H.. | vertical_resolution: 72 0x1735-0x1738.7 (4)
0x1730| 00 00 00 00 | .... | data_size: 0 0x1739-0x173c.7 (4)
0x1730| 00 01 | .. | frame_count: 1 0x173d-0x173e.7 (2)
0x1730| 00| .| compressor_name: "" 0x173f-0x175e.7 (32)
0x1740|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00|................|
0x1750|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |............... |
0x1750| 00| .| depth: 24 0x175f-0x1760.7 (2)
0x1760|18 |. |
0x1760| ff ff | .. | color_table_id: -1 0x1761-0x1762.7 (2)
| | | boxes[0:3]: 0x1763-0x1790.7 (46)
| | | [0]{}: box 0x1763-0x1776.7 (20)
0x1760| 00 00 00 14 | .... | size: 20 0x1763-0x1766.7 (4)
0x1760| 76 70 63 43 | vpcC | type: "vpcC" 0x1767-0x176a.7 (4)
0x1760| 01 | . | version: 1 0x176b-0x176b.7 (1)
0x1760| 00 00 00 | ... | flags: 0 0x176c-0x176e.7 (3)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| descriptor{}: (vpx_ccr) 0x176f-0x1776.7 (8)
0x1760| 01| .| profile: 1 0x176f-0x176f.7 (1)
0x1770|14 |. | level: "level_2" (20) 0x1770-0x1770.7 (1)
0x1770| 86 | . | bit_depth: 8 0x1771-0x1771.3 (0.4)
0x1770| 86 | . | chroma_subsampling: "4:4:4" (3) 0x1771.4-0x1771.6 (0.3)
0x1770| 86 | . | video_full_range_flag: 0 0x1771.7-0x1771.7 (0.1)
0x1770| 02 | . | colour_primaries: "unspecified" (2) (Unspecified) 0x1772-0x1772.7 (1)
0x1770| 02 | . | transfer_characteristics: "unspecified" (2) (Unspecified) 0x1773-0x1773.7 (1)
0x1770| 02 | . | matrix_coefficients: "unspecified" (2) (Unspecified) 0x1774-0x1774.7 (1)
0x1770| 00 00 | .. | codec_initialization_data_size: 0 0x1775-0x1776.7 (2)
| | | [1]{}: box 0x1777-0x1780.7 (10)
0x1770| 00 00 00 0a | .... | size: 10 0x1777-0x177a.7 (4)
0x1770| 66 69 65 6c | fiel | type: "fiel" (Video field order) 0x177b-0x177e.7 (4)
0x1770| 01| .| data: raw bits 0x177f-0x1780.7 (2)
0x1780|00 |. |
| | | [2]{}: box 0x1781-0x1790.7 (16)
0x1780| 00 00 00 10 | .... | size: 16 0x1781-0x1784.7 (4)
0x1780| 70 61 73 70 | pasp | type: "pasp" (Pixel aspect ratio) 0x1785-0x1788.7 (4)
0x1780| 00 00 00 01 | .... | h_spacing: 1 0x1789-0x178c.7 (4)
0x1780| 00 00 00| ...| v_spacing: 1 0x178d-0x1790.7 (4)
0x1790|01 |. |
| | | [1]{}: box 0x1791-0x17a8.7 (24)
0x1790| 00 00 00 18 | .... | size: 24 0x1791-0x1794.7 (4)
0x1790| 73 74 74 73 | stts | type: "stts" (Sample time-to-sample) 0x1795-0x1798.7 (4)
0x1790| 00 | . | version: 0 0x1799-0x1799.7 (1)
0x1790| 00 00 00 | ... | flags: 0 0x179a-0x179c.7 (3)
0x1790| 00 00 00| ...| entry_count: 1 0x179d-0x17a0.7 (4)
0x17a0|01 |. |
| | | entries[0:1]: 0x17a1-0x17a8.7 (8)
| | | [0]{}: entry 0x17a1-0x17a8.7 (8)
0x17a0| 00 00 00 01 | .... | count: 1 0x17a1-0x17a4.7 (4)
0x17a0| 00 00 02 00 | .... | delta: 512 0x17a5-0x17a8.7 (4)
| | | [2]{}: box 0x17a9-0x17c4.7 (28)
0x17a0| 00 00 00 1c | .... | size: 28 0x17a9-0x17ac.7 (4)
0x17a0| 73 74 73| sts| type: "stsc" (Sample-to-chunk, partial data-offset information) 0x17ad-0x17b0.7 (4)
0x17b0|63 |c |
0x17b0| 00 | . | version: 0 0x17b1-0x17b1.7 (1)
0x17b0| 00 00 00 | ... | flags: 0 0x17b2-0x17b4.7 (3)
0x17b0| 00 00 00 01 | .... | entry_count: 1 0x17b5-0x17b8.7 (4)
| | | entries[0:1]: 0x17b9-0x17c4.7 (12)
| | | [0]{}: entry 0x17b9-0x17c4.7 (12)
0x17b0| 00 00 00 01 | .... | first_chunk: 1 0x17b9-0x17bc.7 (4)
0x17b0| 00 00 00| ...| samples_per_chunk: 1 0x17bd-0x17c0.7 (4)
0x17c0|01 |. |
0x17c0| 00 00 00 01 | .... | sample_description_id: 1 0x17c1-0x17c4.7 (4)
| | | [3]{}: box 0x17c5-0x17d8.7 (20)
0x17c0| 00 00 00 14 | .... | size: 20 0x17c5-0x17c8.7 (4)
0x17c0| 73 74 73 7a | stsz | type: "stsz" (Sample sizes (framing)) 0x17c9-0x17cc.7 (4)
0x17c0| 00 | . | version: 0 0x17cd-0x17cd.7 (1)
0x17c0| 00 00| ..| flags: 0 0x17ce-0x17d0.7 (3)
0x17d0|00 |. |
0x17d0| 00 00 15 38 | ...8 | sample_size: 5432 0x17d1-0x17d4.7 (4)
0x17d0| 00 00 00 01 | .... | entry_count: 1 0x17d5-0x17d8.7 (4)
| | | [4]{}: box 0x17d9-0x17ec.7 (20)
0x17d0| 00 00 00 14 | .... | size: 20 0x17d9-0x17dc.7 (4)
0x17d0| 73 74 63| stc| type: "stco" (Chunk offset, partial data-offset information) 0x17dd-0x17e0.7 (4)
0x17e0|6f |o |
0x17e0| 00 | . | version: 0 0x17e1-0x17e1.7 (1)
0x17e0| 00 00 00 | ... | flags: 0 0x17e2-0x17e4.7 (3)
0x17e0| 00 00 00 01 | .... | entry_count: 1 0x17e5-0x17e8.7 (4)
| | | entries[0:1]: 0x17e9-0x17ec.7 (4)
0x17e0| 00 00 00 2c | ..., | [0]: 44 chunk_offset 0x17e9-0x17ec.7 (4)
| | | [2]{}: box 0x17ed-0x184e.7 (98)
0x17e0| 00 00 00| ...| size: 98 0x17ed-0x17f0.7 (4)
0x17f0|62 |b |
0x17f0| 75 64 74 61 | udta | type: "udta" (User-data) 0x17f1-0x17f4.7 (4)
| | | boxes[0:1]: 0x17f5-0x184e.7 (90)
| | | [0]{}: box 0x17f5-0x184e.7 (90)
0x17f0| 00 00 00 5a | ...Z | size: 90 0x17f5-0x17f8.7 (4)
0x17f0| 6d 65 74 61 | meta | type: "meta" (Metadata container) 0x17f9-0x17fc.7 (4)
0x17f0| 00 00 00| ...| maybe_flags: 0 0x17fd-0x1800.7 (4)
0x1800|00 |. |
| | | boxes[0:2]: 0x1801-0x184e.7 (78)
| | | [0]{}: box 0x1801-0x1821.7 (33)
0x1800| 00 00 00 21 | ...! | size: 33 0x1801-0x1804.7 (4)
0x1800| 68 64 6c 72 | hdlr | type: "hdlr" (Handler, declares the media (handler) type) 0x1805-0x1808.7 (4)
0x1800| 00 | . | version: 0 0x1809-0x1809.7 (1)
0x1800| 00 00 00 | ... | flags: 0 0x180a-0x180c.7 (3)
0x1800| 00 00 00| ...| component_type: "" 0x180d-0x1810.7 (4)
0x1810|00 |. |
0x1810| 6d 64 69 72 | mdir | component_subtype: "mdir" (Metadata) 0x1811-0x1814.7 (4)
0x1810| 61 70 70 6c | appl | component_manufacturer: "appl" 0x1815-0x1818.7 (4)
0x1810| 00 00 00 00 | .... | component_flags: 0 0x1819-0x181c.7 (4)
0x1810| 00 00 00| ...| component_flags_mask: 0 0x181d-0x1820.7 (4)
0x1820|00 |. |
0x1820| 00 | . | component_name: "" 0x1821-0x1821.7 (1)
| | | [1]{}: box 0x1822-0x184e.7 (45)
0x1820| 00 00 00 2d | ...- | size: 45 0x1822-0x1825.7 (4)
0x1820| 69 6c 73 74 | ilst | type: "ilst" 0x1826-0x1829.7 (4)
| | | boxes[0:1]: 0x182a-0x184e.7 (37)
| | | [0]{}: box 0x182a-0x184e.7 (37)
0x1820| 00 00 00 25 | ...% | size: 37 0x182a-0x182d.7 (4)
0x1820| a9 74| .t| type: "©too" (Encoder) 0x182e-0x1831.7 (4)
0x1830|6f 6f |oo |
| | | boxes[0:1]: 0x1832-0x184e.7 (29)
| | | [0]{}: box 0x1832-0x184e.7 (29)
0x1830| 00 00 00 1d | .... | size: 29 0x1832-0x1835.7 (4)
0x1830| 64 61 74 61 | data | type: "data" 0x1836-0x1839.7 (4)
0x1830| 00 | . | version: 0 0x183a-0x183a.7 (1)
0x1830| 00 00 01 | ... | flags: 1 0x183b-0x183d.7 (3)
0x1830| 00 00| ..| reserved: 0 0x183e-0x1841.7 (4)
0x1840|00 00 |.. |
0x1840| 4c 61 76 66 35 38 2e 34 35 2e 31 30 30| | Lavf58.45.100|| data: "Lavf58.45.100" 0x1842-0x184e.7 (13)
| | | tracks[0:1]: 0x2c-0x184e.7 (6179)
| | | [0]{}: track 0x2c-0x184e.7 (6179)
| | | samples[0:1]: 0x2c-0x1563.7 (5432)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: sample (vp9_frame) 0x2c-0x1563.7 (5432)
0x0020| a2 | . | frame_marker: 2 0x2c-0x2c.1 (0.2)
0x0020| a2 | . | profile_low_bit: 1 0x2c.2-0x2c.2 (0.1)
0x0020| a2 | . | profile_high_bit: 0 0x2c.3-0x2c.3 (0.1)
| | | profile: 1 (8 bit, chroma subsampling: 4:2:2, 4:4:0, 4:4:4) 0x2c.4-NA (0)
0x0020| a2 | . | show_existing_frame: false 0x2c.4-0x2c.4 (0.1)
0x0020| a2 | . | frame_type: "key_frame" (false) 0x2c.5-0x2c.5 (0.1)
0x0020| a2 | . | show_frame: 1 0x2c.6-0x2c.6 (0.1)
0x0020| a2 | . | error_resilient_mode: 0 0x2c.7-0x2c.7 (0.1)
0x0020| 49 | I | frame_sync_byte_0: 73 0x2d-0x2d.7 (1)
0x0020| 83 | . | frame_sync_byte_1: 131 0x2e-0x2e.7 (1)
0x0020| 42| B| frame_sync_byte_2: 66 0x2f-0x2f.7 (1)
| | | bit_depth: 8 0x30-NA (0)
0x0030|e0 |. | color_space: "rgb" (7) 0x30-0x30.2 (0.3)
| | | color_range: 1 0x30.3-NA (0)
| | | subsampling_x: 0 0x30.3-NA (0)
| | | subsampling_y: 0 0x30.3-NA (0)
0x0030|e0 |. | reserved_zero2: 0 0x30.3-0x30.3 (0.1)
0x0030|e0 13 f0 |... | frame_width: 320 0x30.4-0x32.3 (2)
0x0030| f0 0e f6 | ... | frame_height: 240 0x32.4-0x34.3 (2)
0x0030| f6 0a 38 24 1c 18 4a 00 0b 70 7f d9| ..8$..J..p..| data: raw bits 0x34.4-0x1563.7 (5423.4)
0x0040|f9 be 8f e7 71 ff 5f 97 ef c3 f9 7e 37 b0 7e ad|....q._....~7.~.|
* |until 0x1563.7 (5424) | |
| | | id: 1 0x184f-NA (0)
| | | data_format: "vp09" (VP9 video) 0x184f-NA (0)