diff --git a/format/mp4/boxes.go b/format/mp4/boxes.go index e0561d52..acf782ed 100644 --- a/format/mp4/boxes.go +++ b/format/mp4/boxes.go @@ -433,7 +433,13 @@ func decodeBox(ctx *decodeContext, d *decode.D, typ string) { case "tkhd": var trackID int version := d.FieldU8("version") - d.FieldU24("flags") + d.FieldStruct("flags", func(d *decode.D) { + d.FieldU20("unused") + d.FieldBool("size_is_aspect_ratio") + d.FieldBool("in_preview") + d.FieldBool("in_movie") + d.FieldBool("enabled") + }) switch version { case 0: d.FieldU32("creation_time", uintActualQuicktimeEpoch) diff --git a/format/mp4/testdata/aac.fqtest b/format/mp4/testdata/aac.fqtest index df82bb6d..3ecc3548 100644 --- a/format/mp4/testdata/aac.fqtest +++ b/format/mp4/testdata/aac.fqtest @@ -70,7 +70,12 @@ $ fq -d mp4 dv aac.mp4 0x310|00 5c |.\ | 0x310| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x312-0x315.7 (4) 0x310| 00 | . | version: 0 0x316-0x316.7 (1) -0x310| 00 00 03 | ... | flags: 3 0x317-0x319.7 (3) + | | | flags{}: 0x317-0x319.7 (3) +0x310| 00 00 03 | ... | unused: 0 0x317-0x319.3 (2.4) +0x310| 03 | . | size_is_aspect_ratio: false 0x319.4-0x319.4 (0.1) +0x310| 03 | . | in_preview: false 0x319.5-0x319.5 (0.1) +0x310| 03 | . | in_movie: true 0x319.6-0x319.6 (0.1) +0x310| 03 | . | enabled: true 0x319.7-0x319.7 (0.1) 0x310| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x31a-0x31d.7 (4) 0x310| 00 00| ..| modification_time: 0 (1904-01-04T00:00:00Z) 0x31e-0x321.7 (4) 0x320|00 00 |.. | diff --git a/format/mp4/testdata/av1.fqtest b/format/mp4/testdata/av1.fqtest index 83e5b9c0..0db4e918 100644 --- a/format/mp4/testdata/av1.fqtest +++ b/format/mp4/testdata/av1.fqtest @@ -63,7 +63,12 @@ $ fq -d mp4 dv av1.mp4 0x1230| 00 00 00 5c| ...\| size: 92 0x123c-0x123f.7 (4) 0x1240|74 6b 68 64 |tkhd | type: "tkhd" (Track header, overall information about the track) 0x1240-0x1243.7 (4) 0x1240| 00 | . | version: 0 0x1244-0x1244.7 (1) -0x1240| 00 00 03 | ... | flags: 3 0x1245-0x1247.7 (3) + | | | flags{}: 0x1245-0x1247.7 (3) +0x1240| 00 00 03 | ... | unused: 0 0x1245-0x1247.3 (2.4) +0x1240| 03 | . | size_is_aspect_ratio: false 0x1247.4-0x1247.4 (0.1) +0x1240| 03 | . | in_preview: false 0x1247.5-0x1247.5 (0.1) +0x1240| 03 | . | in_movie: true 0x1247.6-0x1247.6 (0.1) +0x1240| 03 | . | enabled: true 0x1247.7-0x1247.7 (0.1) 0x1240| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x1248-0x124b.7 (4) 0x1240| 00 00 00 00| ....| modification_time: 0 (1904-01-04T00:00:00Z) 0x124c-0x124f.7 (4) 0x1250|00 00 00 01 |.... | track_id: 1 0x1250-0x1253.7 (4) diff --git a/format/mp4/testdata/avc.fqtest b/format/mp4/testdata/avc.fqtest index 4cbe93c5..048b3dbc 100644 --- a/format/mp4/testdata/avc.fqtest +++ b/format/mp4/testdata/avc.fqtest @@ -70,7 +70,12 @@ $ fq -d mp4 dv avc.mp4 0x00e00|5c |\ | 0x00e00| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0xe01-0xe04.7 (4) 0x00e00| 00 | . | version: 0 0xe05-0xe05.7 (1) -0x00e00| 00 00 03 | ... | flags: 3 0xe06-0xe08.7 (3) + | | | flags{}: 0xe06-0xe08.7 (3) +0x00e00| 00 00 03 | ... | unused: 0 0xe06-0xe08.3 (2.4) +0x00e00| 03 | . | size_is_aspect_ratio: false 0xe08.4-0xe08.4 (0.1) +0x00e00| 03 | . | in_preview: false 0xe08.5-0xe08.5 (0.1) +0x00e00| 03 | . | in_movie: true 0xe08.6-0xe08.6 (0.1) +0x00e00| 03 | . | enabled: true 0xe08.7-0xe08.7 (0.1) 0x00e00| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0xe09-0xe0c.7 (4) 0x00e00| 00 00 00| ...| modification_time: 0 (1904-01-04T00:00:00Z) 0xe0d-0xe10.7 (4) 0x00e10|00 |. | diff --git a/format/mp4/testdata/dash.fqtest b/format/mp4/testdata/dash.fqtest index 20f80cd4..6588a8da 100644 --- a/format/mp4/testdata/dash.fqtest +++ b/format/mp4/testdata/dash.fqtest @@ -112,7 +112,12 @@ $ fq -d mp4 dv dash_audio_init.mp4 0x120| 00 00 00 5c | ...\ | size: 92 0x123-0x126.7 (4) 0x120| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x127-0x12a.7 (4) 0x120| 00 | . | version: 0 0x12b-0x12b.7 (1) -0x120| 00 00 07 | ... | flags: 7 0x12c-0x12e.7 (3) + | | | flags{}: 0x12c-0x12e.7 (3) +0x120| 00 00 07 | ... | unused: 0 0x12c-0x12e.3 (2.4) +0x120| 07 | . | size_is_aspect_ratio: false 0x12e.4-0x12e.4 (0.1) +0x120| 07 | . | in_preview: true 0x12e.5-0x12e.5 (0.1) +0x120| 07 | . | in_movie: true 0x12e.6-0x12e.6 (0.1) +0x120| 07 | . | enabled: true 0x12e.7-0x12e.7 (0.1) 0x120| dd| .| creation_time: 3713521298 (2021-09-06T13:41:38Z) 0x12f-0x132.7 (4) 0x130|57 d6 92 |W.. | 0x130| dd 57 d6 92 | .W.. | modification_time: 3713521298 (2021-09-06T13:41:38Z) 0x133-0x136.7 (4) @@ -612,7 +617,12 @@ $ fq -d mp4 dv dash_video_init.mp4 0x0120| 00 00 00 5c | ...\ | size: 92 0x127-0x12a.7 (4) 0x0120| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x12b-0x12e.7 (4) 0x0120| 00| .| version: 0 0x12f-0x12f.7 (1) -0x0130|00 00 07 |... | flags: 7 0x130-0x132.7 (3) + | | | flags{}: 0x130-0x132.7 (3) +0x0130|00 00 07 |... | unused: 0 0x130-0x132.3 (2.4) +0x0130| 07 | . | size_is_aspect_ratio: false 0x132.4-0x132.4 (0.1) +0x0130| 07 | . | in_preview: true 0x132.5-0x132.5 (0.1) +0x0130| 07 | . | in_movie: true 0x132.6-0x132.6 (0.1) +0x0130| 07 | . | enabled: true 0x132.7-0x132.7 (0.1) 0x0130| dd 57 d6 ae | .W.. | creation_time: 3713521326 (2021-09-06T13:42:06Z) 0x133-0x136.7 (4) 0x0130| dd 57 d6 ae | .W.. | modification_time: 3713521326 (2021-09-06T13:42:06Z) 0x137-0x13a.7 (4) 0x0130| 00 00 00 01 | .... | track_id: 1 0x13b-0x13e.7 (4) diff --git a/format/mp4/testdata/flac.fqtest b/format/mp4/testdata/flac.fqtest index bf2c92f9..d870e0b9 100644 --- a/format/mp4/testdata/flac.fqtest +++ b/format/mp4/testdata/flac.fqtest @@ -70,8 +70,13 @@ $ fq -d mp4 dv flac.mp4 0x300| 00 00 00 5c | ...\ | size: 92 0x306-0x309.7 (4) 0x300| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x30a-0x30d.7 (4) 0x300| 00 | . | version: 0 0x30e-0x30e.7 (1) -0x300| 00| .| flags: 3 0x30f-0x311.7 (3) + | | | flags{}: 0x30f-0x311.7 (3) +0x300| 00| .| unused: 0 0x30f-0x311.3 (2.4) 0x310|00 03 |.. | +0x310| 03 | . | size_is_aspect_ratio: false 0x311.4-0x311.4 (0.1) +0x310| 03 | . | in_preview: false 0x311.5-0x311.5 (0.1) +0x310| 03 | . | in_movie: true 0x311.6-0x311.6 (0.1) +0x310| 03 | . | enabled: true 0x311.7-0x311.7 (0.1) 0x310| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x312-0x315.7 (4) 0x310| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x316-0x319.7 (4) 0x310| 00 00 00 01 | .... | track_id: 1 0x31a-0x31d.7 (4) diff --git a/format/mp4/testdata/fragmented.fqtest b/format/mp4/testdata/fragmented.fqtest index bfa2e100..51f8f514 100644 --- a/format/mp4/testdata/fragmented.fqtest +++ b/format/mp4/testdata/fragmented.fqtest @@ -55,7 +55,12 @@ $ fq -d mp4 dv fragmented.mp4 0x000a0|00 00 00 5c |...\ | size: 92 0xa0-0xa3.7 (4) 0x000a0| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0xa4-0xa7.7 (4) 0x000a0| 00 | . | version: 0 0xa8-0xa8.7 (1) -0x000a0| 00 00 03 | ... | flags: 3 0xa9-0xab.7 (3) + | | | flags{}: 0xa9-0xab.7 (3) +0x000a0| 00 00 03 | ... | unused: 0 0xa9-0xab.3 (2.4) +0x000a0| 03 | . | size_is_aspect_ratio: false 0xab.4-0xab.4 (0.1) +0x000a0| 03 | . | in_preview: false 0xab.5-0xab.5 (0.1) +0x000a0| 03 | . | in_movie: true 0xab.6-0xab.6 (0.1) +0x000a0| 03 | . | enabled: true 0xab.7-0xab.7 (0.1) 0x000a0| 00 00 00 00| ....| creation_time: 0 (1904-01-04T00:00:00Z) 0xac-0xaf.7 (4) 0x000b0|00 00 00 00 |.... | modification_time: 0 (1904-01-04T00:00:00Z) 0xb0-0xb3.7 (4) 0x000b0| 00 00 00 01 | .... | track_id: 1 0xb4-0xb7.7 (4) @@ -314,7 +319,12 @@ $ fq -d mp4 dv fragmented.mp4 0x00280| 00 00 00 5c| ...\| size: 92 0x28c-0x28f.7 (4) 0x00290|74 6b 68 64 |tkhd | type: "tkhd" (Track header, overall information about the track) 0x290-0x293.7 (4) 0x00290| 00 | . | version: 0 0x294-0x294.7 (1) -0x00290| 00 00 03 | ... | flags: 3 0x295-0x297.7 (3) + | | | flags{}: 0x295-0x297.7 (3) +0x00290| 00 00 03 | ... | unused: 0 0x295-0x297.3 (2.4) +0x00290| 03 | . | size_is_aspect_ratio: false 0x297.4-0x297.4 (0.1) +0x00290| 03 | . | in_preview: false 0x297.5-0x297.5 (0.1) +0x00290| 03 | . | in_movie: true 0x297.6-0x297.6 (0.1) +0x00290| 03 | . | enabled: true 0x297.7-0x297.7 (0.1) 0x00290| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x298-0x29b.7 (4) 0x00290| 00 00 00 00| ....| modification_time: 0 (1904-01-04T00:00:00Z) 0x29c-0x29f.7 (4) 0x002a0|00 00 00 02 |.... | track_id: 2 0x2a0-0x2a3.7 (4) diff --git a/format/mp4/testdata/hevc.fqtest b/format/mp4/testdata/hevc.fqtest index 3b4487c8..d519bad3 100644 --- a/format/mp4/testdata/hevc.fqtest +++ b/format/mp4/testdata/hevc.fqtest @@ -70,7 +70,12 @@ $ fq -d mp4 dv hevc.mp4 0x0900|5c |\ | 0x0900| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x901-0x904.7 (4) 0x0900| 00 | . | version: 0 0x905-0x905.7 (1) -0x0900| 00 00 03 | ... | flags: 3 0x906-0x908.7 (3) + | | | flags{}: 0x906-0x908.7 (3) +0x0900| 00 00 03 | ... | unused: 0 0x906-0x908.3 (2.4) +0x0900| 03 | . | size_is_aspect_ratio: false 0x908.4-0x908.4 (0.1) +0x0900| 03 | . | in_preview: false 0x908.5-0x908.5 (0.1) +0x0900| 03 | . | in_movie: true 0x908.6-0x908.6 (0.1) +0x0900| 03 | . | enabled: true 0x908.7-0x908.7 (0.1) 0x0900| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x909-0x90c.7 (4) 0x0900| 00 00 00| ...| modification_time: 0 (1904-01-04T00:00:00Z) 0x90d-0x910.7 (4) 0x0910|00 |. | diff --git a/format/mp4/testdata/in24.fqtest b/format/mp4/testdata/in24.fqtest index 63cfdb6f..de6be129 100644 --- a/format/mp4/testdata/in24.fqtest +++ b/format/mp4/testdata/in24.fqtest @@ -60,7 +60,12 @@ $ fq dv in24.mp4 0x1a0| 00 00 00 5c | ...\ | size: 92 0x1a8-0x1ab.7 (4) 0x1a0| 74 6b 68 64| tkhd| type: "tkhd" (Track header, overall information about the track) 0x1ac-0x1af.7 (4) 0x1b0|00 |. | version: 0 0x1b0-0x1b0.7 (1) -0x1b0| 00 00 03 | ... | flags: 3 0x1b1-0x1b3.7 (3) + | | | flags{}: 0x1b1-0x1b3.7 (3) +0x1b0| 00 00 03 | ... | unused: 0 0x1b1-0x1b3.3 (2.4) +0x1b0| 03 | . | size_is_aspect_ratio: false 0x1b3.4-0x1b3.4 (0.1) +0x1b0| 03 | . | in_preview: false 0x1b3.5-0x1b3.5 (0.1) +0x1b0| 03 | . | in_movie: true 0x1b3.6-0x1b3.6 (0.1) +0x1b0| 03 | . | enabled: true 0x1b3.7-0x1b3.7 (0.1) 0x1b0| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x1b4-0x1b7.7 (4) 0x1b0| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x1b8-0x1bb.7 (4) 0x1b0| 00 00 00 01| ....| track_id: 1 0x1bc-0x1bf.7 (4) diff --git a/format/mp4/testdata/lpcm.fqtest b/format/mp4/testdata/lpcm.fqtest index 0506dd53..cfe9ddb3 100644 --- a/format/mp4/testdata/lpcm.fqtest +++ b/format/mp4/testdata/lpcm.fqtest @@ -61,7 +61,12 @@ $ fq dv lpcm.mp4 0x2e0|00 00 00 5c |...\ | size: 92 0x2e0-0x2e3.7 (4) 0x2e0| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x2e4-0x2e7.7 (4) 0x2e0| 00 | . | version: 0 0x2e8-0x2e8.7 (1) -0x2e0| 00 00 03 | ... | flags: 3 0x2e9-0x2eb.7 (3) + | | | flags{}: 0x2e9-0x2eb.7 (3) +0x2e0| 00 00 03 | ... | unused: 0 0x2e9-0x2eb.3 (2.4) +0x2e0| 03 | . | size_is_aspect_ratio: false 0x2eb.4-0x2eb.4 (0.1) +0x2e0| 03 | . | in_preview: false 0x2eb.5-0x2eb.5 (0.1) +0x2e0| 03 | . | in_movie: true 0x2eb.6-0x2eb.6 (0.1) +0x2e0| 03 | . | enabled: true 0x2eb.7-0x2eb.7 (0.1) 0x2e0| 00 00 00 00| ....| creation_time: 0 (1904-01-04T00:00:00Z) 0x2ec-0x2ef.7 (4) 0x2f0|00 00 00 00 |.... | modification_time: 0 (1904-01-04T00:00:00Z) 0x2f0-0x2f3.7 (4) 0x2f0| 00 00 00 01 | .... | track_id: 1 0x2f4-0x2f7.7 (4) diff --git a/format/mp4/testdata/mp3.fqtest b/format/mp4/testdata/mp3.fqtest index 9d9336f8..12750b2e 100644 --- a/format/mp4/testdata/mp3.fqtest +++ b/format/mp4/testdata/mp3.fqtest @@ -71,7 +71,12 @@ $ fq -d mp4 dv mp3.mp4 0x310| 74 6b| tk| type: "tkhd" (Track header, overall information about the track) 0x31e-0x321.7 (4) 0x320|68 64 |hd | 0x320| 00 | . | version: 0 0x322-0x322.7 (1) -0x320| 00 00 03 | ... | flags: 3 0x323-0x325.7 (3) + | | | flags{}: 0x323-0x325.7 (3) +0x320| 00 00 03 | ... | unused: 0 0x323-0x325.3 (2.4) +0x320| 03 | . | size_is_aspect_ratio: false 0x325.4-0x325.4 (0.1) +0x320| 03 | . | in_preview: false 0x325.5-0x325.5 (0.1) +0x320| 03 | . | in_movie: true 0x325.6-0x325.6 (0.1) +0x320| 03 | . | enabled: true 0x325.7-0x325.7 (0.1) 0x320| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x326-0x329.7 (4) 0x320| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x32a-0x32d.7 (4) 0x320| 00 00| ..| track_id: 1 0x32e-0x331.7 (4) diff --git a/format/mp4/testdata/mpeg2.fqtest b/format/mp4/testdata/mpeg2.fqtest index 477cc9ae..b4151a2f 100644 --- a/format/mp4/testdata/mpeg2.fqtest +++ b/format/mp4/testdata/mpeg2.fqtest @@ -69,7 +69,12 @@ $ fq -d mp4 dv mpeg2.mp4 0x2020| 00 00 00 5c | ...\ | size: 92 0x2022-0x2025.7 (4) 0x2020| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x2026-0x2029.7 (4) 0x2020| 00 | . | version: 0 0x202a-0x202a.7 (1) -0x2020| 00 00 03 | ... | flags: 3 0x202b-0x202d.7 (3) + | | | flags{}: 0x202b-0x202d.7 (3) +0x2020| 00 00 03 | ... | unused: 0 0x202b-0x202d.3 (2.4) +0x2020| 03 | . | size_is_aspect_ratio: false 0x202d.4-0x202d.4 (0.1) +0x2020| 03 | . | in_preview: false 0x202d.5-0x202d.5 (0.1) +0x2020| 03 | . | in_movie: true 0x202d.6-0x202d.6 (0.1) +0x2020| 03 | . | enabled: true 0x202d.7-0x202d.7 (0.1) 0x2020| 00 00| ..| creation_time: 0 (1904-01-04T00:00:00Z) 0x202e-0x2031.7 (4) 0x2030|00 00 |.. | 0x2030| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x2032-0x2035.7 (4) diff --git a/format/mp4/testdata/mvhd-tkhd-mdhd-mehd-v1.fqtest b/format/mp4/testdata/mvhd-tkhd-mdhd-mehd-v1.fqtest index 9e820bc2..540b6ab1 100644 --- a/format/mp4/testdata/mvhd-tkhd-mdhd-mehd-v1.fqtest +++ b/format/mp4/testdata/mvhd-tkhd-mdhd-mehd-v1.fqtest @@ -43,7 +43,12 @@ $ fq -d mp4 ddv mvhd-tkhd-mdhd-mehd-v1 0x090|00 00 00 68 |...h | size: 104 0x90-0x93.7 (4) 0x090| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x94-0x97.7 (4) 0x090| 01 | . | version: 1 0x98-0x98.7 (1) -0x090| 00 00 07 | ... | flags: 7 0x99-0x9b.7 (3) + | | | flags{}: 0x99-0x9b.7 (3) +0x090| 00 00 07 | ... | unused: 0 0x99-0x9b.3 (2.4) +0x090| 07 | . | size_is_aspect_ratio: false 0x9b.4-0x9b.4 (0.1) +0x090| 07 | . | in_preview: true 0x9b.5-0x9b.5 (0.1) +0x090| 07 | . | in_movie: true 0x9b.6-0x9b.6 (0.1) +0x090| 07 | . | enabled: true 0x9b.7-0x9b.7 (0.1) 0x090| 00 00 00 00| ....| creation_time: 1652122772 (1956-05-11T18:59:32Z) 0x9c-0xa3.7 (8) 0x0a0|62 79 64 94 |byd. | 0x0a0| 00 00 00 00 62 79 64 94 | ....byd. | modification_time: 1652122772 (1956-05-11T18:59:32Z) 0xa4-0xab.7 (8) diff --git a/format/mp4/testdata/opus.fqtest b/format/mp4/testdata/opus.fqtest index f1d8375e..9e9a7ac1 100644 --- a/format/mp4/testdata/opus.fqtest +++ b/format/mp4/testdata/opus.fqtest @@ -70,7 +70,12 @@ $ fq -d mp4 dv opus.mp4 0x210| 00 00 00 5c | ...\ | size: 92 0x213-0x216.7 (4) 0x210| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x217-0x21a.7 (4) 0x210| 00 | . | version: 0 0x21b-0x21b.7 (1) -0x210| 00 00 03 | ... | flags: 3 0x21c-0x21e.7 (3) + | | | flags{}: 0x21c-0x21e.7 (3) +0x210| 00 00 03 | ... | unused: 0 0x21c-0x21e.3 (2.4) +0x210| 03 | . | size_is_aspect_ratio: false 0x21e.4-0x21e.4 (0.1) +0x210| 03 | . | in_preview: false 0x21e.5-0x21e.5 (0.1) +0x210| 03 | . | in_movie: true 0x21e.6-0x21e.6 (0.1) +0x210| 03 | . | enabled: true 0x21e.7-0x21e.7 (0.1) 0x210| 00| .| creation_time: 0 (1904-01-04T00:00:00Z) 0x21f-0x222.7 (4) 0x220|00 00 00 |... | 0x220| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x223-0x226.7 (4) diff --git a/format/mp4/testdata/png.mp4.fqtest b/format/mp4/testdata/png.mp4.fqtest index dbe774cb..57036de7 100644 --- a/format/mp4/testdata/png.mp4.fqtest +++ b/format/mp4/testdata/png.mp4.fqtest @@ -70,8 +70,13 @@ $ fq dv png.mp4 0x100| 00 00 00 5c | ...\ | size: 92 0x105-0x108.7 (4) 0x100| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x109-0x10c.7 (4) 0x100| 00 | . | version: 0 0x10d-0x10d.7 (1) -0x100| 00 00| ..| flags: 3 0x10e-0x110.7 (3) + | | | flags{}: 0x10e-0x110.7 (3) +0x100| 00 00| ..| unused: 0 0x10e-0x110.3 (2.4) 0x110|03 |. | +0x110|03 |. | size_is_aspect_ratio: false 0x110.4-0x110.4 (0.1) +0x110|03 |. | in_preview: false 0x110.5-0x110.5 (0.1) +0x110|03 |. | in_movie: true 0x110.6-0x110.6 (0.1) +0x110|03 |. | enabled: true 0x110.7-0x110.7 (0.1) 0x110| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x111-0x114.7 (4) 0x110| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x115-0x118.7 (4) 0x110| 00 00 00 01 | .... | track_id: 1 0x119-0x11c.7 (4) diff --git a/format/mp4/testdata/png_no_hdlr.mp4.fqtest b/format/mp4/testdata/png_no_hdlr.mp4.fqtest index 60341b8f..73654935 100644 --- a/format/mp4/testdata/png_no_hdlr.mp4.fqtest +++ b/format/mp4/testdata/png_no_hdlr.mp4.fqtest @@ -59,7 +59,12 @@ $ fq dv png_no_hdlr.mp4 0x0a0|00 00 00 5c |...\ | size: 92 0xa0-0xa3.7 (4) 0x0a0| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0xa4-0xa7.7 (4) 0x0a0| 00 | . | version: 0 0xa8-0xa8.7 (1) -0x0a0| 00 00 03 | ... | flags: 3 0xa9-0xab.7 (3) + | | | flags{}: 0xa9-0xab.7 (3) +0x0a0| 00 00 03 | ... | unused: 0 0xa9-0xab.3 (2.4) +0x0a0| 03 | . | size_is_aspect_ratio: false 0xab.4-0xab.4 (0.1) +0x0a0| 03 | . | in_preview: false 0xab.5-0xab.5 (0.1) +0x0a0| 03 | . | in_movie: true 0xab.6-0xab.6 (0.1) +0x0a0| 03 | . | enabled: true 0xab.7-0xab.7 (0.1) 0x0a0| 00 00 00 00| ....| creation_time: 0 (1904-01-04T00:00:00Z) 0xac-0xaf.7 (4) 0x0b0|00 00 00 00 |.... | modification_time: 0 (1904-01-04T00:00:00Z) 0xb0-0xb3.7 (4) 0x0b0| 00 00 00 01 | .... | track_id: 1 0xb4-0xb7.7 (4) diff --git a/format/mp4/testdata/stz2.fqtest b/format/mp4/testdata/stz2.fqtest index 7b89f75c..74c2bbc0 100644 --- a/format/mp4/testdata/stz2.fqtest +++ b/format/mp4/testdata/stz2.fqtest @@ -56,8 +56,13 @@ $ fq -d mp4 'dv' stz2.mp4 0x0a0| 00 00 00 5c | ...\ | size: 92 0xa5-0xa8.7 (4) 0x0a0| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0xa9-0xac.7 (4) 0x0a0| 00 | . | version: 0 0xad-0xad.7 (1) -0x0a0| 00 00| ..| flags: 3 0xae-0xb0.7 (3) + | | | flags{}: 0xae-0xb0.7 (3) +0x0a0| 00 00| ..| unused: 0 0xae-0xb0.3 (2.4) 0x0b0|03 |. | +0x0b0|03 |. | size_is_aspect_ratio: false 0xb0.4-0xb0.4 (0.1) +0x0b0|03 |. | in_preview: false 0xb0.5-0xb0.5 (0.1) +0x0b0|03 |. | in_movie: true 0xb0.6-0xb0.6 (0.1) +0x0b0|03 |. | enabled: true 0xb0.7-0xb0.7 (0.1) 0x0b0| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0xb1-0xb4.7 (4) 0x0b0| de 26 b1 49 | .&.I | modification_time: 3727077705 (2022-02-10T11:21:45Z) 0xb5-0xb8.7 (4) 0x0b0| 00 00 00 01 | .... | track_id: 1 0xb9-0xbc.7 (4) diff --git a/format/mp4/testdata/vorbis.fqtest b/format/mp4/testdata/vorbis.fqtest index 842b1171..f05d4184 100644 --- a/format/mp4/testdata/vorbis.fqtest +++ b/format/mp4/testdata/vorbis.fqtest @@ -71,7 +71,12 @@ $ fq -d mp4 dv vorbis.mp4 0x0250| 74 6b 68| tkh| type: "tkhd" (Track header, overall information about the track) 0x25d-0x260.7 (4) 0x0260|64 |d | 0x0260| 00 | . | version: 0 0x261-0x261.7 (1) -0x0260| 00 00 03 | ... | flags: 3 0x262-0x264.7 (3) + | | | flags{}: 0x262-0x264.7 (3) +0x0260| 00 00 03 | ... | unused: 0 0x262-0x264.3 (2.4) +0x0260| 03 | . | size_is_aspect_ratio: false 0x264.4-0x264.4 (0.1) +0x0260| 03 | . | in_preview: false 0x264.5-0x264.5 (0.1) +0x0260| 03 | . | in_movie: true 0x264.6-0x264.6 (0.1) +0x0260| 03 | . | enabled: true 0x264.7-0x264.7 (0.1) 0x0260| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x265-0x268.7 (4) 0x0260| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x269-0x26c.7 (4) 0x0260| 00 00 00| ...| track_id: 1 0x26d-0x270.7 (4) diff --git a/format/mp4/testdata/vp9.fqtest b/format/mp4/testdata/vp9.fqtest index f344f8ff..bd4a2737 100644 --- a/format/mp4/testdata/vp9.fqtest +++ b/format/mp4/testdata/vp9.fqtest @@ -63,7 +63,12 @@ $ fq -d mp4 dv vp9.mp4 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) + | | | flags{}: 0x15e9-0x15eb.7 (3) +0x15e0| 00 00 03 | ... | unused: 0 0x15e9-0x15eb.3 (2.4) +0x15e0| 03 | . | size_is_aspect_ratio: false 0x15eb.4-0x15eb.4 (0.1) +0x15e0| 03 | . | in_preview: false 0x15eb.5-0x15eb.5 (0.1) +0x15e0| 03 | . | in_movie: true 0x15eb.6-0x15eb.6 (0.1) +0x15e0| 03 | . | enabled: true 0x15eb.7-0x15eb.7 (0.1) 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) diff --git a/format/prores/testdata/prores_frame.fqtest b/format/prores/testdata/prores_frame.fqtest index cde61638..f75dd54e 100644 --- a/format/prores/testdata/prores_frame.fqtest +++ b/format/prores/testdata/prores_frame.fqtest @@ -69,7 +69,12 @@ $ fq -d mp4 dv prores_frame.mov 0x6cb0| 74 6b 68| tkh| type: "tkhd" (Track header, overall information about the track) 0x6cbd-0x6cc0.7 (4) 0x6cc0|64 |d | 0x6cc0| 00 | . | version: 0 0x6cc1-0x6cc1.7 (1) -0x6cc0| 00 00 03 | ... | flags: 3 0x6cc2-0x6cc4.7 (3) + | | | flags{}: 0x6cc2-0x6cc4.7 (3) +0x6cc0| 00 00 03 | ... | unused: 0 0x6cc2-0x6cc4.3 (2.4) +0x6cc0| 03 | . | size_is_aspect_ratio: false 0x6cc4.4-0x6cc4.4 (0.1) +0x6cc0| 03 | . | in_preview: false 0x6cc4.5-0x6cc4.5 (0.1) +0x6cc0| 03 | . | in_movie: true 0x6cc4.6-0x6cc4.6 (0.1) +0x6cc0| 03 | . | enabled: true 0x6cc4.7-0x6cc4.7 (0.1) 0x6cc0| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x6cc5-0x6cc8.7 (4) 0x6cc0| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x6cc9-0x6ccc.7 (4) 0x6cc0| 00 00 00| ...| track_id: 1 0x6ccd-0x6cd0.7 (4)