1
1
mirror of https://github.com/wader/fq.git synced 2024-12-27 15:42:07 +03:00
fq/format/ape/testdata/apev2.fqtest
Mattias Wadman 051a70bd4b interp: Change bit ranges to use exclusive end
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.
2023-10-20 15:37:26 +02:00

55 lines
5.1 KiB
Plaintext

# ffmpeg -f lavfi -i sine -ac 2 -t 10ms -f mp3 test.mp3
# mp3gain test.mp3
# fq '.footers[0] | tobytes' test.mp3 > apev2
$ fq -d apev2 dv apev2
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: apev2 (apev2) 0x0-0xae (174)
| | | header{}: 0x0-0x20 (32)
0x00|41 50 45 54 41 47 45 58 |APETAGEX | preamble: "APETAGEX" (valid) 0x0-0x8 (8)
0x00| d0 07 00 00 | .... | version: 2000 0x8-0xc (4)
0x00| 8e 00 00 00| ....| tag_size: 142 0xc-0x10 (4)
0x10|03 00 00 00 |.... | item_count: 3 0x10-0x14 (4)
0x10| 00 00 00 a0 | .... | flags: 2684354560 0x14-0x18 (4)
0x10| 00 00 00 00 00 00 00 00| ........| reserved: raw bits (all zero) 0x18-0x20 (8)
| | | tags[0:3]: 0x20-0x8e (110)
| | | [0]{}: tag 0x20-0x3e (30)
0x20|07 00 00 00 |.... | item_size: 7 0x20-0x24 (4)
| | | item_flags{}: 0x24-0x28 (4)
0x20| 00 | . | unused0: 0 0x24-0x24.6 (0.6)
0x20| 00 | . | binary: false 0x24.6-0x24.7 (0.1)
0x20| 00 00 00 00 | .... | unused1: 0 0x24.7-0x28 (3.1)
0x20| 4d 50 33 47 41 49 4e 5f| MP3GAIN_| key: "MP3GAIN_MINMAX" 0x28-0x36 (14)
0x30|4d 49 4e 4d 41 58 |MINMAX |
0x30| 00 | . | key_terminator: 0 0x36-0x37 (1)
0x30| 31 34 34 2c 32 31 30 | 144,210 | value: "144,210" 0x37-0x3e (7)
| | | [1]{}: tag 0x3e-0x68 (42)
0x30| 0c 00| ..| item_size: 12 0x3e-0x42 (4)
0x40|00 00 |.. |
| | | item_flags{}: 0x42-0x46 (4)
0x40| 00 | . | unused0: 0 0x42-0x42.6 (0.6)
0x40| 00 | . | binary: false 0x42.6-0x42.7 (0.1)
0x40| 00 00 00 00 | .... | unused1: 0 0x42.7-0x46 (3.1)
0x40| 52 45 50 4c 41 59 47 41 49 4e| REPLAYGAIN| key: "REPLAYGAIN_TRACK_GAIN" 0x46-0x5b (21)
0x50|5f 54 52 41 43 4b 5f 47 41 49 4e |_TRACK_GAIN |
0x50| 00 | . | key_terminator: 0 0x5b-0x5c (1)
0x50| 2b 31 33 2e| +13.| value: "+13.75000 dB" 0x5c-0x68 (12)
0x60|37 35 30 30 30 20 64 42 |75000 dB |
| | | [2]{}: tag 0x68-0x8e (38)
0x60| 08 00 00 00 | .... | item_size: 8 0x68-0x6c (4)
| | | item_flags{}: 0x6c-0x70 (4)
0x60| 00 | . | unused0: 0 0x6c-0x6c.6 (0.6)
0x60| 00 | . | binary: false 0x6c.6-0x6c.7 (0.1)
0x60| 00 00 00 00| ....| unused1: 0 0x6c.7-0x70 (3.1)
0x70|52 45 50 4c 41 59 47 41 49 4e 5f 54 52 41 43 4b|REPLAYGAIN_TRACK| key: "REPLAYGAIN_TRACK_PEAK" 0x70-0x85 (21)
0x80|5f 50 45 41 4b |_PEAK |
0x80| 00 | . | key_terminator: 0 0x85-0x86 (1)
0x80| 30 2e 30 38 34 36 36 35 | 0.084665 | value: "0.084665" 0x86-0x8e (8)
| | | footer{}: 0x8e-0xae (32)
0x80| 41 50| AP| preamble: "APETAGEX" (valid) 0x8e-0x96 (8)
0x90|45 54 41 47 45 58 |ETAGEX |
0x90| d0 07 00 00 | .... | version: 2000 0x96-0x9a (4)
0x90| 8e 00 00 00 | .... | tag_size: 142 0x9a-0x9e (4)
0x90| 03 00| ..| item_count: 3 0x9e-0xa2 (4)
0xa0|00 00 |.. |
0xa0| 00 00 00 80 | .... | flags: 2147483648 0xa2-0xa6 (4)
0xa0| 00 00 00 00 00 00 00 00| | ........| | reserved: raw bits (all zero) 0xa6-0xae (8)