1
1
mirror of https://github.com/wader/fq.git synced 2024-11-28 11:42:50 +03:00
fq/format/matroska/testdata/flac.fqtest
Mattias Wadman 1b32b42f93 decode: Major decode API refactor
Generate more code
More generic and comfortable API
Improve and Update format decoder to new API
Add some more format tests
2021-11-15 21:12:07 +01:00

475 lines
58 KiB
Plaintext

# ffmpeg -f lavfi -i sine -ac 2 -c:a flac -strict experimental -f matroska -t 50ms flac.mkv
$ fq -d matroska verbose /flac.mkv
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.: {} /flac.mkv (matroska) 0x0-0x4ce.7 (1231)
| | | elements: [2] 0x0-0x4ce.7 (1231)
| | | [0]: element {} 0x0-0x27.7 (40)
0x000|1a 45 df a3 |.E.. | id: "EBML" (0x1a45dfa3) 0x0-0x3.7 (4)
| | | type: "master" (7) 0x4-NA (0)
0x000| a3 | . | size: 35 0x4-0x4.7 (1)
| | | elements: [7] 0x5-0x27.7 (35)
| | | [0]: element {} 0x5-0x8.7 (4)
0x000| 42 86 | B. | id: "EBMLVersion" (0x4286) 0x5-0x6.7 (2)
| | | type: "uinteger" (1) 0x7-NA (0)
0x000| 81 | . | size: 1 0x7-0x7.7 (1)
0x000| 01 | . | value: 1 0x8-0x8.7 (1)
| | | [1]: element {} 0x9-0xc.7 (4)
0x000| 42 f7 | B. | id: "EBMLReadVersion" (0x42f7) 0x9-0xa.7 (2)
| | | type: "uinteger" (1) 0xb-NA (0)
0x000| 81 | . | size: 1 0xb-0xb.7 (1)
0x000| 01 | . | value: 1 0xc-0xc.7 (1)
| | | [2]: element {} 0xd-0x10.7 (4)
0x000| 42 f2 | B. | id: "EBMLMaxIDLength" (0x42f2) 0xd-0xe.7 (2)
| | | type: "uinteger" (1) 0xf-NA (0)
0x000| 81| .| size: 1 0xf-0xf.7 (1)
0x010|04 |. | value: 4 0x10-0x10.7 (1)
| | | [3]: element {} 0x11-0x14.7 (4)
0x010| 42 f3 | B. | id: "EBMLMaxSizeLength" (0x42f3) 0x11-0x12.7 (2)
| | | type: "uinteger" (1) 0x13-NA (0)
0x010| 81 | . | size: 1 0x13-0x13.7 (1)
0x010| 08 | . | value: 8 0x14-0x14.7 (1)
| | | [4]: element {} 0x15-0x1f.7 (11)
0x010| 42 82 | B. | id: "DocType" (0x4282) 0x15-0x16.7 (2)
| | | type: "string" (3) 0x17-NA (0)
0x010| 88 | . | size: 8 0x17-0x17.7 (1)
0x010| 6d 61 74 72 6f 73 6b 61| matroska| value: "matroska" 0x18-0x1f.7 (8)
| | | [5]: element {} 0x20-0x23.7 (4)
0x020|42 87 |B. | id: "DocTypeVersion" (0x4287) 0x20-0x21.7 (2)
| | | type: "uinteger" (1) 0x22-NA (0)
0x020| 81 | . | size: 1 0x22-0x22.7 (1)
0x020| 04 | . | value: 4 0x23-0x23.7 (1)
| | | [6]: element {} 0x24-0x27.7 (4)
0x020| 42 85 | B. | id: "DocTypeReadVersion" (0x4285) 0x24-0x25.7 (2)
| | | type: "uinteger" (1) 0x26-NA (0)
0x020| 81 | . | size: 1 0x26-0x26.7 (1)
0x020| 02 | . | value: 2 0x27-0x27.7 (1)
| | | [1]: element {} 0x28-0x4ce.7 (1191)
0x020| 18 53 80 67 | .S.g | id: "Segment" (0x18538067) 0x28-0x2b.7 (4)
| | | type: "master" (7) 0x2c-NA (0)
0x020| 01 00 00 00| ....| size: 1179 0x2c-0x33.7 (8)
0x030|00 00 04 9b |.... |
| | | elements: [7] 0x34-0x4ce.7 (1179)
| | | [0]: element {} 0x34-0x78.7 (69)
0x030| 11 4d 9b 74 | .M.t | id: "SeekHead" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4)
| | | type: "master" (7) 0x38-NA (0)
0x030| c0 | . | size: 64 0x38-0x38.7 (1)
| | | elements: [5] 0x39-0x78.7 (64)
| | | [0]: element {} 0x39-0x3e.7 (6)
0x030| bf | . | id: "CRC-32" (0xbf) 0x39-0x39.7 (1)
| | | type: "binary" (6) 0x3a-NA (0)
0x030| 84 | . | size: 4 0x3a-0x3a.7 (1)
0x030| 0b 97 6b 21 | ..k! | value: raw bits 0x3b-0x3e.7 (4)
| | | [1]: element {} 0x3f-0x4c.7 (14)
0x030| 4d| M| id: "Seek" (0x4dbb) (Contains a single seek entry to an EBML Element.) 0x3f-0x40.7 (2)
0x040|bb |. |
| | | type: "master" (7) 0x41-NA (0)
0x040| 8b | . | size: 11 0x41-0x41.7 (1)
| | | elements: [2] 0x42-0x4c.7 (11)
| | | [0]: element {} 0x42-0x48.7 (7)
0x040| 53 ab | S. | id: "SeekID" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2)
| | | type: "binary" (6) 0x44-NA (0)
0x040| 84 | . | size: 4 0x44-0x44.7 (1)
0x040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4)
| | | [1]: element {} 0x49-0x4c.7 (4)
0x040| 53 ac | S. | id: "SeekPosition" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2)
| | | type: "uinteger" (1) 0x4b-NA (0)
0x040| 81 | . | size: 1 0x4b-0x4b.7 (1)
0x040| a1 | . | value: 161 0x4c-0x4c.7 (1)
| | | [2]: element {} 0x4d-0x5a.7 (14)
0x040| 4d bb | M. | id: "Seek" (0x4dbb) (Contains a single seek entry to an EBML Element.) 0x4d-0x4e.7 (2)
| | | type: "master" (7) 0x4f-NA (0)
0x040| 8b| .| size: 11 0x4f-0x4f.7 (1)
| | | elements: [2] 0x50-0x5a.7 (11)
| | | [0]: element {} 0x50-0x56.7 (7)
0x050|53 ab |S. | id: "SeekID" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2)
| | | type: "binary" (6) 0x52-NA (0)
0x050| 84 | . | size: 4 0x52-0x52.7 (1)
0x050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4)
| | | [1]: element {} 0x57-0x5a.7 (4)
0x050| 53 ac | S. | id: "SeekPosition" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2)
| | | type: "uinteger" (1) 0x59-NA (0)
0x050| 81 | . | size: 1 0x59-0x59.7 (1)
0x050| f1 | . | value: 241 0x5a-0x5a.7 (1)
| | | [3]: element {} 0x5b-0x69.7 (15)
0x050| 4d bb | M. | id: "Seek" (0x4dbb) (Contains a single seek entry to an EBML Element.) 0x5b-0x5c.7 (2)
| | | type: "master" (7) 0x5d-NA (0)
0x050| 8c | . | size: 12 0x5d-0x5d.7 (1)
| | | elements: [2] 0x5e-0x69.7 (12)
| | | [0]: element {} 0x5e-0x64.7 (7)
0x050| 53 ab| S.| id: "SeekID" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2)
| | | type: "binary" (6) 0x60-NA (0)
0x060|84 |. | size: 4 0x60-0x60.7 (1)
0x060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4)
| | | [1]: element {} 0x65-0x69.7 (5)
0x060| 53 ac | S. | id: "SeekPosition" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2)
| | | type: "uinteger" (1) 0x67-NA (0)
0x060| 82 | . | size: 2 0x67-0x67.7 (1)
0x060| 01 68 | .h | value: 360 0x68-0x69.7 (2)
| | | [4]: element {} 0x6a-0x78.7 (15)
0x060| 4d bb | M. | id: "Seek" (0x4dbb) (Contains a single seek entry to an EBML Element.) 0x6a-0x6b.7 (2)
| | | type: "master" (7) 0x6c-NA (0)
0x060| 8c | . | size: 12 0x6c-0x6c.7 (1)
| | | elements: [2] 0x6d-0x78.7 (12)
| | | [0]: element {} 0x6d-0x73.7 (7)
0x060| 53 ab | S. | id: "SeekID" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2)
| | | type: "binary" (6) 0x6f-NA (0)
0x060| 84| .| size: 4 0x6f-0x6f.7 (1)
0x070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4)
| | | [1]: element {} 0x74-0x78.7 (5)
0x070| 53 ac | S. | id: "SeekPosition" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2)
| | | type: "uinteger" (1) 0x76-NA (0)
0x070| 82 | . | size: 2 0x76-0x76.7 (1)
0x070| 04 7f | .. | value: 1151 0x77-0x78.7 (2)
| | | [1]: element {} 0x79-0xd4.7 (92)
0x070| ec | . | id: "Void" (0xec) 0x79-0x79.7 (1)
| | | type: "binary" (6) 0x7a-NA (0)
0x070| 01 00 00 00 00 00| ......| size: 83 0x7a-0x81.7 (8)
0x080|00 53 |.S |
0x080| 00 00 00 00 00 00 00 00 00 00 00 00 00 00| ..............| value: raw bits 0x82-0xd4.7 (83)
0x090|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00|................|
* |until 0xd4.7 (83) | |
| | | [2]: element {} 0xd5-0x124.7 (80)
0x0d0| 15 49 a9 66 | .I.f | id: "Info" (0x1549a966) (Contains general information about the Segment.) 0xd5-0xd8.7 (4)
| | | type: "master" (7) 0xd9-NA (0)
0x0d0| cb | . | size: 75 0xd9-0xd9.7 (1)
| | | elements: [6] 0xda-0x124.7 (75)
| | | [0]: element {} 0xda-0xdf.7 (6)
0x0d0| bf | . | id: "CRC-32" (0xbf) 0xda-0xda.7 (1)
| | | type: "binary" (6) 0xdb-NA (0)
0x0d0| 84 | . | size: 4 0xdb-0xdb.7 (1)
0x0d0| 08 bc e4 25| ...%| value: raw bits 0xdc-0xdf.7 (4)
| | | [1]: element {} 0xe0-0xe6.7 (7)
0x0e0|2a d7 b1 |*.. | id: "TimestampScale" (0x2ad7b1) (Timestamp scale in nanoseconds (1.000.000 means all timestamps in the Segment are expressed in milliseconds).) 0xe0-0xe2.7 (3)
| | | type: "uinteger" (1) 0xe3-NA (0)
0x0e0| 83 | . | size: 3 0xe3-0xe3.7 (1)
0x0e0| 0f 42 40 | .B@ | value: 1000000 0xe4-0xe6.7 (3)
| | | [2]: element {} 0xe7-0xf6.7 (16)
0x0e0| 4d 80 | M. | id: "MuxingApp" (0x4d80) (Muxing application or library (example: "libmatroska-0.4.3").) 0xe7-0xe8.7 (2)
| | | type: "UTF8" (4) 0xe9-NA (0)
0x0e0| 8d | . | size: 13 0xe9-0xe9.7 (1)
0x0e0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xea-0xf6.7 (13)
0x0f0|2e 34 35 2e 31 30 30 |.45.100 |
| | | [3]: element {} 0xf7-0x106.7 (16)
0x0f0| 57 41 | WA | id: "WritingApp" (0x5741) (Writing application (example: "mkvmerge-0.3.3").) 0xf7-0xf8.7 (2)
| | | type: "UTF8" (4) 0xf9-NA (0)
0x0f0| 8d | . | size: 13 0xf9-0xf9.7 (1)
0x0f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13)
0x100|2e 34 35 2e 31 30 30 |.45.100 |
| | | [4]: element {} 0x107-0x119.7 (19)
0x100| 73 a4 | s. | id: "SegmentUID" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2)
| | | type: "binary" (6) 0x109-NA (0)
0x100| 90 | . | size: 16 0x109-0x109.7 (1)
0x100| 57 0f ef b3 6f 8c| W...o.| value: raw bits 0x10a-0x119.7 (16)
0x110|06 5e 82 56 54 a2 d9 54 b2 34 |.^.VT..T.4 |
| | | [5]: element {} 0x11a-0x124.7 (11)
0x110| 44 89 | D. | id: "Duration" (0x4489) (Duration of the Segment in nanoseconds based on TimestampScale.) 0x11a-0x11b.7 (2)
| | | type: "float" (2) 0x11c-NA (0)
0x110| 88 | . | size: 8 0x11c-0x11c.7 (1)
0x110| 40 49 00| @I.| value: 50 0x11d-0x124.7 (8)
0x120|00 00 00 00 00 |..... |
| | | [3]: element {} 0x125-0x19b.7 (119)
0x120| 16 54 ae 6b | .T.k | id: "Tracks" (0x1654ae6b) (A Top-Level Element of information with many tracks described.) 0x125-0x128.7 (4)
| | | type: "master" (7) 0x129-NA (0)
0x120| f2 | . | size: 114 0x129-0x129.7 (1)
| | | elements: [2] 0x12a-0x19b.7 (114)
| | | [0]: element {} 0x12a-0x12f.7 (6)
0x120| bf | . | id: "CRC-32" (0xbf) 0x12a-0x12a.7 (1)
| | | type: "binary" (6) 0x12b-NA (0)
0x120| 84 | . | size: 4 0x12b-0x12b.7 (1)
0x120| ee c3 26 f4| ..&.| value: raw bits 0x12c-0x12f.7 (4)
| | | [1]: element {} 0x130-0x19b.7 (108)
0x130|ae |. | id: "TrackEntry" (0xae) (Describes a track with all Elements.) 0x130-0x130.7 (1)
| | | type: "master" (7) 0x131-NA (0)
0x130| 01 00 00 00 00 00 00 63 | .......c | size: 99 0x131-0x138.7 (8)
| | | elements: [8] 0x139-0x19b.7 (99)
| | | [0]: element {} 0x139-0x13b.7 (3)
0x130| d7 | . | id: "TrackNumber" (0xd7) (The track number as used in the Block Header (using more than 127 tracks is not encouraged, though the design allows an unlimited number).) 0x139-0x139.7 (1)
| | | type: "uinteger" (1) 0x13a-NA (0)
0x130| 81 | . | size: 1 0x13a-0x13a.7 (1)
0x130| 01 | . | value: 1 0x13b-0x13b.7 (1)
| | | [1]: element {} 0x13c-0x146.7 (11)
0x130| 73 c5 | s. | id: "TrackUID" (0x73c5) (A unique ID to identify the Track. This SHOULD be kept the same when making a direct stream copy of the Track to another file.) 0x13c-0x13d.7 (2)
| | | type: "uinteger" (1) 0x13e-NA (0)
0x130| 88 | . | size: 8 0x13e-0x13e.7 (1)
0x130| 5d| ]| value: 6714516830025709568 0x13f-0x146.7 (8)
0x140|2e c1 7b 5c 10 78 00 |..{\.x. |
| | | [2]: element {} 0x147-0x149.7 (3)
0x140| 9c | . | id: "FlagLacing" (0x9c) (Set if the track MAY contain blocks using lacing. (1 bit)) 0x147-0x147.7 (1)
| | | type: "uinteger" (1) 0x148-NA (0)
0x140| 81 | . | size: 1 0x148-0x148.7 (1)
0x140| 00 | . | value: 0 0x149-0x149.7 (1)
| | | [3]: element {} 0x14a-0x150.7 (7)
0x140| 22 b5 9c | ".. | id: "Language" (0x22b59c) (Specifies the language of the track in the . This Element MUST be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3)
| | | type: "string" (3) 0x14d-NA (0)
0x140| 83 | . | size: 3 0x14d-0x14d.7 (1)
0x140| 75 6e| un| value: "und" 0x14e-0x150.7 (3)
0x150|64 |d |
| | | [4]: element {} 0x151-0x158.7 (8)
0x150| 86 | . | id: "CodecID" (0x86) (An ID corresponding to the codec, see the for more info.) 0x151-0x151.7 (1)
| | | type: "string" (3) 0x152-NA (0)
0x150| 86 | . | size: 6 0x152-0x152.7 (1)
0x150| 41 5f 46 4c 41 43 | A_FLAC | value: "A_FLAC" 0x153-0x158.7 (6)
| | | [5]: element {} 0x159-0x15b.7 (3)
0x150| 83 | . | id: "TrackType" (0x83) (A set of track types coded on 8 bits.) 0x159-0x159.7 (1)
| | | type: "uinteger" (1) 0x15a-NA (0)
0x150| 81 | . | size: 1 0x15a-0x15a.7 (1)
0x150| 02 | . | value: "audio" (2) 0x15b-0x15b.7 (1)
| | | [6]: element {} 0x15c-0x16e.7 (19)
0x150| e1 | . | id: "Audio" (0xe1) (Audio settings.) 0x15c-0x15c.7 (1)
| | | type: "master" (7) 0x15d-NA (0)
0x150| 91 | . | size: 17 0x15d-0x15d.7 (1)
| | | elements: [3] 0x15e-0x16e.7 (17)
| | | [0]: element {} 0x15e-0x160.7 (3)
0x150| 9f | . | id: "Channels" (0x9f) (Numbers of channels in the track.) 0x15e-0x15e.7 (1)
| | | type: "uinteger" (1) 0x15f-NA (0)
0x150| 81| .| size: 1 0x15f-0x15f.7 (1)
0x160|02 |. | value: 2 0x160-0x160.7 (1)
| | | [1]: element {} 0x161-0x16a.7 (10)
0x160| b5 | . | id: "SamplingFrequency" (0xb5) (Sampling frequency in Hz.) 0x161-0x161.7 (1)
| | | type: "float" (2) 0x162-NA (0)
0x160| 88 | . | size: 8 0x162-0x162.7 (1)
0x160| 40 e5 88 80 00 00 00 00 | @....... | value: 44100 0x163-0x16a.7 (8)
| | | [2]: element {} 0x16b-0x16e.7 (4)
0x160| 62 64 | bd | id: "BitDepth" (0x6264) (Bits per sample, mostly used for PCM.) 0x16b-0x16c.7 (2)
| | | type: "uinteger" (1) 0x16d-NA (0)
0x160| 81 | . | size: 1 0x16d-0x16d.7 (1)
0x160| 10 | . | value: 16 0x16e-0x16e.7 (1)
| | | [7]: element {} 0x16f-0x19b.7 (45)
0x160| 63| c| id: "CodecPrivate" (0x63a2) (Private data only known to the codec.) 0x16f-0x170.7 (2)
0x170|a2 |. |
| | | type: "binary" (6) 0x171-NA (0)
0x170| aa | . | size: 42 0x171-0x171.7 (1)
| | | value: {} 0x172-0x19b.7 (42)
0x170| 66 4c 61 43 | fLaC | magic: "fLaC" (valid) 0x172-0x175.7 (4)
| | | metadatablocks: [1] (flac_metadatablocks) 0x176-0x19b.7 (38)
| | | [0]: metadatablock {} (flac_metadatablock) 0x176-0x19b.7 (38)
0x170| 80 | . | last_block: true 0x176-0x176 (0.1)
0x170| 80 | . | type: "Streaminfo" (0) 0x176.1-0x176.7 (0.7)
0x170| 00 00 22 | .." | length: 34 0x177-0x179.7 (3)
0x170| 12 00 | .. | minimum_block_size: 4608 0x17a-0x17b.7 (2)
0x170| 12 00 | .. | maximum_block_size: 4608 0x17c-0x17d.7 (2)
0x170| 00 02| ..| minimum_frame_size: 606 0x17e-0x180.7 (3)
0x180|5e |^ |
0x180| 00 02 5e | ..^ | maximum_frame_size: 606 0x181-0x183.7 (3)
0x180| 0a c4 42 | ..B | sample_rate: 44100 0x184-0x186.3 (2.4)
0x180| 42 | B | channels: 2 0x186.4-0x186.6 (0.3)
0x180| 42 f0 | B. | bits_per_sample: 16 0x186.7-0x187.3 (0.5)
0x180| f0 00 00 08 9d | ..... | total_samples_in_stream: 2205 0x187.4-0x18b.7 (4.4)
0x180| e9 16 ab 02| ....| md5: "e916ab02137281386a28174fe11bffec" (raw bits) 0x18c-0x19b.7 (16)
0x190|13 72 81 38 6a 28 17 4f e1 1b ff ec |.r.8j(.O.... |
| | | [4]: element {} 0x19c-0x23e.7 (163)
0x190| 12 54 c3 67| .T.g| id: "Tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found) 0x19c-0x19f.7 (4)
| | | type: "master" (7) 0x1a0-NA (0)
0x1a0|40 9d |@. | size: 157 0x1a0-0x1a1.7 (2)
| | | elements: [3] 0x1a2-0x23e.7 (157)
| | | [0]: element {} 0x1a2-0x1a7.7 (6)
0x1a0| bf | . | id: "CRC-32" (0xbf) 0x1a2-0x1a2.7 (1)
| | | type: "binary" (6) 0x1a3-NA (0)
0x1a0| 84 | . | size: 4 0x1a3-0x1a3.7 (1)
0x1a0| 69 4d b4 fa | iM.. | value: raw bits 0x1a4-0x1a7.7 (4)
| | | [1]: element {} 0x1a8-0x1d8.7 (49)
0x1a0| 73 73 | ss | id: "Tag" (0x7373) (A single metadata descriptor.) 0x1a8-0x1a9.7 (2)
| | | type: "master" (7) 0x1aa-NA (0)
0x1a0| 01 00 00 00 00 00| ......| size: 39 0x1aa-0x1b1.7 (8)
0x1b0|00 27 |.' |
| | | elements: [2] 0x1b2-0x1d8.7 (39)
| | | [0]: element {} 0x1b2-0x1b4.7 (3)
0x1b0| 63 c0 | c. | id: "Targets" (0x63c0) (Specifies which other elements the metadata represented by the Tag applies to. If empty or not present, then the Tag describes everything in the Segment.) 0x1b2-0x1b3.7 (2)
| | | type: "master" (7) 0x1b4-NA (0)
0x1b0| 80 | . | size: 0 0x1b4-0x1b4.7 (1)
| | | elements: [0] 0x1b5-NA (0)
| | | [1]: element {} 0x1b5-0x1d8.7 (36)
0x1b0| 67 c8 | g. | id: "SimpleTag" (0x67c8) (Contains general information about the target.) 0x1b5-0x1b6.7 (2)
| | | type: "master" (7) 0x1b7-NA (0)
0x1b0| 01 00 00 00 00 00 00 1a | ........ | size: 26 0x1b7-0x1be.7 (8)
| | | elements: [2] 0x1bf-0x1d8.7 (26)
| | | [0]: element {} 0x1bf-0x1c8.7 (10)
0x1b0| 45| E| id: "TagName" (0x45a3) (The name of the Tag that is going to be stored.) 0x1bf-0x1c0.7 (2)
0x1c0|a3 |. |
| | | type: "UTF8" (4) 0x1c1-NA (0)
0x1c0| 87 | . | size: 7 0x1c1-0x1c1.7 (1)
0x1c0| 45 4e 43 4f 44 45 52 | ENCODER | value: "ENCODER" 0x1c2-0x1c8.7 (7)
| | | [1]: element {} 0x1c9-0x1d8.7 (16)
0x1c0| 44 87 | D. | id: "TagString" (0x4487) (The value of the Tag.) 0x1c9-0x1ca.7 (2)
| | | type: "UTF8" (4) 0x1cb-NA (0)
0x1c0| 8d | . | size: 13 0x1cb-0x1cb.7 (1)
0x1c0| 4c 61 76 66| Lavf| value: "Lavf58.45.100" 0x1cc-0x1d8.7 (13)
0x1d0|35 38 2e 34 35 2e 31 30 30 |58.45.100 |
| | | [2]: element {} 0x1d9-0x23e.7 (102)
0x1d0| 73 73 | ss | id: "Tag" (0x7373) (A single metadata descriptor.) 0x1d9-0x1da.7 (2)
| | | type: "master" (7) 0x1db-NA (0)
0x1d0| 01 00 00 00 00| .....| size: 92 0x1db-0x1e2.7 (8)
0x1e0|00 00 5c |..\ |
| | | elements: [3] 0x1e3-0x23e.7 (92)
| | | [0]: element {} 0x1e3-0x1f0.7 (14)
0x1e0| 63 c0 | c. | id: "Targets" (0x63c0) (Specifies which other elements the metadata represented by the Tag applies to. If empty or not present, then the Tag describes everything in the Segment.) 0x1e3-0x1e4.7 (2)
| | | type: "master" (7) 0x1e5-NA (0)
0x1e0| 8b | . | size: 11 0x1e5-0x1e5.7 (1)
| | | elements: [1] 0x1e6-0x1f0.7 (11)
| | | [0]: element {} 0x1e6-0x1f0.7 (11)
0x1e0| 63 c5 | c. | id: "TagTrackUID" (0x63c5) (A unique ID to identify the Track(s) the tags belong to. If the value is 0 at this level, the tags apply to all tracks in the Segment.) 0x1e6-0x1e7.7 (2)
| | | type: "uinteger" (1) 0x1e8-NA (0)
0x1e0| 88 | . | size: 8 0x1e8-0x1e8.7 (1)
0x1e0| 5d 2e c1 7b 5c 10 78| ]..{\.x| value: 6714516830025709568 0x1e9-0x1f0.7 (8)
0x1f0|00 |. |
| | | [1]: element {} 0x1f1-0x219.7 (41)
0x1f0| 67 c8 | g. | id: "SimpleTag" (0x67c8) (Contains general information about the target.) 0x1f1-0x1f2.7 (2)
| | | type: "master" (7) 0x1f3-NA (0)
0x1f0| 01 00 00 00 00 00 00 1f | ........ | size: 31 0x1f3-0x1fa.7 (8)
| | | elements: [2] 0x1fb-0x219.7 (31)
| | | [0]: element {} 0x1fb-0x204.7 (10)
0x1f0| 45 a3 | E. | id: "TagName" (0x45a3) (The name of the Tag that is going to be stored.) 0x1fb-0x1fc.7 (2)
| | | type: "UTF8" (4) 0x1fd-NA (0)
0x1f0| 87 | . | size: 7 0x1fd-0x1fd.7 (1)
0x1f0| 45 4e| EN| value: "ENCODER" 0x1fe-0x204.7 (7)
0x200|43 4f 44 45 52 |CODER |
| | | [1]: element {} 0x205-0x219.7 (21)
0x200| 44 87 | D. | id: "TagString" (0x4487) (The value of the Tag.) 0x205-0x206.7 (2)
| | | type: "UTF8" (4) 0x207-NA (0)
0x200| 92 | . | size: 18 0x207-0x207.7 (1)
0x200| 4c 61 76 63 35 38 2e 39| Lavc58.9| value: "Lavc58.91.100 flac" 0x208-0x219.7 (18)
0x210|31 2e 31 30 30 20 66 6c 61 63 |1.100 flac |
| | | [2]: element {} 0x21a-0x23e.7 (37)
0x210| 67 c8 | g. | id: "SimpleTag" (0x67c8) (Contains general information about the target.) 0x21a-0x21b.7 (2)
| | | type: "master" (7) 0x21c-NA (0)
0x210| a2 | . | size: 34 0x21c-0x21c.7 (1)
| | | elements: [2] 0x21d-0x23e.7 (34)
| | | [0]: element {} 0x21d-0x227.7 (11)
0x210| 45 a3 | E. | id: "TagName" (0x45a3) (The name of the Tag that is going to be stored.) 0x21d-0x21e.7 (2)
| | | type: "UTF8" (4) 0x21f-NA (0)
0x210| 88| .| size: 8 0x21f-0x21f.7 (1)
0x220|44 55 52 41 54 49 4f 4e |DURATION | value: "DURATION" 0x220-0x227.7 (8)
| | | [1]: element {} 0x228-0x23e.7 (23)
0x220| 44 87 | D. | id: "TagString" (0x4487) (The value of the Tag.) 0x228-0x229.7 (2)
| | | type: "UTF8" (4) 0x22a-NA (0)
0x220| 94 | . | size: 20 0x22a-0x22a.7 (1)
0x220| 30 30 3a 30 30| 00:00| value: "00:00:00.050000000" 0x22b-0x23e.7 (20)
0x230|3a 30 30 2e 30 35 30 30 30 30 30 30 30 00 00 |:00.050000000.. |
| | | [5]: element {} 0x23f-0x4b2.7 (628)
0x230| 1f| .| id: "Cluster" (0x1f43b675) (The Top-Level Element containing the (monolithic) Block structure.) 0x23f-0x242.7 (4)
0x240|43 b6 75 |C.u |
| | | type: "master" (7) 0x243-NA (0)
0x240| 42 6e | Bn | size: 622 0x243-0x244.7 (2)
| | | elements: [3] 0x245-0x4b2.7 (622)
| | | [0]: element {} 0x245-0x24a.7 (6)
0x240| bf | . | id: "CRC-32" (0xbf) 0x245-0x245.7 (1)
| | | type: "binary" (6) 0x246-NA (0)
0x240| 84 | . | size: 4 0x246-0x246.7 (1)
0x240| 7d 94 f5 d2 | }... | value: raw bits 0x247-0x24a.7 (4)
| | | [1]: element {} 0x24b-0x24d.7 (3)
0x240| e7 | . | id: "Timestamp" (0xe7) (Absolute timestamp of the cluster (based on TimestampScale).) 0x24b-0x24b.7 (1)
| | | type: "uinteger" (1) 0x24c-NA (0)
0x240| 81 | . | size: 1 0x24c-0x24c.7 (1)
0x240| 00 | . | value: 0 0x24d-0x24d.7 (1)
| | | [2]: element {} 0x24e-0x4b2.7 (613)
0x240| a3 | . | id: "SimpleBlock" (0xa3) (Similar to but without all the extra information, mostly used to reduced overhead when no extra feature is needed. (see )) 0x24e-0x24e.7 (1)
| | | type: "binary" (6) 0x24f-NA (0)
0x240| 42| B| size: 610 0x24f-0x250.7 (2)
0x250|62 |b |
0x250| 81 | . | track_number: 1 0x251-0x251.7 (1)
0x250| 00 00 | .. | timestamp: 0 0x252-0x253.7 (2)
| | | flags: {} 0x254-0x254.7 (1)
0x250| 80 | . | key_frame: true 0x254-0x254 (0.1)
0x250| 80 | . | reserved: 0 0x254.1-0x254.3 (0.3)
0x250| 80 | . | invisible: false 0x254.4-0x254.4 (0.1)
0x250| 80 | . | lacing: 0 0x254.5-0x254.6 (0.2)
0x250| 80 | . | discardable: false 0x254.7-0x254.7 (0.1)
| | | packet: {} (flac_frame) 0x255-0x4b2.7 (606)
| | | header: {} 0x255-0x25c.7 (8)
0x250| ff f8 | .. | sync: 0b11111111111110 (valid) 0x255-0x256.5 (1.6)
0x250| f8 | . | reserved0: 0 (valid) 0x256.6-0x256.6 (0.1)
0x250| f8 | . | blocking_strategy: "Fixed" (0) 0x256.7-0x256.7 (0.1)
0x250| 79 | y | block_size: 7 (end of header (16 bit)) 0x257-0x257.3 (0.4)
0x250| 79 | y | sample_rate: 44100 (9) 0x257.4-0x257.7 (0.4)
0x250| 88 | . | channel_assignment: 2 (8) (left/side) 0x258-0x258.3 (0.4)
| | | side_channel_index: 1 0x258.4-NA (0)
0x250| 88 | . | sample_size: 16 (4) 0x258.4-0x258.6 (0.3)
0x250| 88 | . | reserved1: 0 (valid) 0x258.7-0x258.7 (0.1)
| | | end_of_header: {} 0x259-0x25b.7 (3)
0x250| 00 | . | frame_number: 0 0x259-0x259.7 (1)
0x250| 08 9c | .. | block_size: 2205 0x25a-0x25b.7 (2)
0x250| 25 | % | crc: "25" (raw bits) (valid) 0x25c-0x25c.7 (1)
| | | subframes: [2] 0x25d-0x4b0.1 (595.2)
| | | [0]: subframe {} 0x25d-0x4ad (592.1)
0x250| 4a | J | zero_bit: 0 (valid) 0x25d-0x25d (0.1)
0x250| 4a | J | subframe_type: "LPC" (3) 0x25d.1-0x25d.6 (0.6)
| | | lpc_order: 6 0x25d.7-NA (0)
0x250| 4a | J | wasted_bits_flag: 0 0x25d.7-0x25d.7 (0.1)
| | | subframe_sample_size: 16 0x25e-NA (0)
| | | warmup_samples: [6] 0x25e-0x269.7 (12)
0x250| 00 00| ..| [0]: value 0 0x25e-0x25f.7 (2)
0x260|00 b5 |.. | [1]: value 181 0x260-0x261.7 (2)
0x260| 01 69 | .i | [2]: value 361 0x262-0x263.7 (2)
0x260| 02 1d | .. | [3]: value 541 0x264-0x265.7 (2)
0x260| 02 ce | .. | [4]: value 718 0x266-0x267.7 (2)
0x260| 03 7c | .| | [5]: value 892 0x268-0x269.7 (2)
0x260| e7 | . | precision: 15 0x26a-0x26a.3 (0.4)
0x260| e7 32 | .2 | shift: 14 0x26a.4-0x26b (0.5)
| | | coefficients: [6] 0x26b.1-0x276.2 (11.2)
0x260| 32 c2 | 2. | [0]: value 12994 0x26b.1-0x26c.7 (1.7)
0x260| 36 f8 | 6. | [1]: value 7036 0x26d-0x26e.6 (1.7)
0x260| f8 2a| .*| [2]: value 2702 0x26e.7-0x270.5 (1.7)
0x270|3b |; |
0x270|3b eb 3f |;.? | [3]: value -665 0x270.6-0x272.4 (1.7)
0x270| 3f 63 de | ?c. | [4]: value -2499 0x272.5-0x274.3 (1.7)
0x270| de 52 20 | .R | [5]: value -3439 0x274.4-0x276.2 (1.7)
0x270| 20 | | residual_coding_method: 4 (0) (rice) 0x276.3-0x276.4 (0.2)
0x270| 20 01 | . | partition_order: 0 0x276.5-0x277 (0.4)
| | | rice_partitions: 1 0x277.1-NA (0)
| | | partitions: [1] 0x277.1-0x4ad (566)
| | | [0]: partition {} 0x277.1-0x4ad (566)
| | | count: 2199 0x277.1-NA (0)
0x270| 01 | . | rice_parameter: 0 0x277.1-0x277.4 (0.4)
0x270| 01 27 33 32 79 32 64 e6 66| .'32y2d.f| samples: raw bits 0x277.5-0x4ad (565.4)
0x280|73 24 d3 38 7f 99 27 99 3c 87 e6 66 49 32 72 49|s$.8..'.<..fI2rI|
* |until 0x4ad (566) | |
| | | [1]: subframe {} 0x4ad.1-0x4b0.1 (3.1)
0x4a0| 80 | . | zero_bit: 0 (valid) 0x4ad.1-0x4ad.1 (0.1)
0x4a0| 80 | . | subframe_type: "Constant" (0) 0x4ad.2-0x4ad.7 (0.6)
| | | lpc_order: 0 0x4ae-NA (0)
0x4a0| 00 | . | wasted_bits_flag: 0 0x4ae-0x4ae (0.1)
| | | subframe_sample_size: 17 0x4ae.1-NA (0)
0x4a0| 00 00| ..| value: 0 0x4ae.1-0x4b0.1 (2.1)
0x4b0|00 |. |
0x4b0|00 |. | byte_align: 0 (valid) 0x4b0.2-0x4b0.7 (0.6)
0x4b0| 82 cb | .. | footer_crc: "82cb" (raw bits) (valid) 0x4b1-0x4b2.7 (2)
| | | [6]: element {} 0x4b3-0x4ce.7 (28)
0x4b0| 1c 53 bb 6b | .S.k | id: "Cues" (0x1c53bb6b) (A Top-Level Element to speed seeking access. All entries are local to the Segment.) 0x4b3-0x4b6.7 (4)
| | | type: "master" (7) 0x4b7-NA (0)
0x4b0| 97 | . | size: 23 0x4b7-0x4b7.7 (1)
| | | elements: [2] 0x4b8-0x4ce.7 (23)
| | | [0]: element {} 0x4b8-0x4bd.7 (6)
0x4b0| bf | . | id: "CRC-32" (0xbf) 0x4b8-0x4b8.7 (1)
| | | type: "binary" (6) 0x4b9-NA (0)
0x4b0| 84 | . | size: 4 0x4b9-0x4b9.7 (1)
0x4b0| 22 56 31 a8 | "V1. | value: raw bits 0x4ba-0x4bd.7 (4)
| | | [1]: element {} 0x4be-0x4ce.7 (17)
0x4b0| bb | . | id: "CuePoint" (0xbb) (Contains all information relative to a seek point in the Segment.) 0x4be-0x4be.7 (1)
| | | type: "master" (7) 0x4bf-NA (0)
0x4b0| 8f| .| size: 15 0x4bf-0x4bf.7 (1)
| | | elements: [2] 0x4c0-0x4ce.7 (15)
| | | [0]: element {} 0x4c0-0x4c2.7 (3)
0x4c0|b3 |. | id: "CueTime" (0xb3) (Absolute timestamp according to the Segment time base.) 0x4c0-0x4c0.7 (1)
| | | type: "uinteger" (1) 0x4c1-NA (0)
0x4c0| 81 | . | size: 1 0x4c1-0x4c1.7 (1)
0x4c0| 00 | . | value: 0 0x4c2-0x4c2.7 (1)
| | | [1]: element {} 0x4c3-0x4ce.7 (12)
0x4c0| b7 | . | id: "CueTrackPositions" (0xb7) (Contain positions for different tracks corresponding to the timestamp.) 0x4c3-0x4c3.7 (1)
| | | type: "master" (7) 0x4c4-NA (0)
0x4c0| 8a | . | size: 10 0x4c4-0x4c4.7 (1)
| | | elements: [3] 0x4c5-0x4ce.7 (10)
| | | [0]: element {} 0x4c5-0x4c7.7 (3)
0x4c0| f7 | . | id: "CueTrack" (0xf7) (The track for which a position is given.) 0x4c5-0x4c5.7 (1)
| | | type: "uinteger" (1) 0x4c6-NA (0)
0x4c0| 81 | . | size: 1 0x4c6-0x4c6.7 (1)
0x4c0| 01 | . | value: 1 0x4c7-0x4c7.7 (1)
| | | [1]: element {} 0x4c8-0x4cb.7 (4)
0x4c0| f1 | . | id: "CueClusterPosition" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x4c8-0x4c8.7 (1)
| | | type: "uinteger" (1) 0x4c9-NA (0)
0x4c0| 82 | . | size: 2 0x4c9-0x4c9.7 (1)
0x4c0| 02 0b | .. | value: 523 0x4ca-0x4cb.7 (2)
| | | [2]: element {} 0x4cc-0x4ce.7 (3)
0x4c0| f0 | . | id: "CueRelativePosition" (0xf0) (The relative position inside the Cluster of the referenced SimpleBlock or BlockGroup with 0 being the first possible position for an Element inside that Cluster.) 0x4cc-0x4cc.7 (1)
| | | type: "uinteger" (1) 0x4cd-NA (0)
0x4c0| 81 | . | size: 1 0x4cd-0x4cd.7 (1)
0x4c0| 09| | .|| value: 9 0x4ce-0x4ce.7 (1)