mirror of
https://github.com/wader/fq.git
synced 2024-12-20 11:51:58 +03:00
051a70bd4b
All other ranges and slicing uses exclusive end so i think it make sense to make it consistent. Update docs and add additional example for non-byte-aligned field. Also fixes issue showing zero bit ranges as start-NA.
189 lines
21 KiB
Plaintext
189 lines
21 KiB
Plaintext
$ fq -d flac dv picture_seek_gain.flac
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: picture_seek_gain.flac (flac) 0x0-0x2260 (8800)
|
|
0x0000|66 4c 61 43 |fLaC | magic: "fLaC" (valid) 0x0-0x4 (4)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| metadatablocks[0:5]: (flac_metadatablocks) 0x4-0x2060 (8284)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: metadatablock (flac_metadatablock) 0x4-0x2a (38)
|
|
0x0000| 00 | . | last_block: false 0x4-0x4.1 (0.1)
|
|
0x0000| 00 | . | type: "streaminfo" (0) 0x4.1-0x5 (0.7)
|
|
0x0000| 00 00 22 | .." | length: 34 0x5-0x8 (3)
|
|
0x0000| 12 00 | .. | minimum_block_size: 4608 0x8-0xa (2)
|
|
0x0000| 12 00 | .. | maximum_block_size: 4608 0xa-0xc (2)
|
|
0x0000| 00 02 00 | ... | minimum_frame_size: 512 0xc-0xf (3)
|
|
0x0000| 00| .| maximum_frame_size: 512 0xf-0x12 (3)
|
|
0x0010|02 00 |.. |
|
|
0x0010| 0a c4 40 | ..@ | sample_rate: 44100 0x12-0x14.4 (2.4)
|
|
0x0010| 40 | @ | channels: 1 0x14.4-0x14.7 (0.3)
|
|
0x0010| 40 f0 | @. | bits_per_sample: 16 0x14.7-0x15.4 (0.5)
|
|
0x0010| f0 00 00 01 b9 | ..... | total_samples_in_stream: 441 0x15.4-0x1a (4.4)
|
|
0x0010| 89 88 7b 80 f8 10| ..{...| md5: "89887b80f810285b45f6c4ecc72c977e" (raw bits) 0x1a-0x2a (16)
|
|
0x0020|28 5b 45 f6 c4 ec c7 2c 97 7e |([E....,.~ |
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: metadatablock (flac_metadatablock) 0x2a-0x40 (22)
|
|
0x0020| 03 | . | last_block: false 0x2a-0x2a.1 (0.1)
|
|
0x0020| 03 | . | type: "seektable" (3) 0x2a.1-0x2b (0.7)
|
|
0x0020| 00 00 12 | ... | length: 18 0x2b-0x2e (3)
|
|
| | | seekpoints[0:1]: 0x2e-0x40 (18)
|
|
| | | [0]{}: seekpoint 0x2e-0x40 (18)
|
|
0x0020| 00 00| ..| sample_number: 0 0x2e-0x36 (8)
|
|
0x0030|00 00 00 00 00 00 |...... |
|
|
0x0030| 00 00 00 00 00 00 00 00 | ........ | offset: 0 0x36-0x3e (8)
|
|
0x0030| 01 b9| ..| number_of_samples: 441 0x3e-0x40 (2)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: metadatablock (flac_metadatablock) 0x40-0x12f (239)
|
|
0x0040|04 |. | last_block: false 0x40-0x40.1 (0.1)
|
|
0x0040|04 |. | type: "vorbis_comment" (4) 0x40.1-0x41 (0.7)
|
|
0x0040| 00 00 eb | ... | length: 235 0x41-0x44 (3)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| comment{}: (vorbis_comment) 0x44-0x12f (235)
|
|
0x0040| 0d 00 00 00 | .... | vendor_length: 13 0x44-0x48 (4)
|
|
0x0040| 4c 61 76 66 35 39 2e 31| Lavf59.1| vendor: "Lavf59.16.100" 0x48-0x55 (13)
|
|
0x0050|36 2e 31 30 30 |6.100 |
|
|
0x0050| 06 00 00 00 | .... | user_comment_list_length: 6 0x55-0x59 (4)
|
|
| | | user_comments[0:6]: 0x59-0x12f (214)
|
|
| | | [0]{}: user_comment 0x59-0x72 (25)
|
|
0x0050| 15 00 00 00 | .... | length: 21 0x59-0x5d (4)
|
|
0x0050| 65 6e 63| enc| comment: "encoder=Lavf59.16.100" 0x5d-0x72 (21)
|
|
0x0060|6f 64 65 72 3d 4c 61 76 66 35 39 2e 31 36 2e 31|oder=Lavf59.16.1|
|
|
0x0070|30 30 |00 |
|
|
| | | [1]{}: user_comment 0x72-0x9b (41)
|
|
0x0070| 25 00 00 00 | %... | length: 37 0x72-0x76 (4)
|
|
0x0070| 52 45 50 4c 41 59 47 41 49 4e| REPLAYGAIN| comment: "REPLAYGAIN_REFERENCE_LOUDNESS=89.0 dB" 0x76-0x9b (37)
|
|
0x0080|5f 52 45 46 45 52 45 4e 43 45 5f 4c 4f 55 44 4e|_REFERENCE_LOUDN|
|
|
0x0090|45 53 53 3d 38 39 2e 30 20 64 42 |ESS=89.0 dB |
|
|
| | | [2]{}: user_comment 0x9b-0xc1 (38)
|
|
0x0090| 22 00 00 00 | "... | length: 34 0x9b-0x9f (4)
|
|
0x0090| 52| R| comment: "REPLAYGAIN_TRACK_GAIN=-24601.00 dB" 0x9f-0xc1 (34)
|
|
0x00a0|45 50 4c 41 59 47 41 49 4e 5f 54 52 41 43 4b 5f|EPLAYGAIN_TRACK_|
|
|
* |until 0xc0.7 (34) | |
|
|
| | | [3]{}: user_comment 0xc1-0xe5 (36)
|
|
0x00c0| 20 00 00 00 | ... | length: 32 0xc1-0xc5 (4)
|
|
0x00c0| 52 45 50 4c 41 59 47 41 49 4e 5f| REPLAYGAIN_| comment: "REPLAYGAIN_TRACK_PEAK=0.12496948" 0xc5-0xe5 (32)
|
|
0x00d0|54 52 41 43 4b 5f 50 45 41 4b 3d 30 2e 31 32 34|TRACK_PEAK=0.124|
|
|
0x00e0|39 36 39 34 38 |96948 |
|
|
| | | [4]{}: user_comment 0xe5-0x10b (38)
|
|
0x00e0| 22 00 00 00 | "... | length: 34 0xe5-0xe9 (4)
|
|
0x00e0| 52 45 50 4c 41 59 47| REPLAYG| comment: "REPLAYGAIN_ALBUM_GAIN=-24601.00 dB" 0xe9-0x10b (34)
|
|
0x00f0|41 49 4e 5f 41 4c 42 55 4d 5f 47 41 49 4e 3d 2d|AIN_ALBUM_GAIN=-|
|
|
0x0100|32 34 36 30 31 2e 30 30 20 64 42 |24601.00 dB |
|
|
| | | [5]{}: user_comment 0x10b-0x12f (36)
|
|
0x0100| 20 00 00 00 | ... | length: 32 0x10b-0x10f (4)
|
|
0x0100| 52| R| comment: "REPLAYGAIN_ALBUM_PEAK=0.12496948" 0x10f-0x12f (32)
|
|
0x0110|45 50 4c 41 59 47 41 49 4e 5f 41 4c 42 55 4d 5f|EPLAYGAIN_ALBUM_|
|
|
0x0120|50 45 41 4b 3d 30 2e 31 32 34 39 36 39 34 38 |PEAK=0.12496948 |
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: metadatablock (flac_metadatablock) 0x12f-0x1a0 (113)
|
|
0x0120| 06| .| last_block: false 0x12f-0x12f.1 (0.1)
|
|
0x0120| 06| .| type: "picture" (6) 0x12f.1-0x130 (0.7)
|
|
0x0130|00 00 6d |..m | length: 109 0x130-0x133 (3)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| picture{}: (flac_picture) 0x133-0x1a0 (109)
|
|
0x0130| 00 00 00 03 | .... | picture_type: "cover_front" (3) 0x133-0x137 (4)
|
|
0x0130| 00 00 00 09 | .... | mime_length: 9 0x137-0x13b (4)
|
|
0x0130| 69 6d 61 67 65| image| mime: "image/png" 0x13b-0x144 (9)
|
|
0x0140|2f 70 6e 67 |/png |
|
|
0x0140| 00 00 00 00 | .... | description_length: 0 0x144-0x148 (4)
|
|
| | | description: "" 0x148-0x148 (0)
|
|
0x0140| 00 00 00 04 | .... | width: 4 0x148-0x14c (4)
|
|
0x0140| 00 00 00 04| ....| height: 4 0x14c-0x150 (4)
|
|
0x0150|00 00 00 01 |.... | color_depth: 1 0x150-0x154 (4)
|
|
0x0150| 00 00 00 00 | .... | number_of_index_colors: 0 0x154-0x158 (4)
|
|
0x0150| 00 00 00 44 | ...D | picture_length: 68 0x158-0x15c (4)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| picture_data{}: (png) 0x15c-0x1a0 (68)
|
|
0x0150| 89 50 4e 47| .PNG| signature: raw bits (valid) 0x15c-0x164 (8)
|
|
0x0160|0d 0a 1a 0a |.... |
|
|
| | | chunks[0:3]: 0x164-0x1a0 (60)
|
|
| | | [0]{}: chunk 0x164-0x17d (25)
|
|
0x0160| 00 00 00 0d | .... | length: 13 0x164-0x168 (4)
|
|
0x0160| 49 48 44 52 | IHDR | type: "IHDR" 0x168-0x16c (4)
|
|
0x0160| 49 | I | ancillary: false 0x168.3-0x168.4 (0.1)
|
|
0x0160| 48 | H | private: false 0x169.3-0x169.4 (0.1)
|
|
0x0160| 44 | D | reserved: false 0x16a.3-0x16a.4 (0.1)
|
|
0x0160| 52 | R | safe_to_copy: true 0x16b.3-0x16b.4 (0.1)
|
|
0x0160| 00 00 00 04| ....| width: 4 0x16c-0x170 (4)
|
|
0x0170|00 00 00 04 |.... | height: 4 0x170-0x174 (4)
|
|
0x0170| 01 | . | bit_depth: 1 0x174-0x175 (1)
|
|
0x0170| 00 | . | color_type: "grayscale" (0) 0x175-0x176 (1)
|
|
0x0170| 00 | . | compression_method: "deflate" (0) 0x176-0x177 (1)
|
|
0x0170| 00 | . | filter_method: "adaptive_filtering" (0) 0x177-0x178 (1)
|
|
0x0170| 00 | . | interlace_method: "none" (0) 0x178-0x179 (1)
|
|
0x0170| 81 8a a3 d3 | .... | crc: 0x818aa3d3 (valid) 0x179-0x17d (4)
|
|
| | | [1]{}: chunk 0x17d-0x194 (23)
|
|
0x0170| 00 00 00| ...| length: 11 0x17d-0x181 (4)
|
|
0x0180|0b |. |
|
|
0x0180| 49 44 41 54 | IDAT | type: "IDAT" 0x181-0x185 (4)
|
|
0x0180| 49 | I | ancillary: false 0x181.3-0x181.4 (0.1)
|
|
0x0180| 44 | D | private: false 0x182.3-0x182.4 (0.1)
|
|
0x0180| 41 | A | reserved: false 0x183.3-0x183.4 (0.1)
|
|
0x0180| 54 | T | safe_to_copy: true 0x184.3-0x184.4 (0.1)
|
|
0x0180| 08 d7 63 60 80 00 00 00 08 00 01| ..c`.......| data: raw bits 0x185-0x190 (11)
|
|
0x0190|2f 20 dd 31 |/ .1 | crc: 0x2f20dd31 (valid) 0x190-0x194 (4)
|
|
| | | [2]{}: chunk 0x194-0x1a0 (12)
|
|
0x0190| 00 00 00 00 | .... | length: 0 0x194-0x198 (4)
|
|
0x0190| 49 45 4e 44 | IEND | type: "IEND" 0x198-0x19c (4)
|
|
0x0190| 49 | I | ancillary: false 0x198.3-0x198.4 (0.1)
|
|
0x0190| 45 | E | private: false 0x199.3-0x199.4 (0.1)
|
|
0x0190| 4e | N | reserved: false 0x19a.3-0x19a.4 (0.1)
|
|
0x0190| 44 | D | safe_to_copy: false 0x19b.3-0x19b.4 (0.1)
|
|
0x0190| ae 42 60 82| .B`.| crc: 0xae426082 (valid) 0x19c-0x1a0 (4)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: metadatablock (flac_metadatablock) 0x1a0-0x2060 (7872)
|
|
0x01a0|81 |. | last_block: true 0x1a0-0x1a0.1 (0.1)
|
|
0x01a0|81 |. | type: "padding" (1) 0x1a0.1-0x1a1 (0.7)
|
|
0x01a0| 00 1e bc | ... | length: 7868 0x1a1-0x1a4 (3)
|
|
0x01a0| 00 00 00 00 00 00 00 00 00 00 00 00| ............| data: raw bits 0x1a4-0x2060 (7868)
|
|
0x01b0|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00|................|
|
|
* |until 0x205f.7 (7868) | |
|
|
| | | frames[0:1]: 0x2060-0x2260 (512)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: frame (flac_frame) 0x2060-0x2260 (512)
|
|
| | | header{}: 0x2060-0x2068 (8)
|
|
0x2060|ff f8 |.. | sync: 0b11111111111110 (valid) 0x2060-0x2061.6 (1.6)
|
|
0x2060| f8 | . | reserved0: 0 (valid) 0x2061.6-0x2061.7 (0.1)
|
|
0x2060| f8 | . | blocking_strategy: "fixed" (0) 0x2061.7-0x2062 (0.1)
|
|
0x2060| 79 | y | block_size: 0b111 (end of header (16 bit)) 0x2062-0x2062.4 (0.4)
|
|
0x2060| 79 | y | sample_rate: 44100 (0b1001) 0x2062.4-0x2063 (0.4)
|
|
0x2060| 08 | . | channel_assignment: 1 (0) (mono) 0x2063-0x2063.4 (0.4)
|
|
0x2060| 08 | . | sample_size: 16 (0b100) 0x2063.4-0x2063.7 (0.3)
|
|
0x2060| 08 | . | reserved1: 0 (valid) 0x2063.7-0x2064 (0.1)
|
|
| | | end_of_header{}: 0x2064-0x2067 (3)
|
|
0x2060| 00 | . | frame_number: 0 0x2064-0x2065 (1)
|
|
0x2060| 01 b8 | .. | block_size: 441 0x2065-0x2067 (2)
|
|
0x2060| 55 | U | crc: 0x55 (valid) 0x2067-0x2068 (1)
|
|
| | | subframes[0:1]: 0x2068-0x225d.3 (501.3)
|
|
| | | [0]{}: subframe 0x2068-0x225d.3 (501.3)
|
|
0x2060| 4e | N | zero_bit: 0 (valid) 0x2068-0x2068.1 (0.1)
|
|
0x2060| 4e | N | subframe_type: "lpc" (0b100111) 0x2068.1-0x2068.7 (0.6)
|
|
| | | lpc_order: 8
|
|
0x2060| 4e | N | wasted_bits_flag: 0 0x2068.7-0x2069 (0.1)
|
|
| | | subframe_sample_size: 16
|
|
| | | warmup_samples[0:8]: 0x2069-0x2079 (16)
|
|
0x2060| 00 00 | .. | [0]: 0 value 0x2069-0x206b (2)
|
|
0x2060| 01 00 | .. | [1]: 256 value 0x206b-0x206d (2)
|
|
0x2060| 01 ff | .. | [2]: 511 value 0x206d-0x206f (2)
|
|
0x2060| 02| .| [3]: 765 value 0x206f-0x2071 (2)
|
|
0x2070|fd |. |
|
|
0x2070| 03 f8 | .. | [4]: 1016 value 0x2071-0x2073 (2)
|
|
0x2070| 04 ee | .. | [5]: 1262 value 0x2073-0x2075 (2)
|
|
0x2070| 05 e0 | .. | [6]: 1504 value 0x2075-0x2077 (2)
|
|
0x2070| 06 cc | .. | [7]: 1740 value 0x2077-0x2079 (2)
|
|
0x2070| e7 | . | precision: 15 0x2079-0x2079.4 (0.4)
|
|
0x2070| e7 b7 | .. | shift: 15 0x2079.4-0x207a.1 (0.5)
|
|
| | | coefficients[0:8]: 0x207a.1-0x2089.1 (15)
|
|
0x2070| b7 52 | .R | [0]: 14162 value 0x207a.1-0x207c (1.7)
|
|
0x2070| 5c 9c | \. | [1]: 11854 value 0x207c-0x207d.7 (1.7)
|
|
0x2070| 9c 8d e8| ...| [2]: 9082 value 0x207d.7-0x207f.6 (1.7)
|
|
0x2070| e8| .| [3]: 5975 value 0x207f.6-0x2081.5 (1.7)
|
|
0x2080|ba b8 |.. |
|
|
0x2080| b8 a5 df | ... | [4]: 2653 value 0x2081.5-0x2083.4 (1.7)
|
|
0x2080| df a3 fc | ... | [5]: -737 value 0x2083.4-0x2085.3 (1.7)
|
|
0x2080| fc 03 71 | ..q | [6]: -4083 value 0x2085.3-0x2087.2 (1.7)
|
|
0x2080| 71 e5 80 | q.. | [7]: -7221 value 0x2087.2-0x2089.1 (1.7)
|
|
0x2080| 80 | . | residual_coding_method: 4 (0) (rice) 0x2089.1-0x2089.3 (0.2)
|
|
0x2080| 80 | . | partition_order: 0 0x2089.3-0x2089.7 (0.4)
|
|
| | | rice_partitions: 1
|
|
| | | partitions[0:1]: 0x2089.7-0x225d.3 (467.4)
|
|
| | | [0]{}: partition 0x2089.7-0x225d.3 (467.4)
|
|
| | | count: 433
|
|
0x2080| 80 ee | .. | rice_parameter: 7 0x2089.7-0x208a.3 (0.4)
|
|
0x2080| ee e7 63 a9 cc e0| ..c...| samples: raw bits 0x208a.3-0x225d.3 (467)
|
|
0x2090|6d 35 19 8c 25 c2 c9 4c 9a 47 20 bd ba 36 b3 2f|m5..%..L.G ..6./|
|
|
* |until 0x225d.2 (467) | |
|
|
0x2250| 20 | | byte_align: 0 (valid) 0x225d.3-0x225e (0.5)
|
|
0x2250| 7f ab| ..| footer_crc: "7fab" (raw bits) (valid) 0x225e-0x2260 (2)
|
|
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
|
|
0x00|89 88 7b 80 f8 10 28 5b 45 f6 c4 ec c7 2c 97 7e|..{...([E....,.~| md5_calculated: "89887b80f810285b45f6c4ecc72c977e" (raw bits) (valid) 0x0-0x10 (16)
|
|
| | | decoded_samples: 441
|