1
1
mirror of https://github.com/wader/fq.git synced 2024-11-26 10:33:53 +03:00

Merge pull request #480 from wader/mp3-frame-correct-size

mp3_frame: Fix issue calc frame size for some configs
This commit is contained in:
Mattias Wadman 2022-11-16 17:31:47 +01:00 committed by GitHub
commit 2606e7ba46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
40 changed files with 775 additions and 700 deletions

View File

@ -360,7 +360,12 @@ func frameDecode(d *decode.D, _ any) any {
}
// total frame size
frameBytes := int((float64(sampleCount)/float64(sampleRate))*float64(bitRate)/8) + paddingBytes
frameBytes := (bitRate * 144) / sampleRate
if lsf {
frameBytes /= 2
}
frameBytes += paddingBytes
// audio data size, may include audio data from other frames also if main_data_begin is used
restBytes := frameBytes - headerBytes - crcBytes - sideInfoBytes
d.FramedFn(int64(restBytes)*8, func(d *decode.D) {

View File

@ -1,61 +1,59 @@
$ fq -d mp3_frame dv mp3-frame-128000br-1ch-44100hz
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-128000br-1ch-44100hz (mp3_frame) 0x0-0x1a0.7 (417)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-128000br-1ch-44100hz (mp3_frame) 0x0-0x1a1.7 (418)
| | | header{}: 0x0-0x3.7 (4)
0x000|ff fb |.. | sync: 0b11111111111 (valid) 0x0-0x1.2 (1.3)
0x000| fb | . | mpeg_version: "1" (3) (MPEG Version 1) 0x1.3-0x1.4 (0.2)
0x000| fb | . | layer: 3 (1) (MPEG Layer 3) 0x1.5-0x1.6 (0.2)
| | | sample_count: 1152 0x1.7-NA (0)
0x000| fb | . | protection_absent: true (No CRC) 0x1.7-0x1.7 (0.1)
0x000| 90 | . | bitrate: 128000 (9) 0x2-0x2.3 (0.4)
0x000| 90 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| 90 | . | padding: "not_padded" (0b0) 0x2.6-0x2.6 (0.1)
0x000| 90 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| 92 | . | bitrate: 128000 (9) 0x2-0x2.3 (0.4)
0x000| 92 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| 92 | . | padding: "padded" (0b1) 0x2.6-0x2.6 (0.1)
0x000| 92 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| c4 | . | channels: "mono" (0b11) 0x3-0x3.1 (0.2)
0x000| c4 | . | channel_mode: "none" (0b0) 0x3.2-0x3.3 (0.2)
0x000| c4 | . | copyright: 0 0x3.4-0x3.4 (0.1)
0x000| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x000| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 00 14 | .. | scfsi0: 0 0x5.6-0x6.1 (0.4)
0x000| 10 83 | .. | main_data_begin: 33 0x4-0x5 (1.1)
0x000| 83 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 83 d5 | .. | scfsi0: 15 0x5.6-0x6.1 (0.4)
| | | granules[0:2]: 0x6.2-0x14.7 (14.6)
| | | [0][0:1]: granule 0x6.2-0xd.4 (7.3)
| | | [0]{}: channel 0x6.2-0xd.4 (7.3)
0x000| 14 54 | .T | part2_3_length: 1301 0x6.2-0x7.5 (1.4)
0x000| 54 95 | T. | big_values: 74 0x7.6-0x8.6 (1.1)
0x000| 95 20 | . | global_gain: 144 0x8.7-0x9.6 (1)
0x000| 20 55 | U | scalefac_compress: 2 0x9.7-0xa.2 (0.4)
0x000| 55 | U | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 55 | U | block_type: "start block" (1) 0xa.4-0xa.5 (0.2)
0x000| 55 | U | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 55 b7 | U. | table_select0: 27 0xa.7-0xb.3 (0.5)
0x000| b7 80 | .. | table_select1: 15 0xb.4-0xc (0.5)
0x000| d5 b2 | .. | part2_3_length: 1388 0x6.2-0x7.5 (1.4)
0x000| b2 09 | .. | big_values: 260 0x7.6-0x8.6 (1.1)
0x000| 09 00 | .. | global_gain: 128 0x8.7-0x9.6 (1)
0x000| 00 1d | .. | scalefac_compress: 0 0x9.7-0xa.2 (0.4)
0x000| 1d | . | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 1d | . | block_type: "end" (3) 0xa.4-0xa.5 (0.2)
0x000| 1d | . | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 1d f2 | .. | table_select0: 31 0xa.7-0xb.3 (0.5)
0x000| f2 80 | .. | table_select1: 5 0xb.4-0xc (0.5)
0x000| 80 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x000| 80 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x000| 80 0b | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 0b | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 0b | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 0b | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
0x000| 80 02 | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 02 | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 02 | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 02 | . | count1table_select: 0 0xd.4-0xd.4 (0.1)
| | | [1][0:1]: granule 0xd.5-0x14.7 (7.3)
| | | [0]{}: channel 0xd.5-0x14.7 (7.3)
0x000| 0b 4f b3| .O.| part2_3_length: 1695 0xd.5-0xf (1.4)
0x000| b3| .| big_values: 204 0xf.1-0x10.1 (1.1)
0x010|2e |. |
0x010|2e 37 |.7 | global_gain: 184 0x10.2-0x11.1 (1)
0x010| 37 | 7 | scalefac_compress: 13 0x11.2-0x11.5 (0.4)
0x010| 37 | 7 | blocksplit_flag: 1 0x11.6-0x11.6 (0.1)
0x010| 37 33 | 73 | block_type: "3 short windows" (2) 0x11.7-0x12 (0.2)
0x010| 33 | 3 | switch_point: 0 0x12.1-0x12.1 (0.1)
0x010| 33 | 3 | table_select0: 25 0x12.2-0x12.6 (0.5)
0x010| 33 82 | 3. | table_select1: 24 0x12.7-0x13.3 (0.5)
0x010| 82 | . | subblock_gain0: 1 0x13.4-0x13.6 (0.3)
0x010| 82 0a | .. | subblock_gain1: 0 0x13.7-0x14.1 (0.3)
0x010| 0a | . | subblock_gain2: 1 0x14.2-0x14.4 (0.3)
0x010| 0a | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| 0a | . | scalefac_scale: 1 0x14.6-0x14.6 (0.1)
0x010| 0a | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x010| 05 90 13 83 81 37 d7 53 67 51 05| .....7.SgQ.| audio_data: raw bits 0x15-0x1a0.7 (396)
0x020|31 98 f2 b1 c1 52 1d d6 11 dd 52 1c 02 61 9d 8a|1....R....R..a..|
* |until 0x1a0.7 (end) (396) | |
| | | crc_calculated: "2b28" (raw bits) 0x1a1-NA (0)
0x000| 02 a1 c0| ...| part2_3_length: 1347 0xd.5-0xf (1.4)
0x000| c0| .| big_values: 256 0xf.1-0x10.1 (1.1)
0x010|20 | |
0x010|20 01 | . | global_gain: 128 0x10.2-0x11.1 (1)
0x010| 01 | . | scalefac_compress: 0 0x11.2-0x11.5 (0.4)
0x010| 01 | . | blocksplit_flag: 0 0x11.6-0x11.6 (0.1)
0x010| 01 fe | .. | table_select0: 31 0x11.7-0x12.3 (0.5)
0x010| fe 0d | .. | table_select1: 28 0x12.4-0x13 (0.5)
0x010| 0d | . | table_select2: 3 0x13.1-0x13.5 (0.5)
0x010| 0d 39 | .9 | region_address1: 4 0x13.6-0x14.1 (0.4)
0x010| 39 | 9 | region_address2: 7 0x14.2-0x14.4 (0.3)
0x010| 39 | 9 | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| 39 | 9 | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| 39 | 9 | count1table_select: 1 0x14.7-0x14.7 (0.1)
0x010| f5 82 c5 30 74 c2 4c 30 85 42 06| ...0t.L0.B.| audio_data: raw bits 0x15-0x1a1.7 (397)
0x020|30 90 41 bc 30 30 c0 b0 46 a6 2e 91 31 59 50 a0|0.A.00..F...1YP.|
* |until 0x1a1.7 (end) (397) | |
| | | crc_calculated: "e33f" (raw bits) 0x1a2-NA (0)

View File

@ -16,46 +16,44 @@ $ fq -d mp3_frame dv mp3-frame-128000br-1ch-48000hz
0x000| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x000| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 00 12 | .. | scfsi0: 0 0x5.6-0x6.1 (0.4)
0x000| 0e 83 | .. | main_data_begin: 29 0x4-0x5 (1.1)
0x000| 83 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 83 d6 | .. | scfsi0: 15 0x5.6-0x6.1 (0.4)
| | | granules[0:2]: 0x6.2-0x14.7 (14.6)
| | | [0][0:1]: granule 0x6.2-0xd.4 (7.3)
| | | [0]{}: channel 0x6.2-0xd.4 (7.3)
0x000| 12 ec | .. | part2_3_length: 1211 0x6.2-0x7.5 (1.4)
0x000| ec 59 | .Y | big_values: 44 0x7.6-0x8.6 (1.1)
0x000| 59 20 | Y | global_gain: 144 0x8.7-0x9.6 (1)
0x000| 20 35 | 5 | scalefac_compress: 1 0x9.7-0xa.2 (0.4)
0x000| 35 | 5 | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 35 | 5 | block_type: "start block" (1) 0xa.4-0xa.5 (0.2)
0x000| 35 | 5 | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 35 b7 | 5. | table_select0: 27 0xa.7-0xb.3 (0.5)
0x000| b7 80 | .. | table_select1: 15 0xb.4-0xc (0.5)
0x000| 80 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x000| 80 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x000| 80 0b | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 0b | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 0b | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 0b | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
0x000| d6 7d | .} | part2_3_length: 1439 0x6.2-0x7.5 (1.4)
0x000| 7d df | }. | big_values: 239 0x7.6-0x8.6 (1.1)
0x000| df 00 | .. | global_gain: 128 0x8.7-0x9.6 (1)
0x000| 00 1d | .. | scalefac_compress: 0 0x9.7-0xa.2 (0.4)
0x000| 1d | . | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 1d | . | block_type: "end" (3) 0xa.4-0xa.5 (0.2)
0x000| 1d | . | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 1d f3 | .. | table_select0: 31 0xa.7-0xb.3 (0.5)
0x000| f3 00 | .. | table_select1: 6 0xb.4-0xc (0.5)
0x000| 00 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x000| 00 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x000| 00 0a | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 0a | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 0a | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 0a | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
| | | [1][0:1]: granule 0xd.5-0x14.7 (7.3)
| | | [0]{}: channel 0xd.5-0x14.7 (7.3)
0x000| 0b 05 2f| ../| part2_3_length: 1546 0xd.5-0xf (1.4)
0x000| 2f| /| big_values: 189 0xf.1-0x10.1 (1.1)
0x010|6c |l |
0x010|6c f7 |l. | global_gain: 179 0x10.2-0x11.1 (1)
0x010| f7 | . | scalefac_compress: 13 0x11.2-0x11.5 (0.4)
0x010| f7 | . | blocksplit_flag: 1 0x11.6-0x11.6 (0.1)
0x010| f7 31 | .1 | block_type: "3 short windows" (2) 0x11.7-0x12 (0.2)
0x010| 31 | 1 | switch_point: 0 0x12.1-0x12.1 (0.1)
0x010| 31 | 1 | table_select0: 24 0x12.2-0x12.6 (0.5)
0x010| 31 90 | 1. | table_select1: 25 0x12.7-0x13.3 (0.5)
0x010| 90 | . | subblock_gain0: 0 0x13.4-0x13.6 (0.3)
0x010| 90 02 | .. | subblock_gain1: 0 0x13.7-0x14.1 (0.3)
0x010| 02 | . | subblock_gain2: 0 0x14.2-0x14.4 (0.3)
0x010| 02 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| 02 | . | scalefac_scale: 1 0x14.6-0x14.6 (0.1)
0x010| 02 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x010| 18 0e 4e 34 e0 dc 4d 64 dc c1 45| ..N4..Md..E| audio_data: raw bits 0x15-0x17f.7 (363)
0x020|0d 29 e0 e7 2d 8f 13 18 ee 27 0d d9 08 04 a6 0d|.)..-....'......|
0x000| 0a 5a a9| .Z.| part2_3_length: 1205 0xd.5-0xf (1.4)
0x000| a9| .| big_values: 164 0xf.1-0x10.1 (1.1)
0x010|20 | |
0x010|20 81 | . | global_gain: 130 0x10.2-0x11.1 (1)
0x010| 81 | . | scalefac_compress: 0 0x11.2-0x11.5 (0.4)
0x010| 81 | . | blocksplit_flag: 0 0x11.6-0x11.6 (0.1)
0x010| 81 fd | .. | table_select0: 31 0x11.7-0x12.3 (0.5)
0x010| fd 94 | .. | table_select1: 27 0x12.4-0x13 (0.5)
0x010| 94 | . | table_select2: 5 0x13.1-0x13.5 (0.5)
0x010| 94 d1 | .. | region_address1: 3 0x13.6-0x14.1 (0.4)
0x010| d1 | . | region_address2: 2 0x14.2-0x14.4 (0.3)
0x010| d1 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| d1 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| d1 | . | count1table_select: 1 0x14.7-0x14.7 (0.1)
0x010| 75 c4 38 30 72 40 c5 30 1f 41 11| u.80r@.0.A.| audio_data: raw bits 0x15-0x17f.7 (363)
0x020|30 70 81 8b 30 51 01 3d 30 4c 80 2f 07 01 1a ee|0p..0Q.=0L./....|
* |until 0x17f.7 (end) (363) | |
| | | crc_calculated: "24a4" (raw bits) 0x180-NA (0)
| | | crc_calculated: "d6e8" (raw bits) 0x180-NA (0)

View File

@ -16,24 +16,26 @@ $ fq -d mp3_frame dv mp3-frame-128000br-1ch-8000hz
0x000| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x000| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0xc.7 (9)
0x000| 00 | . | main_data_begin: 0 0x4-0x4.7 (1)
0x000| 71 | q | private_bits: 0 0x5-0x5 (0.1)
0x000| 42 | B | main_data_begin: 66 0x4-0x4.7 (1)
0x000| 68 | h | private_bits: 0 0x5-0x5 (0.1)
| | | granules[0:1]: 0x5.1-0xc.7 (7.7)
| | | [0][0:1]: granule 0x5.1-0xc.7 (7.7)
| | | [0]{}: channel 0x5.1-0xc.7 (7.7)
0x000| 71 ec | q. | part2_3_length: 3645 0x5.1-0x6.4 (1.4)
0x000| ec 6e | .n | big_values: 283 0x6.5-0x7.5 (1.1)
0x000| 6e 30 | n0 | global_gain: 140 0x7.6-0x8.5 (1)
0x000| 30 00 | 0. | scalefac_compress: 0 0x8.6-0x9.6 (1.1)
0x000| 00 | . | blocksplit_flag: 0 0x9.7-0x9.7 (0.1)
0x000| d7 | . | table_select0: 26 0xa-0xa.4 (0.5)
0x000| d7 72 | .r | table_select1: 29 0xa.5-0xb.1 (0.5)
0x000| 72 | r | table_select2: 25 0xb.2-0xb.6 (0.5)
0x000| 72 68 | rh | region_address1: 3 0xb.7-0xc.2 (0.4)
0x000| 68 | h | region_address2: 2 0xc.3-0xc.5 (0.3)
0x000| 68 | h | scalefac_scale: 0 0xc.6-0xc.6 (0.1)
0x000| 68 | h | count1table_select: 0 0xc.7-0xc.7 (0.1)
0x000| 39 f0 cd| 9..| audio_data: raw bits 0xd-0x23f.7 (563)
0x010|79 70 30 b3 06 4c d1 b5 38 32 4e 5c 53 6e 94 30|yp0..L..82N\Sn.0|
0x000| 68 73 | hs | part2_3_length: 3342 0x5.1-0x6.4 (1.4)
0x000| 73 c2 | s. | big_values: 240 0x6.5-0x7.5 (1.1)
0x000| c2 00 | .. | global_gain: 128 0x7.6-0x8.5 (1)
0x000| 00 01 | .. | scalefac_compress: 0 0x8.6-0x9.6 (1.1)
0x000| 01 | . | blocksplit_flag: 1 0x9.7-0x9.7 (0.1)
0x000| 9f | . | block_type: "3 short windows" (2) 0xa-0xa.1 (0.2)
0x000| 9f | . | switch_point: 0 0xa.2-0xa.2 (0.1)
0x000| 9f | . | table_select0: 31 0xa.3-0xa.7 (0.5)
0x000| f0 | . | table_select1: 30 0xb-0xb.4 (0.5)
0x000| f0 | . | subblock_gain0: 0 0xb.5-0xb.7 (0.3)
0x000| 00 | . | subblock_gain1: 0 0xc-0xc.2 (0.3)
0x000| 00 | . | subblock_gain2: 0 0xc.3-0xc.5 (0.3)
0x000| 00 | . | scalefac_scale: 0 0xc.6-0xc.6 (0.1)
0x000| 00 | . | count1table_select: 0 0xc.7-0xc.7 (0.1)
0x000| bc 62 1d| .b.| audio_data: raw bits 0xd-0x23f.7 (563)
0x010|0e 6a 7d 89 33 ec 6a a8 9f dc 60 02 80 74 61 49|.j}.3.j...`..taI|
* |until 0x23f.7 (end) (563) | |
| | | crc_calculated: "a6be" (raw bits) 0x240-NA (0)
| | | crc_calculated: "77fa" (raw bits) 0x240-NA (0)

View File

@ -1,39 +1,39 @@
$ fq -d mp3_frame dv mp3-frame-128000br-2ch-44100hz
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-128000br-2ch-44100hz (mp3_frame) 0x0-0x1a0.7 (417)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-128000br-2ch-44100hz (mp3_frame) 0x0-0x1a1.7 (418)
| | | header{}: 0x0-0x3.7 (4)
0x000|ff fb |.. | sync: 0b11111111111 (valid) 0x0-0x1.2 (1.3)
0x000| fb | . | mpeg_version: "1" (3) (MPEG Version 1) 0x1.3-0x1.4 (0.2)
0x000| fb | . | layer: 3 (1) (MPEG Layer 3) 0x1.5-0x1.6 (0.2)
| | | sample_count: 1152 0x1.7-NA (0)
0x000| fb | . | protection_absent: true (No CRC) 0x1.7-0x1.7 (0.1)
0x000| 90 | . | bitrate: 128000 (9) 0x2-0x2.3 (0.4)
0x000| 90 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| 90 | . | padding: "not_padded" (0b0) 0x2.6-0x2.6 (0.1)
0x000| 90 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| 92 | . | bitrate: 128000 (9) 0x2-0x2.3 (0.4)
0x000| 92 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| 92 | . | padding: "padded" (0b1) 0x2.6-0x2.6 (0.1)
0x000| 92 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| 64 | d | channels: "joint_stereo" (0b1) 0x3-0x3.1 (0.2)
0x000| 64 | d | channel_mode: "ms_stereo" (0b10) 0x3.2-0x3.3 (0.2)
0x000| 64 | d | copyright: 0 0x3.4-0x3.4 (0.1)
0x000| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x000| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x23.7 (32)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 00 | . | scfsi0: 0 0x5.4-0x5.7 (0.4)
0x000| 02 | . | scfsi1: 0 0x6-0x6.3 (0.4)
0x000| 3e 08 | >. | main_data_begin: 124 0x4-0x5 (1.1)
0x000| 08 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 08 | . | scfsi0: 8 0x5.4-0x5.7 (0.4)
0x000| f3 | . | scfsi1: 15 0x6-0x6.3 (0.4)
| | | granules[0:2]: 0x6.4-0x23.7 (29.4)
| | | [0][0:2]: granule 0x6.4-0x15.1 (14.6)
| | | [0]{}: channel 0x6.4-0xd.6 (7.3)
0x000| 02 6b | .k | part2_3_length: 619 0x6.4-0x7.7 (1.4)
0x000| 0b ce | .. | big_values: 23 0x8-0x9 (1.1)
0x000| ce 9d | .. | global_gain: 157 0x9.1-0xa (1)
0x000| 9d | . | scalefac_compress: 3 0xa.1-0xa.4 (0.4)
0x000| 9d | . | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| 9d | . | block_type: "start block" (1) 0xa.6-0xa.7 (0.2)
0x000| 60 | ` | switch_point: 0 0xb-0xb (0.1)
0x000| 60 | ` | table_select0: 24 0xb.1-0xb.5 (0.5)
0x000| 60 60 | `` | table_select1: 3 0xb.6-0xc.2 (0.5)
0x000| 60 | ` | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x000| 60 00 | `. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x000| f3 7c | .| | part2_3_length: 892 0x6.4-0x7.7 (1.4)
0x000| 15 44 | .D | big_values: 42 0x8-0x9 (1.1)
0x000| 44 37 | D7 | global_gain: 136 0x9.1-0xa (1)
0x000| 37 | 7 | scalefac_compress: 6 0xa.1-0xa.4 (0.4)
0x000| 37 | 7 | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| 37 | 7 | block_type: "end" (3) 0xa.6-0xa.7 (0.2)
0x000| 7c | | | switch_point: 0 0xb-0xb (0.1)
0x000| 7c | | | table_select0: 31 0xb.1-0xb.5 (0.5)
0x000| 7c 40 | |@ | table_select1: 2 0xb.6-0xc.2 (0.5)
0x000| 40 | @ | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x000| 40 00 | @. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x000| 00 | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
0x000| 00 | . | preflag: 0 0xd.4-0xd.4 (0.1)
0x000| 00 | . | scalefac_scale: 0 0xd.5-0xd.5 (0.1)
@ -44,52 +44,48 @@ $ fq -d mp3_frame dv mp3-frame-128000br-2ch-44100hz
0x010|0d |. |
0x010|0d 20 |. | global_gain: 210 0x10.4-0x11.3 (1)
0x010| 20 | | scalefac_compress: 0 0x11.4-0x11.7 (0.4)
0x010| a0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| a0 | . | block_type: "start block" (1) 0x12.1-0x12.2 (0.2)
0x010| a0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| a0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| e0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| e0 | . | block_type: "end" (3) 0x12.1-0x12.2 (0.2)
0x010| e0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| e0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| 00 | . | table_select1: 0 0x13.1-0x13.5 (0.5)
0x010| 00 01 | .. | subblock_gain0: 0 0x13.6-0x14 (0.3)
0x010| 01 | . | subblock_gain1: 0 0x14.1-0x14.3 (0.3)
0x010| 01 | . | subblock_gain2: 0 0x14.4-0x14.6 (0.3)
0x010| 01 | . | preflag: 1 0x14.7-0x14.7 (0.1)
0x010| 18 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 18 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
0x010| 0e | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 0e | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
| | | [1][0:2]: granule 0x15.2-0x23.7 (14.6)
| | | [0]{}: channel 0x15.2-0x1c.4 (7.3)
0x010| 18 c9 | .. | part2_3_length: 1586 0x15.2-0x16.5 (1.4)
0x010| c9 99 | .. | big_values: 204 0x16.6-0x17.6 (1.1)
0x010| 99 51 | .Q | global_gain: 168 0x17.7-0x18.6 (1)
0x010| 51 b9 | Q. | scalefac_compress: 13 0x18.7-0x19.2 (0.4)
0x010| b9 | . | blocksplit_flag: 1 0x19.3-0x19.3 (0.1)
0x010| b9 | . | block_type: "3 short windows" (2) 0x19.4-0x19.5 (0.2)
0x010| b9 | . | switch_point: 0 0x19.6-0x19.6 (0.1)
0x010| b9 a7 | .. | table_select0: 26 0x19.7-0x1a.3 (0.5)
0x010| a7 80 | .. | table_select1: 15 0x1a.4-0x1b (0.5)
0x010| 80 | . | subblock_gain0: 0 0x1b.1-0x1b.3 (0.3)
0x010| 80 | . | subblock_gain1: 0 0x1b.4-0x1b.6 (0.3)
0x010| 80 00 | .. | subblock_gain2: 0 0x1b.7-0x1c.1 (0.3)
0x010| 00 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| 00 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| 00 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
0x010| 0e ec | .. | part2_3_length: 955 0x15.2-0x16.5 (1.4)
0x010| ec 55 | .U | big_values: 42 0x16.6-0x17.6 (1.1)
0x010| 55 0c | U. | global_gain: 134 0x17.7-0x18.6 (1)
0x010| 0c 2f | ./ | scalefac_compress: 1 0x18.7-0x19.2 (0.4)
0x010| 2f | / | blocksplit_flag: 0 0x19.3-0x19.3 (0.1)
0x010| 2f ec | /. | table_select0: 31 0x19.4-0x1a (0.5)
0x010| ec | . | table_select1: 27 0x1a.1-0x1a.5 (0.5)
0x010| ec 66 | .f | table_select2: 3 0x1a.6-0x1b.2 (0.5)
0x010| 66 | f | region_address1: 3 0x1b.3-0x1b.6 (0.4)
0x010| 66 c8 | f. | region_address2: 3 0x1b.7-0x1c.1 (0.3)
0x010| c8 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| c8 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| c8 | . | count1table_select: 1 0x1c.4-0x1c.4 (0.1)
| | | [1]{}: channel 0x1c.5-0x23.7 (7.3)
0x010| 00 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| c8 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| 00 34| .4| big_values: 0 0x1e.1-0x1f.1 (1.1)
0x010| 34| 4| global_gain: 210 0x1f.2-0x20.1 (1)
0x020|83 |. |
0x020|83 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|83 |. | blocksplit_flag: 1 0x20.6-0x20.6 (0.1)
0x020|83 00 |.. | block_type: "3 short windows" (2) 0x20.7-0x21 (0.2)
0x020| 00 | . | switch_point: 0 0x21.1-0x21.1 (0.1)
0x020| 00 | . | table_select0: 0 0x21.2-0x21.6 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.7-0x22.3 (0.5)
0x020| 00 | . | subblock_gain0: 0 0x22.4-0x22.6 (0.3)
0x020| 00 00 | .. | subblock_gain1: 0 0x22.7-0x23.1 (0.3)
0x020| 00 | . | subblock_gain2: 0 0x23.2-0x23.4 (0.3)
0x020| 00 | . | preflag: 0 0x23.5-0x23.5 (0.1)
0x020| 00 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 00 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| 0a 6b 6d d8 c2 12 cd a0 0d bf 4d 03| .km.......M.| audio_data: raw bits 0x24-0x1a0.7 (381)
0x030|01 8d 4c 35 18 20 0c 1d db 6b 6d 7d df 7f e3 72|..L5. ...km}...r|
* |until 0x1a0.7 (end) (381) | |
| | | crc_calculated: "1855" (raw bits) 0x1a1-NA (0)
0x020|80 |. |
0x020|80 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|80 |. | blocksplit_flag: 0 0x20.6-0x20.6 (0.1)
0x020|80 00 |.. | table_select0: 0 0x20.7-0x21.3 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.4-0x22 (0.5)
0x020| 00 | . | table_select2: 0 0x22.1-0x22.5 (0.5)
0x020| 00 04 | .. | region_address1: 0 0x22.6-0x23.1 (0.4)
0x020| 04 | . | region_address2: 0 0x23.2-0x23.4 (0.3)
0x020| 04 | . | preflag: 1 0x23.5-0x23.5 (0.1)
0x020| 04 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 04 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| e4 c0 d6 04 28 c2 05 0d 44 cd 82 67| ....(...D..g| audio_data: raw bits 0x24-0x1a1.7 (382)
0x030|2c cd 31 0d 4c c2 0e 04 a0 fb f0 4d ee 24 db 9e|,.1.L......M.$..|
* |until 0x1a1.7 (end) (382) | |
| | | crc_calculated: "af8c" (raw bits) 0x1a2-NA (0)

View File

@ -16,80 +16,76 @@ $ fq -d mp3_frame dv mp3-frame-128000br-2ch-48000hz
0x000| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x000| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x23.7 (32)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 00 | . | scfsi0: 0 0x5.4-0x5.7 (0.4)
0x000| 02 | . | scfsi1: 0 0x6-0x6.3 (0.4)
0x000| 36 8d | 6. | main_data_begin: 109 0x4-0x5 (1.1)
0x000| 8d | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 8d | . | scfsi0: 13 0x5.4-0x5.7 (0.4)
0x000| f3 | . | scfsi1: 15 0x6-0x6.3 (0.4)
| | | granules[0:2]: 0x6.4-0x23.7 (29.4)
| | | [0][0:2]: granule 0x6.4-0x15.1 (14.6)
| | | [0]{}: channel 0x6.4-0xd.6 (7.3)
0x000| 02 1c | .. | part2_3_length: 540 0x6.4-0x7.7 (1.4)
0x000| 08 50 | .P | big_values: 16 0x8-0x9 (1.1)
0x000| 50 bd | P. | global_gain: 161 0x9.1-0xa (1)
0x000| bd | . | scalefac_compress: 7 0xa.1-0xa.4 (0.4)
0x000| bd | . | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| bd | . | block_type: "start block" (1) 0xa.6-0xa.7 (0.2)
0x000| 3c | < | switch_point: 0 0xb-0xb (0.1)
0x000| 3c | < | table_select0: 15 0xb.1-0xb.5 (0.5)
0x000| 3c 60 | <` | table_select1: 3 0xb.6-0xc.2 (0.5)
0x000| 60 | ` | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x000| 60 08 | `. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x000| 08 | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
0x000| 08 | . | preflag: 1 0xd.4-0xd.4 (0.1)
0x000| 08 | . | scalefac_scale: 0 0xd.5-0xd.5 (0.1)
0x000| 08 | . | count1table_select: 0 0xd.6-0xd.6 (0.1)
0x000| f3 25 | .% | part2_3_length: 805 0x6.4-0x7.7 (1.4)
0x000| 1e c4 | .. | big_values: 61 0x8-0x9 (1.1)
0x000| c4 97 | .. | global_gain: 137 0x9.1-0xa (1)
0x000| 97 | . | scalefac_compress: 2 0xa.1-0xa.4 (0.4)
0x000| 97 | . | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| 97 | . | block_type: "end" (3) 0xa.6-0xa.7 (0.2)
0x000| 78 | x | switch_point: 0 0xb-0xb (0.1)
0x000| 78 | x | table_select0: 30 0xb.1-0xb.5 (0.5)
0x000| 78 40 | x@ | table_select1: 2 0xb.6-0xc.2 (0.5)
0x000| 40 | @ | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x000| 40 00 | @. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x000| 00 | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
0x000| 00 | . | preflag: 0 0xd.4-0xd.4 (0.1)
0x000| 00 | . | scalefac_scale: 0 0xd.5-0xd.5 (0.1)
0x000| 00 | . | count1table_select: 0 0xd.6-0xd.6 (0.1)
| | | [1]{}: channel 0xd.7-0x15.1 (7.3)
0x000| 08 00 00| ...| part2_3_length: 0 0xd.7-0xf.2 (1.4)
0x000| 00 00 00| ...| part2_3_length: 0 0xd.7-0xf.2 (1.4)
0x000| 00| .| big_values: 0 0xf.3-0x10.3 (1.1)
0x010|0d |. |
0x010|0d 20 |. | global_gain: 210 0x10.4-0x11.3 (1)
0x010| 20 | | scalefac_compress: 0 0x11.4-0x11.7 (0.4)
0x010| a0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| a0 | . | block_type: "start block" (1) 0x12.1-0x12.2 (0.2)
0x010| a0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| a0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| e0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| e0 | . | block_type: "end" (3) 0x12.1-0x12.2 (0.2)
0x010| e0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| e0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| 00 | . | table_select1: 0 0x13.1-0x13.5 (0.5)
0x010| 00 01 | .. | subblock_gain0: 0 0x13.6-0x14 (0.3)
0x010| 01 | . | subblock_gain1: 0 0x14.1-0x14.3 (0.3)
0x010| 01 | . | subblock_gain2: 0 0x14.4-0x14.6 (0.3)
0x010| 01 | . | preflag: 1 0x14.7-0x14.7 (0.1)
0x010| 16 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 16 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
0x010| 0b | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 0b | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
| | | [1][0:2]: granule 0x15.2-0x23.7 (14.6)
| | | [0]{}: channel 0x15.2-0x1c.4 (7.3)
0x010| 16 f1 | .. | part2_3_length: 1468 0x15.2-0x16.5 (1.4)
0x010| f1 7b | .{ | big_values: 189 0x16.6-0x17.6 (1.1)
0x010| 7b 5d | {] | global_gain: 174 0x17.7-0x18.6 (1)
0x010| 5d b9 | ]. | scalefac_compress: 13 0x18.7-0x19.2 (0.4)
0x010| b9 | . | blocksplit_flag: 1 0x19.3-0x19.3 (0.1)
0x010| b9 | . | block_type: "3 short windows" (2) 0x19.4-0x19.5 (0.2)
0x010| b9 | . | switch_point: 0 0x19.6-0x19.6 (0.1)
0x010| b9 89 | .. | table_select0: 24 0x19.7-0x1a.3 (0.5)
0x010| 89 00 | .. | table_select1: 18 0x1a.4-0x1b (0.5)
0x010| 00 | . | subblock_gain0: 0 0x1b.1-0x1b.3 (0.3)
0x010| 00 | . | subblock_gain1: 0 0x1b.4-0x1b.6 (0.3)
0x010| 00 10 | .. | subblock_gain2: 0 0x1b.7-0x1c.1 (0.3)
0x010| 10 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| 10 | . | scalefac_scale: 1 0x1c.3-0x1c.3 (0.1)
0x010| 10 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
0x010| 0b d8 | .. | part2_3_length: 758 0x15.2-0x16.5 (1.4)
0x010| d8 69 | .i | big_values: 52 0x16.6-0x17.6 (1.1)
0x010| 69 12 | i. | global_gain: 137 0x17.7-0x18.6 (1)
0x010| 12 4d | .M | scalefac_compress: 2 0x18.7-0x19.2 (0.4)
0x010| 4d | M | blocksplit_flag: 0 0x19.3-0x19.3 (0.1)
0x010| 4d fe | M. | table_select0: 27 0x19.4-0x1a (0.5)
0x010| fe | . | table_select1: 31 0x1a.1-0x1a.5 (0.5)
0x010| fe 82 | .. | table_select2: 20 0x1a.6-0x1b.2 (0.5)
0x010| 82 | . | region_address1: 1 0x1b.3-0x1b.6 (0.4)
0x010| 82 40 | .@ | region_address2: 1 0x1b.7-0x1c.1 (0.3)
0x010| 40 | @ | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| 40 | @ | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| 40 | @ | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
| | | [1]{}: channel 0x1c.5-0x23.7 (7.3)
0x010| 10 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| 40 00 00 | @.. | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| 00 34| .4| big_values: 0 0x1e.1-0x1f.1 (1.1)
0x010| 34| 4| global_gain: 210 0x1f.2-0x20.1 (1)
0x020|83 |. |
0x020|83 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|83 |. | blocksplit_flag: 1 0x20.6-0x20.6 (0.1)
0x020|83 00 |.. | block_type: "3 short windows" (2) 0x20.7-0x21 (0.2)
0x020| 00 | . | switch_point: 0 0x21.1-0x21.1 (0.1)
0x020| 00 | . | table_select0: 0 0x21.2-0x21.6 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.7-0x22.3 (0.5)
0x020| 00 | . | subblock_gain0: 0 0x22.4-0x22.6 (0.3)
0x020| 00 00 | .. | subblock_gain1: 0 0x22.7-0x23.1 (0.3)
0x020| 00 | . | subblock_gain2: 0 0x23.2-0x23.4 (0.3)
0x020| 00 | . | preflag: 0 0x23.5-0x23.5 (0.1)
0x020| 00 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 00 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| 00 25 df 6c 97 04 8c 43 cb 9b 10 dc| .%.l...C....| audio_data: raw bits 0x24-0x17f.7 (348)
0x030|02 e0 0b 00 60 1f 8a b8 6c 6a f6 77 ef c1 f0 40|....`...lj.w...@|
0x020|80 |. |
0x020|80 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|80 |. | blocksplit_flag: 0 0x20.6-0x20.6 (0.1)
0x020|80 00 |.. | table_select0: 0 0x20.7-0x21.3 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.4-0x22 (0.5)
0x020| 00 | . | table_select2: 0 0x22.1-0x22.5 (0.5)
0x020| 00 04 | .. | region_address1: 0 0x22.6-0x23.1 (0.4)
0x020| 04 | . | region_address2: 0 0x23.2-0x23.4 (0.3)
0x020| 04 | . | preflag: 1 0x23.5-0x23.5 (0.1)
0x020| 04 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 04 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| 67 cb 50 61 66 08 c6 6b c4 0b 34 61| g.Paf..k..4a| audio_data: raw bits 0x24-0x17f.7 (348)
0x030|8a 01 46 60 72 80 28 07 50 70 18 25 00 18 ac 0c|..F`r.(.Pp.%....|
* |until 0x17f.7 (end) (348) | |
| | | crc_calculated: "9633" (raw bits) 0x180-NA (0)
| | | crc_calculated: "7eca" (raw bits) 0x180-NA (0)

View File

@ -16,38 +16,42 @@ $ fq -d mp3_frame dv mp3-frame-128000br-2ch-8000hz
0x000| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x000| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x000| 00 | . | main_data_begin: 0 0x4-0x4.7 (1)
0x000| 26 | & | private_bits: 0 0x5-0x5.1 (0.2)
0x000| 7a | z | main_data_begin: 122 0x4-0x4.7 (1)
0x000| 34 | 4 | private_bits: 0 0x5-0x5.1 (0.2)
| | | granules[0:1]: 0x5.2-0x14.7 (15.6)
| | | [0][0:2]: granule 0x5.2-0x14.7 (15.6)
| | | [0]{}: channel 0x5.2-0xd (7.7)
0x000| 26 76 | &v | part2_3_length: 2461 0x5.2-0x6.5 (1.4)
0x000| 76 37 | v7 | big_values: 283 0x6.6-0x7.6 (1.1)
0x000| 37 2a | 7* | global_gain: 149 0x7.7-0x8.6 (1)
0x000| 2a 01 | *. | scalefac_compress: 1 0x8.7-0x9.7 (1.1)
0x000| 63 | c | blocksplit_flag: 0 0xa-0xa (0.1)
0x000| 63 | c | table_select0: 24 0xa.1-0xa.5 (0.5)
0x000| 63 6c | cl | table_select1: 27 0xa.6-0xb.2 (0.5)
0x000| 6c | l | table_select2: 12 0xb.3-0xb.7 (0.5)
0x000| 38 | 8 | region_address1: 3 0xc-0xc.3 (0.4)
0x000| 38 | 8 | region_address2: 4 0xc.4-0xc.6 (0.3)
0x000| 38 | 8 | scalefac_scale: 0 0xc.7-0xc.7 (0.1)
0x000| 34 a9 | 4. | part2_3_length: 3370 0x5.2-0x6.5 (1.4)
0x000| a9 e1 | .. | big_values: 240 0x6.6-0x7.6 (1.1)
0x000| e1 00 | .. | global_gain: 128 0x7.7-0x8.6 (1)
0x000| 00 00 | .. | scalefac_compress: 0 0x8.7-0x9.7 (1.1)
0x000| cf | . | blocksplit_flag: 1 0xa-0xa (0.1)
0x000| cf | . | block_type: "3 short windows" (2) 0xa.1-0xa.2 (0.2)
0x000| cf | . | switch_point: 0 0xa.3-0xa.3 (0.1)
0x000| cf f8 | .. | table_select0: 31 0xa.4-0xb (0.5)
0x000| f8 | . | table_select1: 30 0xb.1-0xb.5 (0.5)
0x000| f8 00 | .. | subblock_gain0: 0 0xb.6-0xc (0.3)
0x000| 00 | . | subblock_gain1: 0 0xc.1-0xc.3 (0.3)
0x000| 00 | . | subblock_gain2: 0 0xc.4-0xc.6 (0.3)
0x000| 00 | . | scalefac_scale: 0 0xc.7-0xc.7 (0.1)
0x000| 00 | . | count1table_select: 0 0xd-0xd (0.1)
| | | [1]{}: channel 0xd.1-0x14.7 (7.7)
0x000| 00 00 | .. | part2_3_length: 0 0xd.1-0xe.4 (1.4)
0x000| 00 03| ..| big_values: 0 0xe.5-0xf.5 (1.1)
0x000| 03| .| global_gain: 210 0xf.6-0x10.5 (1)
0x010|48 |H |
0x010|48 00 |H. | scalefac_compress: 0 0x10.6-0x11.6 (1.1)
0x010| 00 | . | blocksplit_flag: 0 0x11.7-0x11.7 (0.1)
0x010| 00 | . | table_select0: 0 0x12-0x12.4 (0.5)
0x010| 00 00 | .. | table_select1: 0 0x12.5-0x13.1 (0.5)
0x010| 00 | . | table_select2: 0 0x13.2-0x13.6 (0.5)
0x010| 00 00 | .. | region_address1: 0 0x13.7-0x14.2 (0.4)
0x010| 00 | . | region_address2: 0 0x14.3-0x14.5 (0.3)
0x010|48 01 |H. | scalefac_compress: 0 0x10.6-0x11.6 (1.1)
0x010| 01 | . | blocksplit_flag: 1 0x11.7-0x11.7 (0.1)
0x010| 80 | . | block_type: "3 short windows" (2) 0x12-0x12.1 (0.2)
0x010| 80 | . | switch_point: 0 0x12.2-0x12.2 (0.1)
0x010| 80 | . | table_select0: 0 0x12.3-0x12.7 (0.5)
0x010| 00 | . | table_select1: 0 0x13-0x13.4 (0.5)
0x010| 00 | . | subblock_gain0: 0 0x13.5-0x13.7 (0.3)
0x010| 00 | . | subblock_gain1: 0 0x14-0x14.2 (0.3)
0x010| 00 | . | subblock_gain2: 0 0x14.3-0x14.5 (0.3)
0x010| 00 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| 00 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x010| 81 94 28 6e ef b2 b2 eb 98 46 63| ..(n.....Fc| audio_data: raw bits 0x15-0x23f.7 (555)
0x020|09 76 db 7a ef 01 6e 0c 44 33 08 b7 8f 65 b6 90|.v.z..n.D3...e..|
0x010| c3 29 a3 29 52 d4 06 80 12 85 16| .).)R......| audio_data: raw bits 0x15-0x23f.7 (555)
0x020|b5 1b 56 62 5f 6d 86 cd 63 85 e3 0e 81 b9 31 d2|..Vb_m..c.....1.|
* |until 0x23f.7 (end) (555) | |
| | | crc_calculated: "eae8" (raw bits) 0x240-NA (0)
| | | crc_calculated: "ed86" (raw bits) 0x240-NA (0)

View File

@ -1,61 +1,59 @@
$ fq -d mp3_frame dv mp3-frame-320000br-1ch-44100hz
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-320000br-1ch-44100hz (mp3_frame) 0x0-0x413.7 (1044)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-320000br-1ch-44100hz (mp3_frame) 0x0-0x414.7 (1045)
| | | header{}: 0x0-0x3.7 (4)
0x000|ff fb |.. | sync: 0b11111111111 (valid) 0x0-0x1.2 (1.3)
0x000| fb | . | mpeg_version: "1" (3) (MPEG Version 1) 0x1.3-0x1.4 (0.2)
0x000| fb | . | layer: 3 (1) (MPEG Layer 3) 0x1.5-0x1.6 (0.2)
| | | sample_count: 1152 0x1.7-NA (0)
0x000| fb | . | protection_absent: true (No CRC) 0x1.7-0x1.7 (0.1)
0x000| e0 | . | bitrate: 320000 (14) 0x2-0x2.3 (0.4)
0x000| e0 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| e0 | . | padding: "not_padded" (0b0) 0x2.6-0x2.6 (0.1)
0x000| e0 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| e2 | . | bitrate: 320000 (14) 0x2-0x2.3 (0.4)
0x000| e2 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| e2 | . | padding: "padded" (0b1) 0x2.6-0x2.6 (0.1)
0x000| e2 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| c4 | . | channels: "mono" (0b11) 0x3-0x3.1 (0.2)
0x000| c4 | . | channel_mode: "none" (0b0) 0x3.2-0x3.3 (0.2)
0x000| c4 | . | copyright: 0 0x3.4-0x3.4 (0.1)
0x000| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x000| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 00 33 | .3 | scfsi0: 0 0x5.6-0x6.1 (0.4)
0x000| 00 03 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 03 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 03 54 | .T | scfsi0: 13 0x5.6-0x6.1 (0.4)
| | | granules[0:2]: 0x6.2-0x14.7 (14.6)
| | | [0][0:1]: granule 0x6.2-0xd.4 (7.3)
| | | [0]{}: channel 0x6.2-0xd.4 (7.3)
0x000| 33 7a | 3z | part2_3_length: 3294 0x6.2-0x7.5 (1.4)
0x000| 7a 0b | z. | big_values: 261 0x7.6-0x8.6 (1.1)
0x000| 0b 06 | .. | global_gain: 131 0x8.7-0x9.6 (1)
0x000| 06 75 | .u | scalefac_compress: 3 0x9.7-0xa.2 (0.4)
0x000| 75 | u | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 75 | u | block_type: "start block" (1) 0xa.4-0xa.5 (0.2)
0x000| 75 | u | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 75 ed | u. | table_select0: 30 0xa.7-0xb.3 (0.5)
0x000| ed 00 | .. | table_select1: 26 0xb.4-0xc (0.5)
0x000| 00 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x000| 00 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x000| 00 0f | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 0f | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 0f | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 0f | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
0x000| 54 9a | T. | part2_3_length: 1318 0x6.2-0x7.5 (1.4)
0x000| 9a 09 | .. | big_values: 260 0x7.6-0x8.6 (1.1)
0x000| 09 02 | .. | global_gain: 129 0x8.7-0x9.6 (1)
0x000| 02 1d | .. | scalefac_compress: 0 0x9.7-0xa.2 (0.4)
0x000| 1d | . | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 1d | . | block_type: "end" (3) 0xa.4-0xa.5 (0.2)
0x000| 1d | . | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 1d f2 | .. | table_select0: 31 0xa.7-0xb.3 (0.5)
0x000| f2 80 | .. | table_select1: 5 0xb.4-0xc (0.5)
0x000| 80 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x000| 80 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x000| 80 02 | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 02 | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 02 | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 02 | . | count1table_select: 0 0xd.4-0xd.4 (0.1)
| | | [1][0:1]: granule 0xd.5-0x14.7 (7.3)
| | | [0]{}: channel 0xd.5-0x14.7 (7.3)
0x000| 0f c5 c5| ...| part2_3_length: 3979 0xd.5-0xf (1.4)
0x000| c5| .| big_values: 279 0xf.1-0x10.1 (1.1)
0x010|e3 |. |
0x010|e3 03 |.. | global_gain: 140 0x10.2-0x11.1 (1)
0x010| 03 | . | scalefac_compress: 0 0x11.2-0x11.5 (0.4)
0x010| 03 | . | blocksplit_flag: 1 0x11.6-0x11.6 (0.1)
0x010| 03 3d | .= | block_type: "3 short windows" (2) 0x11.7-0x12 (0.2)
0x010| 3d | = | switch_point: 0 0x12.1-0x12.1 (0.1)
0x010| 3d | = | table_select0: 30 0x12.2-0x12.6 (0.5)
0x010| 3d b0 | =. | table_select1: 27 0x12.7-0x13.3 (0.5)
0x010| b0 | . | subblock_gain0: 0 0x13.4-0x13.6 (0.3)
0x010| b0 00 | .. | subblock_gain1: 0 0x13.7-0x14.1 (0.3)
0x010| 00 | . | subblock_gain2: 0 0x14.2-0x14.4 (0.3)
0x010| 00 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| 00 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| 00 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x010| 01 46 db 6c cd 9c d7 4c d1 cc 6c| .F.l...L..l| audio_data: raw bits 0x15-0x413.7 (1023)
0x020|cb 34 94 cc 65 41 9c c4 e0 9b 0c da 10 a0 d2 91|.4..eA..........|
* |until 0x413.7 (end) (1023) | |
| | | crc_calculated: "8629" (raw bits) 0x414-NA (0)
0x000| 02 9a be| ...| part2_3_length: 1333 0xd.5-0xf (1.4)
0x000| be| .| big_values: 248 0xf.1-0x10.1 (1.1)
0x010|20 | |
0x010|20 49 | I | global_gain: 129 0x10.2-0x11.1 (1)
0x010| 49 | I | scalefac_compress: 2 0x11.2-0x11.5 (0.4)
0x010| 49 | I | blocksplit_flag: 0 0x11.6-0x11.6 (0.1)
0x010| 49 fe | I. | table_select0: 31 0x11.7-0x12.3 (0.5)
0x010| fe 20 | . | table_select1: 28 0x12.4-0x13 (0.5)
0x010| 20 | | table_select2: 8 0x13.1-0x13.5 (0.5)
0x010| 20 d9 | . | region_address1: 3 0x13.6-0x14.1 (0.4)
0x010| d9 | . | region_address2: 3 0x14.2-0x14.4 (0.3)
0x010| d9 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| d9 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| d9 | . | count1table_select: 1 0x14.7-0x14.7 (0.1)
0x010| 30 1d 80 c5 30 1f 80 c5 30 70 82| 0...0...0p.| audio_data: raw bits 0x15-0x414.7 (1024)
0x020|0b 30 15 81 c8 30 39 42 74 37 68 f8 fd 35 d4 8d|.0...09Bt7h..5..|
* |until 0x414.7 (end) (1024) | |
| | | crc_calculated: "0d7e" (raw bits) 0x415-NA (0)

View File

@ -16,46 +16,44 @@ $ fq -d mp3_frame dv mp3-frame-320000br-1ch-48000hz
0x000| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x000| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 00 2d | .- | scfsi0: 0 0x5.6-0x6.1 (0.4)
0x000| 00 03 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 03 | . | share: 0 0x5.1-0x5.5 (0.5)
0x000| 03 59 | .Y | scfsi0: 13 0x5.6-0x6.1 (0.4)
| | | granules[0:2]: 0x6.2-0x14.7 (14.6)
| | | [0][0:1]: granule 0x6.2-0xd.4 (7.3)
| | | [0]{}: channel 0x6.2-0xd.4 (7.3)
0x000| 2d 85 | -. | part2_3_length: 2913 0x6.2-0x7.5 (1.4)
0x000| 85 e3 | .. | big_values: 241 0x7.6-0x8.6 (1.1)
0x000| e3 0a | .. | global_gain: 133 0x8.7-0x9.6 (1)
0x000| 0a 75 | .u | scalefac_compress: 3 0x9.7-0xa.2 (0.4)
0x000| 75 | u | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 75 | u | block_type: "start block" (1) 0xa.4-0xa.5 (0.2)
0x000| 75 | u | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 75 dc | u. | table_select0: 29 0xa.7-0xb.3 (0.5)
0x000| dc 80 | .. | table_select1: 25 0xb.4-0xc (0.5)
0x000| 59 f1 | Y. | part2_3_length: 1660 0x6.2-0x7.5 (1.4)
0x000| f1 e0 | .. | big_values: 240 0x7.6-0x8.6 (1.1)
0x000| e0 fc | .. | global_gain: 126 0x8.7-0x9.6 (1)
0x000| fc 1d | .. | scalefac_compress: 0 0x9.7-0xa.2 (0.4)
0x000| 1d | . | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x000| 1d | . | block_type: "end" (3) 0xa.4-0xa.5 (0.2)
0x000| 1d | . | switch_point: 0 0xa.6-0xa.6 (0.1)
0x000| 1d f4 | .. | table_select0: 31 0xa.7-0xb.3 (0.5)
0x000| f4 80 | .. | table_select1: 9 0xb.4-0xc (0.5)
0x000| 80 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x000| 80 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x000| 80 0f | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 0f | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 0f | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 0f | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
0x000| 80 0a | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x000| 0a | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x000| 0a | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x000| 0a | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
| | | [1][0:1]: granule 0xd.5-0x14.7 (7.3)
| | | [0]{}: channel 0xd.5-0x14.7 (7.3)
0x000| 0f d3 44| ..D| part2_3_length: 4006 0xd.5-0xf (1.4)
0x000| 44| D| big_values: 273 0xf.1-0x10.1 (1.1)
0x010|62 |b |
0x010|62 83 |b. | global_gain: 138 0x10.2-0x11.1 (1)
0x010| 83 | . | scalefac_compress: 0 0x11.2-0x11.5 (0.4)
0x010| 83 | . | blocksplit_flag: 1 0x11.6-0x11.6 (0.1)
0x010| 83 3f | .? | block_type: "3 short windows" (2) 0x11.7-0x12 (0.2)
0x010| 3f | ? | switch_point: 0 0x12.1-0x12.1 (0.1)
0x010| 3f | ? | table_select0: 31 0x12.2-0x12.6 (0.5)
0x010| 3f c0 | ?. | table_select1: 28 0x12.7-0x13.3 (0.5)
0x010| c0 | . | subblock_gain0: 0 0x13.4-0x13.6 (0.3)
0x010| c0 00 | .. | subblock_gain1: 0 0x13.7-0x14.1 (0.3)
0x010| 00 | . | subblock_gain2: 0 0x14.2-0x14.4 (0.3)
0x010| 00 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| 00 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| 00 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x010| 01 cb 23 90 ed fb 1c e9 79 2c de| ..#.....y,.| audio_data: raw bits 0x15-0x3bf.7 (939)
0x020|15 34 c7 52 e0 da 69 a8 f0 ad f0 fb ae f8 f8 4c|.4.R..i........L|
0x000| 0a ad 39| ..9| part2_3_length: 1370 0xd.5-0xf (1.4)
0x000| 39| 9| big_values: 230 0xf.1-0x10.1 (1.1)
0x010|a0 |. |
0x010|a0 89 |.. | global_gain: 130 0x10.2-0x11.1 (1)
0x010| 89 | . | scalefac_compress: 2 0x11.2-0x11.5 (0.4)
0x010| 89 | . | blocksplit_flag: 0 0x11.6-0x11.6 (0.1)
0x010| 89 f5 | .. | table_select0: 31 0x11.7-0x12.3 (0.5)
0x010| f5 8d | .. | table_select1: 11 0x12.4-0x13 (0.5)
0x010| 8d | . | table_select2: 3 0x13.1-0x13.5 (0.5)
0x010| 8d f9 | .. | region_address1: 7 0x13.6-0x14.1 (0.4)
0x010| f9 | . | region_address2: 7 0x14.2-0x14.4 (0.3)
0x010| f9 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x010| f9 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| f9 | . | count1table_select: 1 0x14.7-0x14.7 (0.1)
0x010| 30 1d c1 22 30 7d c2 d4 30 8e c1| 0.."0}..0..| audio_data: raw bits 0x15-0x3bf.7 (939)
0x020|95 30 ed 83 a9 32 7d 2e 9b 3f af f1 90 35 34 4b|.0...2}..?...54K|
* |until 0x3bf.7 (end) (939) | |
| | | crc_calculated: "b64d" (raw bits) 0x3c0-NA (0)
| | | crc_calculated: "12e3" (raw bits) 0x3c0-NA (0)

View File

@ -16,24 +16,26 @@ $ fq -d mp3_frame dv mp3-frame-320000br-1ch-8000hz
0x000| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x000| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0xc.7 (9)
0x000| 00 | . | main_data_begin: 0 0x4-0x4.7 (1)
0x000| 71 | q | private_bits: 0 0x5-0x5 (0.1)
0x000| 42 | B | main_data_begin: 66 0x4-0x4.7 (1)
0x000| 68 | h | private_bits: 0 0x5-0x5 (0.1)
| | | granules[0:1]: 0x5.1-0xc.7 (7.7)
| | | [0][0:1]: granule 0x5.1-0xc.7 (7.7)
| | | [0]{}: channel 0x5.1-0xc.7 (7.7)
0x000| 71 ec | q. | part2_3_length: 3645 0x5.1-0x6.4 (1.4)
0x000| ec 6e | .n | big_values: 283 0x6.5-0x7.5 (1.1)
0x000| 6e 30 | n0 | global_gain: 140 0x7.6-0x8.5 (1)
0x000| 30 00 | 0. | scalefac_compress: 0 0x8.6-0x9.6 (1.1)
0x000| 00 | . | blocksplit_flag: 0 0x9.7-0x9.7 (0.1)
0x000| d7 | . | table_select0: 26 0xa-0xa.4 (0.5)
0x000| d7 72 | .r | table_select1: 29 0xa.5-0xb.1 (0.5)
0x000| 72 | r | table_select2: 25 0xb.2-0xb.6 (0.5)
0x000| 72 68 | rh | region_address1: 3 0xb.7-0xc.2 (0.4)
0x000| 68 | h | region_address2: 2 0xc.3-0xc.5 (0.3)
0x000| 68 | h | scalefac_scale: 0 0xc.6-0xc.6 (0.1)
0x000| 68 | h | count1table_select: 0 0xc.7-0xc.7 (0.1)
0x000| 39 f0 cd| 9..| audio_data: raw bits 0xd-0x23f.7 (563)
0x010|79 70 30 b3 06 4c d1 b5 38 32 4e 5c 53 6e 94 30|yp0..L..82N\Sn.0|
0x000| 68 73 | hs | part2_3_length: 3342 0x5.1-0x6.4 (1.4)
0x000| 73 c2 | s. | big_values: 240 0x6.5-0x7.5 (1.1)
0x000| c2 00 | .. | global_gain: 128 0x7.6-0x8.5 (1)
0x000| 00 01 | .. | scalefac_compress: 0 0x8.6-0x9.6 (1.1)
0x000| 01 | . | blocksplit_flag: 1 0x9.7-0x9.7 (0.1)
0x000| 9f | . | block_type: "3 short windows" (2) 0xa-0xa.1 (0.2)
0x000| 9f | . | switch_point: 0 0xa.2-0xa.2 (0.1)
0x000| 9f | . | table_select0: 31 0xa.3-0xa.7 (0.5)
0x000| f0 | . | table_select1: 30 0xb-0xb.4 (0.5)
0x000| f0 | . | subblock_gain0: 0 0xb.5-0xb.7 (0.3)
0x000| 00 | . | subblock_gain1: 0 0xc-0xc.2 (0.3)
0x000| 00 | . | subblock_gain2: 0 0xc.3-0xc.5 (0.3)
0x000| 00 | . | scalefac_scale: 0 0xc.6-0xc.6 (0.1)
0x000| 00 | . | count1table_select: 0 0xc.7-0xc.7 (0.1)
0x000| bc 62 1d| .b.| audio_data: raw bits 0xd-0x23f.7 (563)
0x010|0e 6a 7d 89 33 ec 6a a8 9f dc 60 02 80 74 61 49|.j}.3.j...`..taI|
* |until 0x23f.7 (end) (563) | |
| | | crc_calculated: "a6be" (raw bits) 0x240-NA (0)
| | | crc_calculated: "77fa" (raw bits) 0x240-NA (0)

View File

@ -1,37 +1,37 @@
$ fq -d mp3_frame dv mp3-frame-320000br-2ch-44100hz
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-320000br-2ch-44100hz (mp3_frame) 0x0-0x413.7 (1044)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-320000br-2ch-44100hz (mp3_frame) 0x0-0x414.7 (1045)
| | | header{}: 0x0-0x3.7 (4)
0x000|ff fb |.. | sync: 0b11111111111 (valid) 0x0-0x1.2 (1.3)
0x000| fb | . | mpeg_version: "1" (3) (MPEG Version 1) 0x1.3-0x1.4 (0.2)
0x000| fb | . | layer: 3 (1) (MPEG Layer 3) 0x1.5-0x1.6 (0.2)
| | | sample_count: 1152 0x1.7-NA (0)
0x000| fb | . | protection_absent: true (No CRC) 0x1.7-0x1.7 (0.1)
0x000| e0 | . | bitrate: 320000 (14) 0x2-0x2.3 (0.4)
0x000| e0 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| e0 | . | padding: "not_padded" (0b0) 0x2.6-0x2.6 (0.1)
0x000| e0 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| e2 | . | bitrate: 320000 (14) 0x2-0x2.3 (0.4)
0x000| e2 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x000| e2 | . | padding: "padded" (0b1) 0x2.6-0x2.6 (0.1)
0x000| e2 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| 64 | d | channels: "joint_stereo" (0b1) 0x3-0x3.1 (0.2)
0x000| 64 | d | channel_mode: "ms_stereo" (0b10) 0x3.2-0x3.3 (0.2)
0x000| 64 | d | copyright: 0 0x3.4-0x3.4 (0.1)
0x000| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x000| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x23.7 (32)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 00 | . | scfsi0: 0 0x5.4-0x5.7 (0.4)
0x000| 08 | . | scfsi1: 0 0x6-0x6.3 (0.4)
0x000| 00 08 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 08 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 08 | . | scfsi0: 8 0x5.4-0x5.7 (0.4)
0x000| f5 | . | scfsi1: 15 0x6-0x6.3 (0.4)
| | | granules[0:2]: 0x6.4-0x23.7 (29.4)
| | | [0][0:2]: granule 0x6.4-0x15.1 (14.6)
| | | [0]{}: channel 0x6.4-0xd.6 (7.3)
0x000| 08 e4 | .. | part2_3_length: 2276 0x6.4-0x7.7 (1.4)
0x000| 6f 44 | oD | big_values: 222 0x8-0x9 (1.1)
0x000| 44 8d | D. | global_gain: 137 0x9.1-0xa (1)
0x000| 8d | . | scalefac_compress: 1 0xa.1-0xa.4 (0.4)
0x000| 8d | . | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| 8d | . | block_type: "start block" (1) 0xa.6-0xa.7 (0.2)
0x000| 77 | w | switch_point: 0 0xb-0xb (0.1)
0x000| 77 | w | table_select0: 29 0xb.1-0xb.5 (0.5)
0x000| 77 00 | w. | table_select1: 24 0xb.6-0xc.2 (0.5)
0x000| f5 bd | .. | part2_3_length: 1469 0x6.4-0x7.7 (1.4)
0x000| 7f c1 | .. | big_values: 255 0x8-0x9 (1.1)
0x000| c1 97 | .. | global_gain: 131 0x9.1-0xa (1)
0x000| 97 | . | scalefac_compress: 2 0xa.1-0xa.4 (0.4)
0x000| 97 | . | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| 97 | . | block_type: "end" (3) 0xa.6-0xa.7 (0.2)
0x000| 7d | } | switch_point: 0 0xb-0xb (0.1)
0x000| 7d | } | table_select0: 31 0xb.1-0xb.5 (0.5)
0x000| 7d 00 | }. | table_select1: 8 0xb.6-0xc.2 (0.5)
0x000| 00 | . | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x000| 00 02 | .. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x000| 02 | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
@ -44,52 +44,48 @@ $ fq -d mp3_frame dv mp3-frame-320000br-2ch-44100hz
0x010|0d |. |
0x010|0d 20 |. | global_gain: 210 0x10.4-0x11.3 (1)
0x010| 20 | | scalefac_compress: 0 0x11.4-0x11.7 (0.4)
0x010| a0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| a0 | . | block_type: "start block" (1) 0x12.1-0x12.2 (0.2)
0x010| a0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| a0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| e0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| e0 | . | block_type: "end" (3) 0x12.1-0x12.2 (0.2)
0x010| e0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| e0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| 00 | . | table_select1: 0 0x13.1-0x13.5 (0.5)
0x010| 00 01 | .. | subblock_gain0: 0 0x13.6-0x14 (0.3)
0x010| 01 | . | subblock_gain1: 0 0x14.1-0x14.3 (0.3)
0x010| 01 | . | subblock_gain2: 0 0x14.4-0x14.6 (0.3)
0x010| 01 | . | preflag: 1 0x14.7-0x14.7 (0.1)
0x010| 3e | > | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 3e | > | count1table_select: 0 0x15.1-0x15.1 (0.1)
0x010| 18 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 18 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
| | | [1][0:2]: granule 0x15.2-0x23.7 (14.6)
| | | [0]{}: channel 0x15.2-0x1c.4 (7.3)
0x010| 3e 46 | >F | part2_3_length: 3985 0x15.2-0x16.5 (1.4)
0x010| 46 2f | F/ | big_values: 279 0x16.6-0x17.6 (1.1)
0x010| 2f 18 | /. | global_gain: 140 0x17.7-0x18.6 (1)
0x010| 18 19 | .. | scalefac_compress: 0 0x18.7-0x19.2 (0.4)
0x010| 19 | . | blocksplit_flag: 1 0x19.3-0x19.3 (0.1)
0x010| 19 | . | block_type: "3 short windows" (2) 0x19.4-0x19.5 (0.2)
0x010| 19 | . | switch_point: 0 0x19.6-0x19.6 (0.1)
0x010| 19 ed | .. | table_select0: 30 0x19.7-0x1a.3 (0.5)
0x010| ed 80 | .. | table_select1: 27 0x1a.4-0x1b (0.5)
0x010| 80 | . | subblock_gain0: 0 0x1b.1-0x1b.3 (0.3)
0x010| 80 | . | subblock_gain1: 0 0x1b.4-0x1b.6 (0.3)
0x010| 80 00 | .. | subblock_gain2: 0 0x1b.7-0x1c.1 (0.3)
0x010| 00 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| 00 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| 00 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
0x010| 18 fa | .. | part2_3_length: 1598 0x15.2-0x16.5 (1.4)
0x010| fa 05 | .. | big_values: 258 0x16.6-0x17.6 (1.1)
0x010| 05 04 | .. | global_gain: 130 0x17.7-0x18.6 (1)
0x010| 04 cf | .. | scalefac_compress: 6 0x18.7-0x19.2 (0.4)
0x010| cf | . | blocksplit_flag: 0 0x19.3-0x19.3 (0.1)
0x010| cf f1 | .. | table_select0: 31 0x19.4-0x1a (0.5)
0x010| f1 | . | table_select1: 28 0x1a.1-0x1a.5 (0.5)
0x010| f1 06 | .. | table_select2: 8 0x1a.6-0x1b.2 (0.5)
0x010| 06 | . | region_address1: 3 0x1b.3-0x1b.6 (0.4)
0x010| 06 c8 | .. | region_address2: 3 0x1b.7-0x1c.1 (0.3)
0x010| c8 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| c8 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| c8 | . | count1table_select: 1 0x1c.4-0x1c.4 (0.1)
| | | [1]{}: channel 0x1c.5-0x23.7 (7.3)
0x010| 00 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| c8 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| 00 34| .4| big_values: 0 0x1e.1-0x1f.1 (1.1)
0x010| 34| 4| global_gain: 210 0x1f.2-0x20.1 (1)
0x020|83 |. |
0x020|83 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|83 |. | blocksplit_flag: 1 0x20.6-0x20.6 (0.1)
0x020|83 00 |.. | block_type: "3 short windows" (2) 0x20.7-0x21 (0.2)
0x020| 00 | . | switch_point: 0 0x21.1-0x21.1 (0.1)
0x020| 00 | . | table_select0: 0 0x21.2-0x21.6 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.7-0x22.3 (0.5)
0x020| 00 | . | subblock_gain0: 0 0x22.4-0x22.6 (0.3)
0x020| 00 00 | .. | subblock_gain1: 0 0x22.7-0x23.1 (0.3)
0x020| 00 | . | subblock_gain2: 0 0x23.2-0x23.4 (0.3)
0x020| 00 | . | preflag: 0 0x23.5-0x23.5 (0.1)
0x020| 00 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 00 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| 1c 0d 7f 5e cd 71 57 4d 39 40 4c a9| ...^.qWM9@L.| audio_data: raw bits 0x24-0x413.7 (1008)
0x030|07 cc 7e 43 0d 80 76 0e 10 89 0e 10 75 0d 78 3d|..~C..v.....u.x=|
* |until 0x413.7 (end) (1008) | |
| | | crc_calculated: "a2ea" (raw bits) 0x414-NA (0)
0x020|80 |. |
0x020|80 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|80 |. | blocksplit_flag: 0 0x20.6-0x20.6 (0.1)
0x020|80 00 |.. | table_select0: 0 0x20.7-0x21.3 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.4-0x22 (0.5)
0x020| 00 | . | table_select2: 0 0x22.1-0x22.5 (0.5)
0x020| 00 04 | .. | region_address1: 0 0x22.6-0x23.1 (0.4)
0x020| 04 | . | region_address2: 0 0x23.2-0x23.4 (0.3)
0x020| 04 | . | preflag: 1 0x23.5-0x23.5 (0.1)
0x020| 04 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 04 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| 6a 80 03 01 50 09 33 01 68 09 13 05| j...P.3.h...| audio_data: raw bits 0x24-0x414.7 (1009)
0x030|50 18 d3 00 f0 15 83 02 a4 1d c3 5b 56 be b3 47|P..........[V..G|
* |until 0x414.7 (end) (1009) | |
| | | crc_calculated: "8111" (raw bits) 0x415-NA (0)

View File

@ -16,24 +16,24 @@ $ fq -d mp3_frame dv mp3-frame-320000br-2ch-48000hz
0x000| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x000| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x23.7 (32)
0x000| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 00 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 00 | . | scfsi0: 0 0x5.4-0x5.7 (0.4)
0x000| 08 | . | scfsi1: 0 0x6-0x6.3 (0.4)
0x000| 0a 88 | .. | main_data_begin: 21 0x4-0x5 (1.1)
0x000| 88 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 88 | . | scfsi0: 8 0x5.4-0x5.7 (0.4)
0x000| f7 | . | scfsi1: 15 0x6-0x6.3 (0.4)
| | | granules[0:2]: 0x6.4-0x23.7 (29.4)
| | | [0][0:2]: granule 0x6.4-0x15.1 (14.6)
| | | [0]{}: channel 0x6.4-0xd.6 (7.3)
0x000| 08 68 | .h | part2_3_length: 2152 0x6.4-0x7.7 (1.4)
0x000| 71 44 | qD | big_values: 226 0x8-0x9 (1.1)
0x000| 44 85 | D. | global_gain: 137 0x9.1-0xa (1)
0x000| 85 | . | scalefac_compress: 0 0xa.1-0xa.4 (0.4)
0x000| 85 | . | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| 85 | . | block_type: "start block" (1) 0xa.6-0xa.7 (0.2)
0x000| 77 | w | switch_point: 0 0xb-0xb (0.1)
0x000| 77 | w | table_select0: 29 0xb.1-0xb.5 (0.5)
0x000| 77 00 | w. | table_select1: 24 0xb.6-0xc.2 (0.5)
0x000| 00 | . | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x000| 00 02 | .. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x000| f7 6b | .k | part2_3_length: 1899 0x6.4-0x7.7 (1.4)
0x000| 79 bf | y. | big_values: 243 0x8-0x9 (1.1)
0x000| bf 07 | .. | global_gain: 126 0x9.1-0xa (1)
0x000| 07 | . | scalefac_compress: 0 0xa.1-0xa.4 (0.4)
0x000| 07 | . | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x000| 07 | . | block_type: "end" (3) 0xa.6-0xa.7 (0.2)
0x000| 7d | } | switch_point: 0 0xb-0xb (0.1)
0x000| 7d | } | table_select0: 31 0xb.1-0xb.5 (0.5)
0x000| 7d 20 | } | table_select1: 9 0xb.6-0xc.2 (0.5)
0x000| 20 | | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x000| 20 02 | . | subblock_gain1: 0 0xc.6-0xd (0.3)
0x000| 02 | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
0x000| 02 | . | preflag: 0 0xd.4-0xd.4 (0.1)
0x000| 02 | . | scalefac_scale: 0 0xd.5-0xd.5 (0.1)
@ -44,52 +44,48 @@ $ fq -d mp3_frame dv mp3-frame-320000br-2ch-48000hz
0x010|0d |. |
0x010|0d 20 |. | global_gain: 210 0x10.4-0x11.3 (1)
0x010| 20 | | scalefac_compress: 0 0x11.4-0x11.7 (0.4)
0x010| a0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| a0 | . | block_type: "start block" (1) 0x12.1-0x12.2 (0.2)
0x010| a0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| a0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| e0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x010| e0 | . | block_type: "end" (3) 0x12.1-0x12.2 (0.2)
0x010| e0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x010| e0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x010| 00 | . | table_select1: 0 0x13.1-0x13.5 (0.5)
0x010| 00 01 | .. | subblock_gain0: 0 0x13.6-0x14 (0.3)
0x010| 01 | . | subblock_gain1: 0 0x14.1-0x14.3 (0.3)
0x010| 01 | . | subblock_gain2: 0 0x14.4-0x14.6 (0.3)
0x010| 01 | . | preflag: 1 0x14.7-0x14.7 (0.1)
0x010| 3c | < | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 3c | < | count1table_select: 0 0x15.1-0x15.1 (0.1)
0x010| 18 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 18 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
| | | [1][0:2]: granule 0x15.2-0x23.7 (14.6)
| | | [0]{}: channel 0x15.2-0x1c.4 (7.3)
0x010| 3c 2e | <. | part2_3_length: 3851 0x15.2-0x16.5 (1.4)
0x010| 2e 23 | .# | big_values: 273 0x16.6-0x17.6 (1.1)
0x010| 23 16 | #. | global_gain: 139 0x17.7-0x18.6 (1)
0x010| 16 19 | .. | scalefac_compress: 0 0x18.7-0x19.2 (0.4)
0x010| 19 | . | blocksplit_flag: 1 0x19.3-0x19.3 (0.1)
0x010| 19 | . | block_type: "3 short windows" (2) 0x19.4-0x19.5 (0.2)
0x010| 19 | . | switch_point: 0 0x19.6-0x19.6 (0.1)
0x010| 19 ee | .. | table_select0: 30 0x19.7-0x1a.3 (0.5)
0x010| ee 00 | .. | table_select1: 28 0x1a.4-0x1b (0.5)
0x010| 00 | . | subblock_gain0: 0 0x1b.1-0x1b.3 (0.3)
0x010| 00 | . | subblock_gain1: 0 0x1b.4-0x1b.6 (0.3)
0x010| 00 00 | .. | subblock_gain2: 0 0x1b.7-0x1c.1 (0.3)
0x010| 00 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| 00 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| 00 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
0x010| 18 95 | .. | part2_3_length: 1573 0x15.2-0x16.5 (1.4)
0x010| 95 e9 | .. | big_values: 244 0x16.6-0x17.6 (1.1)
0x010| e9 07 | .. | global_gain: 131 0x17.7-0x18.6 (1)
0x010| 07 2f | ./ | scalefac_compress: 9 0x18.7-0x19.2 (0.4)
0x010| 2f | / | blocksplit_flag: 0 0x19.3-0x19.3 (0.1)
0x010| 2f b0 | /. | table_select0: 31 0x19.4-0x1a (0.5)
0x010| b0 | . | table_select1: 12 0x1a.1-0x1a.5 (0.5)
0x010| b0 cd | .. | table_select2: 6 0x1a.6-0x1b.2 (0.5)
0x010| cd | . | region_address1: 6 0x1b.3-0x1b.6 (0.4)
0x010| cd 80 | .. | region_address2: 6 0x1b.7-0x1c.1 (0.3)
0x010| 80 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x010| 80 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| 80 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
| | | [1]{}: channel 0x1c.5-0x23.7 (7.3)
0x010| 00 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| 80 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| 00 34| .4| big_values: 0 0x1e.1-0x1f.1 (1.1)
0x010| 34| 4| global_gain: 210 0x1f.2-0x20.1 (1)
0x020|83 |. |
0x020|83 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|83 |. | blocksplit_flag: 1 0x20.6-0x20.6 (0.1)
0x020|83 00 |.. | block_type: "3 short windows" (2) 0x20.7-0x21 (0.2)
0x020| 00 | . | switch_point: 0 0x21.1-0x21.1 (0.1)
0x020| 00 | . | table_select0: 0 0x21.2-0x21.6 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.7-0x22.3 (0.5)
0x020| 00 | . | subblock_gain0: 0 0x22.4-0x22.6 (0.3)
0x020| 00 00 | .. | subblock_gain1: 0 0x22.7-0x23.1 (0.3)
0x020| 00 | . | subblock_gain2: 0 0x23.2-0x23.4 (0.3)
0x020| 00 | . | preflag: 0 0x23.5-0x23.5 (0.1)
0x020| 00 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 00 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| 36 a5 9b 35 fd 51 34 4c b9 30 ec 62| 6..5.Q4L.0.b| audio_data: raw bits 0x24-0x3bf.7 (924)
0x030|33 b9 64 37 0a 06 38 aa 2e 38 31 c4 35 78 d8 32|3.d7..8..81.5x.2|
0x020|80 |. |
0x020|80 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|80 |. | blocksplit_flag: 0 0x20.6-0x20.6 (0.1)
0x020|80 00 |.. | table_select0: 0 0x20.7-0x21.3 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.4-0x22 (0.5)
0x020| 00 | . | table_select2: 0 0x22.1-0x22.5 (0.5)
0x020| 00 04 | .. | region_address1: 0 0x22.6-0x23.1 (0.4)
0x020| 04 | . | region_address2: 0 0x23.2-0x23.4 (0.3)
0x020| 04 | . | preflag: 1 0x23.5-0x23.5 (0.1)
0x020| 04 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 04 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| af f1 90 35 34 4b 08 31 fa c5 bc 30| ...54K.1...0| audio_data: raw bits 0x24-0x3bf.7 (924)
0x030|9c 41 13 30 2c c1 79 30 9a 82 1f 30 70 01 b5 30|.A.0,.y0...0p..0|
* |until 0x3bf.7 (end) (924) | |
| | | crc_calculated: "d503" (raw bits) 0x3c0-NA (0)
| | | crc_calculated: "231c" (raw bits) 0x3c0-NA (0)

View File

@ -16,38 +16,42 @@ $ fq -d mp3_frame dv mp3-frame-320000br-2ch-8000hz
0x000| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x000| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x000| 00 | . | main_data_begin: 0 0x4-0x4.7 (1)
0x000| 26 | & | private_bits: 0 0x5-0x5.1 (0.2)
0x000| 7a | z | main_data_begin: 122 0x4-0x4.7 (1)
0x000| 34 | 4 | private_bits: 0 0x5-0x5.1 (0.2)
| | | granules[0:1]: 0x5.2-0x14.7 (15.6)
| | | [0][0:2]: granule 0x5.2-0x14.7 (15.6)
| | | [0]{}: channel 0x5.2-0xd (7.7)
0x000| 26 76 | &v | part2_3_length: 2461 0x5.2-0x6.5 (1.4)
0x000| 76 37 | v7 | big_values: 283 0x6.6-0x7.6 (1.1)
0x000| 37 2a | 7* | global_gain: 149 0x7.7-0x8.6 (1)
0x000| 2a 01 | *. | scalefac_compress: 1 0x8.7-0x9.7 (1.1)
0x000| 63 | c | blocksplit_flag: 0 0xa-0xa (0.1)
0x000| 63 | c | table_select0: 24 0xa.1-0xa.5 (0.5)
0x000| 63 6c | cl | table_select1: 27 0xa.6-0xb.2 (0.5)
0x000| 6c | l | table_select2: 12 0xb.3-0xb.7 (0.5)
0x000| 38 | 8 | region_address1: 3 0xc-0xc.3 (0.4)
0x000| 38 | 8 | region_address2: 4 0xc.4-0xc.6 (0.3)
0x000| 38 | 8 | scalefac_scale: 0 0xc.7-0xc.7 (0.1)
0x000| 34 a9 | 4. | part2_3_length: 3370 0x5.2-0x6.5 (1.4)
0x000| a9 e1 | .. | big_values: 240 0x6.6-0x7.6 (1.1)
0x000| e1 00 | .. | global_gain: 128 0x7.7-0x8.6 (1)
0x000| 00 00 | .. | scalefac_compress: 0 0x8.7-0x9.7 (1.1)
0x000| cf | . | blocksplit_flag: 1 0xa-0xa (0.1)
0x000| cf | . | block_type: "3 short windows" (2) 0xa.1-0xa.2 (0.2)
0x000| cf | . | switch_point: 0 0xa.3-0xa.3 (0.1)
0x000| cf f8 | .. | table_select0: 31 0xa.4-0xb (0.5)
0x000| f8 | . | table_select1: 30 0xb.1-0xb.5 (0.5)
0x000| f8 00 | .. | subblock_gain0: 0 0xb.6-0xc (0.3)
0x000| 00 | . | subblock_gain1: 0 0xc.1-0xc.3 (0.3)
0x000| 00 | . | subblock_gain2: 0 0xc.4-0xc.6 (0.3)
0x000| 00 | . | scalefac_scale: 0 0xc.7-0xc.7 (0.1)
0x000| 00 | . | count1table_select: 0 0xd-0xd (0.1)
| | | [1]{}: channel 0xd.1-0x14.7 (7.7)
0x000| 00 00 | .. | part2_3_length: 0 0xd.1-0xe.4 (1.4)
0x000| 00 03| ..| big_values: 0 0xe.5-0xf.5 (1.1)
0x000| 03| .| global_gain: 210 0xf.6-0x10.5 (1)
0x010|48 |H |
0x010|48 00 |H. | scalefac_compress: 0 0x10.6-0x11.6 (1.1)
0x010| 00 | . | blocksplit_flag: 0 0x11.7-0x11.7 (0.1)
0x010| 00 | . | table_select0: 0 0x12-0x12.4 (0.5)
0x010| 00 00 | .. | table_select1: 0 0x12.5-0x13.1 (0.5)
0x010| 00 | . | table_select2: 0 0x13.2-0x13.6 (0.5)
0x010| 00 00 | .. | region_address1: 0 0x13.7-0x14.2 (0.4)
0x010| 00 | . | region_address2: 0 0x14.3-0x14.5 (0.3)
0x010|48 01 |H. | scalefac_compress: 0 0x10.6-0x11.6 (1.1)
0x010| 01 | . | blocksplit_flag: 1 0x11.7-0x11.7 (0.1)
0x010| 80 | . | block_type: "3 short windows" (2) 0x12-0x12.1 (0.2)
0x010| 80 | . | switch_point: 0 0x12.2-0x12.2 (0.1)
0x010| 80 | . | table_select0: 0 0x12.3-0x12.7 (0.5)
0x010| 00 | . | table_select1: 0 0x13-0x13.4 (0.5)
0x010| 00 | . | subblock_gain0: 0 0x13.5-0x13.7 (0.3)
0x010| 00 | . | subblock_gain1: 0 0x14-0x14.2 (0.3)
0x010| 00 | . | subblock_gain2: 0 0x14.3-0x14.5 (0.3)
0x010| 00 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x010| 00 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x010| 81 94 28 6e ef b2 b2 eb 98 46 63| ..(n.....Fc| audio_data: raw bits 0x15-0x23f.7 (555)
0x020|09 76 db 7a ef 01 6e 0c 44 33 08 b7 8f 65 b6 90|.v.z..n.D3...e..|
0x010| c3 29 a3 29 52 d4 06 80 12 85 16| .).)R......| audio_data: raw bits 0x15-0x23f.7 (555)
0x020|b5 1b 56 62 5f 6d 86 cd 63 85 e3 0e 81 b9 31 d2|..Vb_m..c.....1.|
* |until 0x23f.7 (end) (555) | |
| | | crc_calculated: "eae8" (raw bits) 0x240-NA (0)
| | | crc_calculated: "ed86" (raw bits) 0x240-NA (0)

Binary file not shown.

View File

@ -1,61 +1,59 @@
$ fq -d mp3_frame dv mp3-frame-8000br-1ch-44100hz
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-8000br-1ch-44100hz (mp3_frame) 0x0-0x67.7 (104)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-8000br-1ch-44100hz (mp3_frame) 0x0-0x68.7 (105)
| | | header{}: 0x0-0x3.7 (4)
0x00|ff fb |.. | sync: 0b11111111111 (valid) 0x0-0x1.2 (1.3)
0x00| fb | . | mpeg_version: "1" (3) (MPEG Version 1) 0x1.3-0x1.4 (0.2)
0x00| fb | . | layer: 3 (1) (MPEG Layer 3) 0x1.5-0x1.6 (0.2)
| | | sample_count: 1152 0x1.7-NA (0)
0x00| fb | . | protection_absent: true (No CRC) 0x1.7-0x1.7 (0.1)
0x00| 10 | . | bitrate: 32000 (1) 0x2-0x2.3 (0.4)
0x00| 10 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x00| 10 | . | padding: "not_padded" (0b0) 0x2.6-0x2.6 (0.1)
0x00| 10 | . | private: 0 0x2.7-0x2.7 (0.1)
0x00| 12 | . | bitrate: 32000 (1) 0x2-0x2.3 (0.4)
0x00| 12 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x00| 12 | . | padding: "padded" (0b1) 0x2.6-0x2.6 (0.1)
0x00| 12 | . | private: 0 0x2.7-0x2.7 (0.1)
0x00| c4 | . | channels: "mono" (0b11) 0x3-0x3.1 (0.2)
0x00| c4 | . | channel_mode: "none" (0b0) 0x3.2-0x3.3 (0.2)
0x00| c4 | . | copyright: 0 0x3.4-0x3.4 (0.1)
0x00| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x00| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x00| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x00| 00 | . | share: 0 0x5.1-0x5.5 (0.5)
0x00| 00 04 | .. | scfsi0: 0 0x5.6-0x6.1 (0.4)
0x00| 02 03 | .. | main_data_begin: 4 0x4-0x5 (1.1)
0x00| 03 | . | share: 0 0x5.1-0x5.5 (0.5)
0x00| 03 c5 | .. | scfsi0: 15 0x5.6-0x6.1 (0.4)
| | | granules[0:2]: 0x6.2-0x14.7 (14.6)
| | | [0][0:1]: granule 0x6.2-0xd.4 (7.3)
| | | [0]{}: channel 0x6.2-0xd.4 (7.3)
0x00| 04 80 | .. | part2_3_length: 288 0x6.2-0x7.5 (1.4)
0x00| 80 25 | .% | big_values: 18 0x7.6-0x8.6 (1.1)
0x00| 25 3c | %< | global_gain: 158 0x8.7-0x9.6 (1)
0x00| 3c 35 | <5 | scalefac_compress: 1 0x9.7-0xa.2 (0.4)
0x00| 35 | 5 | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x00| 35 | 5 | block_type: "start block" (1) 0xa.4-0xa.5 (0.2)
0x00| 35 | 5 | switch_point: 0 0xa.6-0xa.6 (0.1)
0x00| 35 80 | 5. | table_select0: 24 0xa.7-0xb.3 (0.5)
0x00| 80 80 | .. | table_select1: 1 0xb.4-0xc (0.5)
0x00| 80 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x00| 80 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x00| 80 18 | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x00| 18 | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x00| 18 | . | scalefac_scale: 1 0xd.3-0xd.3 (0.1)
0x00| 18 | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
0x00| c5 10 | .. | part2_3_length: 324 0x6.2-0x7.5 (1.4)
0x00| 10 1d | .. | big_values: 14 0x7.6-0x8.6 (1.1)
0x00| 1d 22 | ." | global_gain: 145 0x8.7-0x9.6 (1)
0x00| 22 1d | ". | scalefac_compress: 0 0x9.7-0xa.2 (0.4)
0x00| 1d | . | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x00| 1d | . | block_type: "end" (3) 0xa.4-0xa.5 (0.2)
0x00| 1d | . | switch_point: 0 0xa.6-0xa.6 (0.1)
0x00| 1d e0 | .. | table_select0: 30 0xa.7-0xb.3 (0.5)
0x00| e0 00 | .. | table_select1: 0 0xb.4-0xc (0.5)
0x00| 00 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x00| 00 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x00| 00 28 | .( | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x00| 28 | ( | preflag: 1 0xd.2-0xd.2 (0.1)
0x00| 28 | ( | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x00| 28 | ( | count1table_select: 1 0xd.4-0xd.4 (0.1)
| | | [1][0:1]: granule 0xd.5-0x14.7 (7.3)
| | | [0]{}: channel 0xd.5-0x14.7 (7.3)
0x00| 18 aa 8b| ...| part2_3_length: 341 0xd.5-0xf (1.4)
0x00| 8b| .| big_values: 45 0xf.1-0x10.1 (1.1)
0x10|69 |i |
0x10|69 c3 |i. | global_gain: 167 0x10.2-0x11.1 (1)
0x10| c3 | . | scalefac_compress: 0 0x11.2-0x11.5 (0.4)
0x10| c3 | . | blocksplit_flag: 1 0x11.6-0x11.6 (0.1)
0x10| c3 34 | .4 | block_type: "3 short windows" (2) 0x11.7-0x12 (0.2)
0x10| 34 | 4 | switch_point: 0 0x12.1-0x12.1 (0.1)
0x10| 34 | 4 | table_select0: 26 0x12.2-0x12.6 (0.5)
0x10| 34 80 | 4. | table_select1: 8 0x12.7-0x13.3 (0.5)
0x10| 80 | . | subblock_gain0: 0 0x13.4-0x13.6 (0.3)
0x10| 80 00 | .. | subblock_gain1: 0 0x13.7-0x14.1 (0.3)
0x10| 00 | . | subblock_gain2: 0 0x14.2-0x14.4 (0.3)
0x10| 00 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x10| 00 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x10| 00 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x10| 40 0b 4e 5c b4 53 79 d6 80 10 46| @.N\.Sy...F| audio_data: raw bits 0x15-0x67.7 (83)
0x20|63 19 84 5f 06 9e ff b9 6e 5b ff 0f c6 e9 ed 80|c.._....n[......|
* |until 0x67.7 (end) (83) | |
| | | crc_calculated: "b723" (raw bits) 0x68-NA (0)
0x00| 28 a3 04| (..| part2_3_length: 326 0xd.5-0xf (1.4)
0x00| 04| .| big_values: 16 0xf.1-0x10.1 (1.1)
0x10|22 |" |
0x10|22 c1 |". | global_gain: 139 0x10.2-0x11.1 (1)
0x10| c1 | . | scalefac_compress: 0 0x11.2-0x11.5 (0.4)
0x10| c1 | . | blocksplit_flag: 0 0x11.6-0x11.6 (0.1)
0x10| c1 af | .. | table_select0: 26 0x11.7-0x12.3 (0.5)
0x10| af 68 | .h | table_select1: 30 0x12.4-0x13 (0.5)
0x10| 68 | h | table_select2: 26 0x13.1-0x13.5 (0.5)
0x10| 68 48 | hH | region_address1: 1 0x13.6-0x14.1 (0.4)
0x10| 48 | H | region_address2: 1 0x14.2-0x14.4 (0.3)
0x10| 48 | H | preflag: 0 0x14.5-0x14.5 (0.1)
0x10| 48 | H | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x10| 48 | H | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x10| 07 00 94 44 03 86 00 20 64 66 ee| ...D... df.| audio_data: raw bits 0x15-0x68.7 (84)
0x20|d8 26 56 83 1e 61 88 0e a6 0a 40 66 60 32 04 c6|.&V..a....@f`2..|
* |until 0x68.7 (end) (84) | |
| | | crc_calculated: "1a6f" (raw bits) 0x69-NA (0)

Binary file not shown.

View File

@ -16,46 +16,44 @@ $ fq -d mp3_frame dv mp3-frame-8000br-1ch-48000hz
0x00| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x00| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x00| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x00| 00 | . | share: 0 0x5.1-0x5.5 (0.5)
0x00| 00 04 | .. | scfsi0: 0 0x5.6-0x6.1 (0.4)
0x00| 02 03 | .. | main_data_begin: 4 0x4-0x5 (1.1)
0x00| 03 | . | share: 0 0x5.1-0x5.5 (0.5)
0x00| 03 c4 | .. | scfsi0: 15 0x5.6-0x6.1 (0.4)
| | | granules[0:2]: 0x6.2-0x14.7 (14.6)
| | | [0][0:1]: granule 0x6.2-0xd.4 (7.3)
| | | [0]{}: channel 0x6.2-0xd.4 (7.3)
0x00| 04 14 | .. | part2_3_length: 261 0x6.2-0x7.5 (1.4)
0x00| 14 2f | ./ | big_values: 23 0x7.6-0x8.6 (1.1)
0x00| 2f 3a | /: | global_gain: 157 0x8.7-0x9.6 (1)
0x00| 3a 15 | :. | scalefac_compress: 0 0x9.7-0xa.2 (0.4)
0x00| 15 | . | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x00| 15 | . | block_type: "start block" (1) 0xa.4-0xa.5 (0.2)
0x00| 15 | . | switch_point: 0 0xa.6-0xa.6 (0.1)
0x00| 15 81 | .. | table_select0: 24 0xa.7-0xb.3 (0.5)
0x00| 81 80 | .. | table_select1: 3 0xb.4-0xc (0.5)
0x00| 80 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x00| 80 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x00| 80 08 | .. | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x00| 08 | . | preflag: 0 0xd.2-0xd.2 (0.1)
0x00| 08 | . | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x00| 08 | . | count1table_select: 1 0xd.4-0xd.4 (0.1)
0x00| c4 4c | .L | part2_3_length: 275 0x6.2-0x7.5 (1.4)
0x00| 4c 1d | L. | big_values: 14 0x7.6-0x8.6 (1.1)
0x00| 1d 26 | .& | global_gain: 147 0x8.7-0x9.6 (1)
0x00| 26 1d | &. | scalefac_compress: 0 0x9.7-0xa.2 (0.4)
0x00| 1d | . | blocksplit_flag: 1 0xa.3-0xa.3 (0.1)
0x00| 1d | . | block_type: "end" (3) 0xa.4-0xa.5 (0.2)
0x00| 1d | . | switch_point: 0 0xa.6-0xa.6 (0.1)
0x00| 1d d0 | .. | table_select0: 29 0xa.7-0xb.3 (0.5)
0x00| d0 00 | .. | table_select1: 0 0xb.4-0xc (0.5)
0x00| 00 | . | subblock_gain0: 0 0xc.1-0xc.3 (0.3)
0x00| 00 | . | subblock_gain1: 0 0xc.4-0xc.6 (0.3)
0x00| 00 20 | . | subblock_gain2: 0 0xc.7-0xd.1 (0.3)
0x00| 20 | | preflag: 1 0xd.2-0xd.2 (0.1)
0x00| 20 | | scalefac_scale: 0 0xd.3-0xd.3 (0.1)
0x00| 20 | | count1table_select: 0 0xd.4-0xd.4 (0.1)
| | | [1][0:1]: granule 0xd.5-0x14.7 (7.3)
| | | [0]{}: channel 0xd.5-0x14.7 (7.3)
0x00| 08 96 8a| ...| part2_3_length: 301 0xd.5-0xf (1.4)
0x00| 8a| .| big_values: 40 0xf.1-0x10.1 (1.1)
0x10|2d |- |
0x10|2d 13 |-. | global_gain: 180 0x10.2-0x11.1 (1)
0x10| 13 | . | scalefac_compress: 4 0x11.2-0x11.5 (0.4)
0x10| 13 | . | blocksplit_flag: 1 0x11.6-0x11.6 (0.1)
0x10| 13 1e | .. | block_type: "3 short windows" (2) 0x11.7-0x12 (0.2)
0x10| 1e | . | switch_point: 0 0x12.1-0x12.1 (0.1)
0x10| 1e | . | table_select0: 15 0x12.2-0x12.6 (0.5)
0x10| 1e 90 | .. | table_select1: 9 0x12.7-0x13.3 (0.5)
0x10| 90 | . | subblock_gain0: 0 0x13.4-0x13.6 (0.3)
0x10| 90 00 | .. | subblock_gain1: 0 0x13.7-0x14.1 (0.3)
0x10| 00 | . | subblock_gain2: 0 0x14.2-0x14.4 (0.3)
0x10| 00 | . | preflag: 0 0x14.5-0x14.5 (0.1)
0x10| 00 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x10| 00 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x10| 31 8c 0c 34 7f 7d 8b 70 64 51 b1| 1..4.}.pdQ.| audio_data: raw bits 0x15-0x5f.7 (75)
0x20|86 a2 17 41 d7 95 bb 6e 5b ff 0f c6 e9 ed a2 20|...A...n[...... |
0x00| 20 93 83| ..| part2_3_length: 295 0xd.5-0xf (1.4)
0x00| 83| .| big_values: 15 0xf.1-0x10.1 (1.1)
0x10|e3 |. |
0x10|e3 01 |.. | global_gain: 140 0x10.2-0x11.1 (1)
0x10| 01 | . | scalefac_compress: 0 0x11.2-0x11.5 (0.4)
0x10| 01 | . | blocksplit_flag: 0 0x11.6-0x11.6 (0.1)
0x10| 01 bf | .. | table_select0: 27 0x11.7-0x12.3 (0.5)
0x10| bf 64 | .d | table_select1: 30 0x12.4-0x13 (0.5)
0x10| 64 | d | table_select2: 25 0x13.1-0x13.5 (0.5)
0x10| 64 4c | dL | region_address1: 1 0x13.6-0x14.1 (0.4)
0x10| 4c | L | region_address2: 1 0x14.2-0x14.4 (0.3)
0x10| 4c | L | preflag: 1 0x14.5-0x14.5 (0.1)
0x10| 4c | L | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x10| 4c | L | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x10| 20 10 26 61 00 3e 64 25 a6 7e ae| .&a.>d%.~.| audio_data: raw bits 0x15-0x5f.7 (75)
0x20|00 69 99 2c 63 28 80 10 0d a1 3c c0 a0 1c c0 00|.i.,c(....<.....|
* |until 0x5f.7 (end) (75) | |
| | | crc_calculated: "19b9" (raw bits) 0x60-NA (0)
| | | crc_calculated: "114e" (raw bits) 0x60-NA (0)

Binary file not shown.

View File

@ -16,24 +16,26 @@ $ fq -d mp3_frame dv mp3-frame-8000br-1ch-8000hz
0x00| c4 | . | original: 1 0x3.5-0x3.5 (0.1)
0x00| c4 | . | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0xc.7 (9)
0x00| 00 | . | main_data_begin: 0 0x4-0x4.7 (1)
0x00| 0c | . | private_bits: 0 0x5-0x5 (0.1)
0x00| 06 | . | main_data_begin: 6 0x4-0x4.7 (1)
0x00| 0e | . | private_bits: 0 0x5-0x5 (0.1)
| | | granules[0:1]: 0x5.1-0xc.7 (7.7)
| | | [0][0:1]: granule 0x5.1-0xc.7 (7.7)
| | | [0]{}: channel 0x5.1-0xc.7 (7.7)
0x00| 0c 90 | .. | part2_3_length: 402 0x5.1-0x6.4 (1.4)
0x00| 90 8e | .. | big_values: 35 0x6.5-0x7.5 (1.1)
0x00| 8e c1 | .. | global_gain: 176 0x7.6-0x8.5 (1)
0x00| c1 b8 | .. | scalefac_compress: 220 0x8.6-0x9.6 (1.1)
0x00| b8 | . | blocksplit_flag: 0 0x9.7-0x9.7 (0.1)
0x00| 08 | . | table_select0: 1 0xa-0xa.4 (0.5)
0x00| 08 4c | .L | table_select1: 1 0xa.5-0xb.1 (0.5)
0x00| 4c | L | table_select2: 6 0xb.2-0xb.6 (0.5)
0x00| 4c 0c | L. | region_address1: 0 0xb.7-0xc.2 (0.4)
0x00| 0c | . | region_address2: 3 0xc.3-0xc.5 (0.3)
0x00| 0c | . | scalefac_scale: 0 0xc.6-0xc.6 (0.1)
0x00| 0c | . | count1table_select: 0 0xc.7-0xc.7 (0.1)
0x00| 64 00 9d| d..| audio_data: raw bits 0xd-0x47.7 (59)
0x10|db fe 1f 98 df 20 03 e6 3f 31 81 19 e4 c0 64 d3|..... ..?1....d.|
0x00| 0e 70 | .p | part2_3_length: 462 0x5.1-0x6.4 (1.4)
0x00| 70 f2 | p. | big_values: 60 0x6.5-0x7.5 (1.1)
0x00| f2 94 | .. | global_gain: 165 0x7.6-0x8.5 (1)
0x00| 94 01 | .. | scalefac_compress: 0 0x8.6-0x9.6 (1.1)
0x00| 01 | . | blocksplit_flag: 1 0x9.7-0x9.7 (0.1)
0x00| 94 | . | block_type: "3 short windows" (2) 0xa-0xa.1 (0.2)
0x00| 94 | . | switch_point: 0 0xa.2-0xa.2 (0.1)
0x00| 94 | . | table_select0: 20 0xa.3-0xa.7 (0.5)
0x00| 50 | P | table_select1: 10 0xb-0xb.4 (0.5)
0x00| 50 | P | subblock_gain0: 0 0xb.5-0xb.7 (0.3)
0x00| 00 | . | subblock_gain1: 0 0xc-0xc.2 (0.3)
0x00| 00 | . | subblock_gain2: 0 0xc.3-0xc.5 (0.3)
0x00| 00 | . | scalefac_scale: 0 0xc.6-0xc.6 (0.1)
0x00| 00 | . | count1table_select: 0 0xc.7-0xc.7 (0.1)
0x00| e3 9a 2b| ..+| audio_data: raw bits 0xd-0x47.7 (59)
0x10|51 ca 10 b7 f8 59 e1 1c 81 de 30 06 3c 24 9c 03|Q....Y....0.<$..|
* |until 0x47.7 (end) (59) | |
| | | crc_calculated: "8213" (raw bits) 0x48-NA (0)
| | | crc_calculated: "57e4" (raw bits) 0x48-NA (0)

Binary file not shown.

View File

@ -1,95 +1,91 @@
$ fq -d mp3_frame dv mp3-frame-8000br-2ch-44100hz
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-8000br-2ch-44100hz (mp3_frame) 0x0-0x67.7 (104)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame-8000br-2ch-44100hz (mp3_frame) 0x0-0x68.7 (105)
| | | header{}: 0x0-0x3.7 (4)
0x00|ff fb |.. | sync: 0b11111111111 (valid) 0x0-0x1.2 (1.3)
0x00| fb | . | mpeg_version: "1" (3) (MPEG Version 1) 0x1.3-0x1.4 (0.2)
0x00| fb | . | layer: 3 (1) (MPEG Layer 3) 0x1.5-0x1.6 (0.2)
| | | sample_count: 1152 0x1.7-NA (0)
0x00| fb | . | protection_absent: true (No CRC) 0x1.7-0x1.7 (0.1)
0x00| 10 | . | bitrate: 32000 (1) 0x2-0x2.3 (0.4)
0x00| 10 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x00| 10 | . | padding: "not_padded" (0b0) 0x2.6-0x2.6 (0.1)
0x00| 10 | . | private: 0 0x2.7-0x2.7 (0.1)
0x00| 12 | . | bitrate: 32000 (1) 0x2-0x2.3 (0.4)
0x00| 12 | . | sample_rate: 44100 (0) 0x2.4-0x2.5 (0.2)
0x00| 12 | . | padding: "padded" (0b1) 0x2.6-0x2.6 (0.1)
0x00| 12 | . | private: 0 0x2.7-0x2.7 (0.1)
0x00| 64 | d | channels: "joint_stereo" (0b1) 0x3-0x3.1 (0.2)
0x00| 64 | d | channel_mode: "ms_stereo" (0b10) 0x3.2-0x3.3 (0.2)
0x00| 64 | d | copyright: 0 0x3.4-0x3.4 (0.1)
0x00| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x00| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x23.7 (32)
0x00| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x00| 00 | . | share: 0 0x5.1-0x5.3 (0.3)
0x00| 00 | . | scfsi0: 0 0x5.4-0x5.7 (0.4)
0x00| 00 | . | scfsi1: 0 0x6-0x6.3 (0.4)
0x00| 09 83 | .. | main_data_begin: 19 0x4-0x5 (1.1)
0x00| 83 | . | share: 0 0x5.1-0x5.3 (0.3)
0x00| 83 | . | scfsi0: 3 0x5.4-0x5.7 (0.4)
0x00| f0 | . | scfsi1: 15 0x6-0x6.3 (0.4)
| | | granules[0:2]: 0x6.4-0x23.7 (29.4)
| | | [0][0:2]: granule 0x6.4-0x15.1 (14.6)
| | | [0]{}: channel 0x6.4-0xd.6 (7.3)
0x00| 00 76 | .v | part2_3_length: 118 0x6.4-0x7.7 (1.4)
0x00| 04 d8 | .. | big_values: 9 0x8-0x9 (1.1)
0x00| d8 25 | .% | global_gain: 176 0x9.1-0xa (1)
0x00| 25 | % | scalefac_compress: 4 0xa.1-0xa.4 (0.4)
0x00| 25 | % | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x00| 25 | % | block_type: "start block" (1) 0xa.6-0xa.7 (0.2)
0x00| 0c | . | switch_point: 0 0xb-0xb (0.1)
0x00| 0c | . | table_select0: 3 0xb.1-0xb.5 (0.5)
0x00| 0c 00 | .. | table_select1: 0 0xb.6-0xc.2 (0.5)
0x00| f0 8c | .. | part2_3_length: 140 0x6.4-0x7.7 (1.4)
0x00| 06 d3 | .. | big_values: 13 0x8-0x9 (1.1)
0x00| d3 2f | ./ | global_gain: 166 0x9.1-0xa (1)
0x00| 2f | / | scalefac_compress: 5 0xa.1-0xa.4 (0.4)
0x00| 2f | / | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x00| 2f | / | block_type: "end" (3) 0xa.6-0xa.7 (0.2)
0x00| 68 | h | switch_point: 0 0xb-0xb (0.1)
0x00| 68 | h | table_select0: 26 0xb.1-0xb.5 (0.5)
0x00| 68 00 | h. | table_select1: 0 0xb.6-0xc.2 (0.5)
0x00| 00 | . | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x00| 00 0a | .. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x00| 0a | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
0x00| 0a | . | preflag: 1 0xd.4-0xd.4 (0.1)
0x00| 0a | . | scalefac_scale: 0 0xd.5-0xd.5 (0.1)
0x00| 0a | . | count1table_select: 1 0xd.6-0xd.6 (0.1)
0x00| 00 08 | .. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x00| 08 | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
0x00| 08 | . | preflag: 1 0xd.4-0xd.4 (0.1)
0x00| 08 | . | scalefac_scale: 0 0xd.5-0xd.5 (0.1)
0x00| 08 | . | count1table_select: 0 0xd.6-0xd.6 (0.1)
| | | [1]{}: channel 0xd.7-0x15.1 (7.3)
0x00| 0a 00 00| ...| part2_3_length: 0 0xd.7-0xf.2 (1.4)
0x00| 08 00 00| ...| part2_3_length: 0 0xd.7-0xf.2 (1.4)
0x00| 00| .| big_values: 0 0xf.3-0x10.3 (1.1)
0x10|0d |. |
0x10|0d 20 |. | global_gain: 210 0x10.4-0x11.3 (1)
0x10| 20 | | scalefac_compress: 0 0x11.4-0x11.7 (0.4)
0x10| a0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x10| a0 | . | block_type: "start block" (1) 0x12.1-0x12.2 (0.2)
0x10| a0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x10| a0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x10| e0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x10| e0 | . | block_type: "end" (3) 0x12.1-0x12.2 (0.2)
0x10| e0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x10| e0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x10| 00 | . | table_select1: 0 0x13.1-0x13.5 (0.5)
0x10| 00 01 | .. | subblock_gain0: 0 0x13.6-0x14 (0.3)
0x10| 01 | . | subblock_gain1: 0 0x14.1-0x14.3 (0.3)
0x10| 01 | . | subblock_gain2: 0 0x14.4-0x14.6 (0.3)
0x10| 01 | . | preflag: 1 0x14.7-0x14.7 (0.1)
0x10| 04 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x10| 04 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
0x10| 02 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x10| 02 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
| | | [1][0:2]: granule 0x15.2-0x23.7 (14.6)
| | | [0]{}: channel 0x15.2-0x1c.4 (7.3)
0x10| 04 30 | .0 | part2_3_length: 268 0x15.2-0x16.5 (1.4)
0x10| 30 3f | 0? | big_values: 31 0x16.6-0x17.6 (1.1)
0x10| 3f 66 | ?f | global_gain: 179 0x17.7-0x18.6 (1)
0x10| 66 98 | f. | scalefac_compress: 4 0x18.7-0x19.2 (0.4)
0x10| 98 | . | blocksplit_flag: 1 0x19.3-0x19.3 (0.1)
0x10| 98 | . | block_type: "3 short windows" (2) 0x19.4-0x19.5 (0.2)
0x10| 98 | . | switch_point: 0 0x19.6-0x19.6 (0.1)
0x10| 98 f4 | .. | table_select0: 15 0x19.7-0x1a.3 (0.5)
0x10| f4 00 | .. | table_select1: 8 0x1a.4-0x1b (0.5)
0x10| 00 | . | subblock_gain0: 0 0x1b.1-0x1b.3 (0.3)
0x10| 00 | . | subblock_gain1: 0 0x1b.4-0x1b.6 (0.3)
0x10| 00 00 | .. | subblock_gain2: 0 0x1b.7-0x1c.1 (0.3)
0x10| 00 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x10| 00 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x10| 00 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
0x10| 02 44 | .D | part2_3_length: 145 0x15.2-0x16.5 (1.4)
0x10| 44 1d | D. | big_values: 14 0x16.6-0x17.6 (1.1)
0x10| 1d 56 | .V | global_gain: 171 0x17.7-0x18.6 (1)
0x10| 56 80 | V. | scalefac_compress: 4 0x18.7-0x19.2 (0.4)
0x10| 80 | . | blocksplit_flag: 0 0x19.3-0x19.3 (0.1)
0x10| 80 e1 | .. | table_select0: 1 0x19.4-0x1a (0.5)
0x10| e1 | . | table_select1: 24 0x1a.1-0x1a.5 (0.5)
0x10| e1 20 | . | table_select2: 9 0x1a.6-0x1b.2 (0.5)
0x10| 20 | | region_address1: 0 0x1b.3-0x1b.6 (0.4)
0x10| 20 e0 | . | region_address2: 3 0x1b.7-0x1c.1 (0.3)
0x10| e0 | . | preflag: 1 0x1c.2-0x1c.2 (0.1)
0x10| e0 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x10| e0 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
| | | [1]{}: channel 0x1c.5-0x23.7 (7.3)
0x10| 00 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x10| e0 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x10| 00 34| .4| big_values: 0 0x1e.1-0x1f.1 (1.1)
0x10| 34| 4| global_gain: 210 0x1f.2-0x20.1 (1)
0x20|83 |. |
0x20|83 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x20|83 |. | blocksplit_flag: 1 0x20.6-0x20.6 (0.1)
0x20|83 00 |.. | block_type: "3 short windows" (2) 0x20.7-0x21 (0.2)
0x20| 00 | . | switch_point: 0 0x21.1-0x21.1 (0.1)
0x20| 00 | . | table_select0: 0 0x21.2-0x21.6 (0.5)
0x20| 00 00 | .. | table_select1: 0 0x21.7-0x22.3 (0.5)
0x20| 00 | . | subblock_gain0: 0 0x22.4-0x22.6 (0.3)
0x20| 00 00 | .. | subblock_gain1: 0 0x22.7-0x23.1 (0.3)
0x20| 00 | . | subblock_gain2: 0 0x23.2-0x23.4 (0.3)
0x20| 00 | . | preflag: 0 0x23.5-0x23.5 (0.1)
0x20| 00 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x20| 00 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x20| 00 00 53 d8 3b b9 c4 00 10 8f 0f 3d| ..S.;......=| audio_data: raw bits 0x24-0x67.7 (68)
0x30|fa c0 00 00 00 ff ff e0 e0 08 42 0d 42 04 f9 b4|..........B.B...|
* |until 0x67.7 (end) (68) | |
| | | crc_calculated: "b123" (raw bits) 0x68-NA (0)
0x20|80 |. |
0x20|80 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x20|80 |. | blocksplit_flag: 0 0x20.6-0x20.6 (0.1)
0x20|80 00 |.. | table_select0: 0 0x20.7-0x21.3 (0.5)
0x20| 00 00 | .. | table_select1: 0 0x21.4-0x22 (0.5)
0x20| 00 | . | table_select2: 0 0x22.1-0x22.5 (0.5)
0x20| 00 04 | .. | region_address1: 0 0x22.6-0x23.1 (0.4)
0x20| 04 | . | region_address2: 0 0x23.2-0x23.4 (0.3)
0x20| 04 | . | preflag: 1 0x23.5-0x23.5 (0.1)
0x20| 04 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x20| 04 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x20| d7 80 04 14 ef e4 4c 01 94 2f b0 ef| ......L../..| audio_data: raw bits 0x24-0x68.7 (69)
0x30|c6 d0 08 d1 e2 69 69 d0 72 21 06 34 4f 03 43 04|.....ii.r!.4O.C.|
* |until 0x68.7 (end) (69) | |
| | | crc_calculated: "aad7" (raw bits) 0x69-NA (0)

Binary file not shown.

View File

@ -16,22 +16,22 @@ $ fq -d mp3_frame dv mp3-frame-8000br-2ch-48000hz
0x00| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x00| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x23.7 (32)
0x00| 00 00 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x00| 00 | . | share: 0 0x5.1-0x5.3 (0.3)
0x00| 00 | . | scfsi0: 0 0x5.4-0x5.7 (0.4)
0x00| 00 | . | scfsi1: 0 0x6-0x6.3 (0.4)
0x00| 08 03 | .. | main_data_begin: 16 0x4-0x5 (1.1)
0x00| 03 | . | share: 0 0x5.1-0x5.3 (0.3)
0x00| 03 | . | scfsi0: 3 0x5.4-0x5.7 (0.4)
0x00| f0 | . | scfsi1: 15 0x6-0x6.3 (0.4)
| | | granules[0:2]: 0x6.4-0x23.7 (29.4)
| | | [0][0:2]: granule 0x6.4-0x15.1 (14.6)
| | | [0]{}: channel 0x6.4-0xd.6 (7.3)
0x00| 00 67 | .g | part2_3_length: 103 0x6.4-0x7.7 (1.4)
0x00| 00 d9 | .. | big_values: 1 0x8-0x9 (1.1)
0x00| d9 25 | .% | global_gain: 178 0x9.1-0xa (1)
0x00| 25 | % | scalefac_compress: 4 0xa.1-0xa.4 (0.4)
0x00| 25 | % | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x00| 25 | % | block_type: "start block" (1) 0xa.6-0xa.7 (0.2)
0x00| 04 | . | switch_point: 0 0xb-0xb (0.1)
0x00| 04 | . | table_select0: 1 0xb.1-0xb.5 (0.5)
0x00| 04 00 | .. | table_select1: 0 0xb.6-0xc.2 (0.5)
0x00| f0 72 | .r | part2_3_length: 114 0x6.4-0x7.7 (1.4)
0x00| 04 d9 | .. | big_values: 9 0x8-0x9 (1.1)
0x00| d9 27 | .' | global_gain: 178 0x9.1-0xa (1)
0x00| 27 | ' | scalefac_compress: 4 0xa.1-0xa.4 (0.4)
0x00| 27 | ' | blocksplit_flag: 1 0xa.5-0xa.5 (0.1)
0x00| 27 | ' | block_type: "end" (3) 0xa.6-0xa.7 (0.2)
0x00| 3c | < | switch_point: 0 0xb-0xb (0.1)
0x00| 3c | < | table_select0: 15 0xb.1-0xb.5 (0.5)
0x00| 3c 00 | <. | table_select1: 0 0xb.6-0xc.2 (0.5)
0x00| 00 | . | subblock_gain0: 0 0xc.3-0xc.5 (0.3)
0x00| 00 0a | .. | subblock_gain1: 0 0xc.6-0xd (0.3)
0x00| 0a | . | subblock_gain2: 0 0xd.1-0xd.3 (0.3)
@ -44,52 +44,48 @@ $ fq -d mp3_frame dv mp3-frame-8000br-2ch-48000hz
0x10|0d |. |
0x10|0d 20 |. | global_gain: 210 0x10.4-0x11.3 (1)
0x10| 20 | | scalefac_compress: 0 0x11.4-0x11.7 (0.4)
0x10| a0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x10| a0 | . | block_type: "start block" (1) 0x12.1-0x12.2 (0.2)
0x10| a0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x10| a0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x10| e0 | . | blocksplit_flag: 1 0x12-0x12 (0.1)
0x10| e0 | . | block_type: "end" (3) 0x12.1-0x12.2 (0.2)
0x10| e0 | . | switch_point: 0 0x12.3-0x12.3 (0.1)
0x10| e0 00 | .. | table_select0: 0 0x12.4-0x13 (0.5)
0x10| 00 | . | table_select1: 0 0x13.1-0x13.5 (0.5)
0x10| 00 01 | .. | subblock_gain0: 0 0x13.6-0x14 (0.3)
0x10| 01 | . | subblock_gain1: 0 0x14.1-0x14.3 (0.3)
0x10| 01 | . | subblock_gain2: 0 0x14.4-0x14.6 (0.3)
0x10| 01 | . | preflag: 1 0x14.7-0x14.7 (0.1)
0x10| 03 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x10| 03 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
0x10| 01 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x10| 01 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
| | | [1][0:2]: granule 0x15.2-0x23.7 (14.6)
| | | [0]{}: channel 0x15.2-0x1c.4 (7.3)
0x10| 03 b4 | .. | part2_3_length: 237 0x15.2-0x16.5 (1.4)
0x10| b4 3f | .? | big_values: 31 0x16.6-0x17.6 (1.1)
0x10| 3f 52 | ?R | global_gain: 169 0x17.7-0x18.6 (1)
0x10| 52 19 | R. | scalefac_compress: 0 0x18.7-0x19.2 (0.4)
0x10| 19 | . | blocksplit_flag: 1 0x19.3-0x19.3 (0.1)
0x10| 19 | . | block_type: "3 short windows" (2) 0x19.4-0x19.5 (0.2)
0x10| 19 | . | switch_point: 0 0x19.6-0x19.6 (0.1)
0x10| 19 92 | .. | table_select0: 25 0x19.7-0x1a.3 (0.5)
0x10| 92 80 | .. | table_select1: 5 0x1a.4-0x1b (0.5)
0x10| 80 | . | subblock_gain0: 0 0x1b.1-0x1b.3 (0.3)
0x10| 80 | . | subblock_gain1: 0 0x1b.4-0x1b.6 (0.3)
0x10| 80 00 | .. | subblock_gain2: 0 0x1b.7-0x1c.1 (0.3)
0x10| 00 | . | preflag: 0 0x1c.2-0x1c.2 (0.1)
0x10| 00 | . | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x10| 00 | . | count1table_select: 0 0x1c.4-0x1c.4 (0.1)
0x10| 01 bc | .. | part2_3_length: 111 0x15.2-0x16.5 (1.4)
0x10| bc 13 | .. | big_values: 9 0x16.6-0x17.6 (1.1)
0x10| 13 44 | .D | global_gain: 162 0x17.7-0x18.6 (1)
0x10| 44 01 | D. | scalefac_compress: 0 0x18.7-0x19.2 (0.4)
0x10| 01 | . | blocksplit_flag: 0 0x19.3-0x19.3 (0.1)
0x10| 01 ef | .. | table_select0: 3 0x19.4-0x1a (0.5)
0x10| ef | . | table_select1: 27 0x1a.1-0x1a.5 (0.5)
0x10| ef 00 | .. | table_select2: 24 0x1a.6-0x1b.2 (0.5)
0x10| 00 | . | region_address1: 0 0x1b.3-0x1b.6 (0.4)
0x10| 00 68 | .h | region_address2: 1 0x1b.7-0x1c.1 (0.3)
0x10| 68 | h | preflag: 1 0x1c.2-0x1c.2 (0.1)
0x10| 68 | h | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x10| 68 | h | count1table_select: 1 0x1c.4-0x1c.4 (0.1)
| | | [1]{}: channel 0x1c.5-0x23.7 (7.3)
0x10| 00 00 00 | ... | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x10| 68 00 00 | h.. | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x10| 00 34| .4| big_values: 0 0x1e.1-0x1f.1 (1.1)
0x10| 34| 4| global_gain: 210 0x1f.2-0x20.1 (1)
0x20|83 |. |
0x20|83 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x20|83 |. | blocksplit_flag: 1 0x20.6-0x20.6 (0.1)
0x20|83 00 |.. | block_type: "3 short windows" (2) 0x20.7-0x21 (0.2)
0x20| 00 | . | switch_point: 0 0x21.1-0x21.1 (0.1)
0x20| 00 | . | table_select0: 0 0x21.2-0x21.6 (0.5)
0x20| 00 00 | .. | table_select1: 0 0x21.7-0x22.3 (0.5)
0x20| 00 | . | subblock_gain0: 0 0x22.4-0x22.6 (0.3)
0x20| 00 00 | .. | subblock_gain1: 0 0x22.7-0x23.1 (0.3)
0x20| 00 | . | subblock_gain2: 0 0x23.2-0x23.4 (0.3)
0x20| 00 | . | preflag: 0 0x23.5-0x23.5 (0.1)
0x20| 00 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x20| 00 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x20| 00 00 d8 fc 0c 7e 00 02 3e 3b ff 5c| .....~..>;.\| audio_data: raw bits 0x24-0x5f.7 (60)
0x30|10 be 8c 39 9f 53 16 f5 76 6a 2a 2d 2c d1 11 bd|...9.S..vj*-,...|
0x20|80 |. |
0x20|80 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x20|80 |. | blocksplit_flag: 0 0x20.6-0x20.6 (0.1)
0x20|80 00 |.. | table_select0: 0 0x20.7-0x21.3 (0.5)
0x20| 00 00 | .. | table_select1: 0 0x21.4-0x22 (0.5)
0x20| 00 | . | table_select2: 0 0x22.1-0x22.5 (0.5)
0x20| 00 04 | .. | region_address1: 0 0x22.6-0x23.1 (0.4)
0x20| 04 | . | region_address2: 0 0x23.2-0x23.4 (0.3)
0x20| 04 | . | preflag: 1 0x23.5-0x23.5 (0.1)
0x20| 04 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x20| 04 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x20| b5 de 00 07 9e 60 d0 f1 61 56 08 84| .....`..aV..| audio_data: raw bits 0x24-0x5f.7 (60)
0x30|2a b4 ab c5 58 e4 03 4d 6d 68 44 c0 10 59 0e d8|*...X..MmhD..Y..|
* |until 0x5f.7 (end) (60) | |
| | | crc_calculated: "d083" (raw bits) 0x60-NA (0)
| | | crc_calculated: "75cc" (raw bits) 0x60-NA (0)

Binary file not shown.

View File

@ -16,38 +16,42 @@ $ fq -d mp3_frame dv mp3-frame-8000br-2ch-8000hz
0x00| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x00| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x14.7 (17)
0x00| 00 | . | main_data_begin: 0 0x4-0x4.7 (1)
0x00| 03 | . | private_bits: 0 0x5-0x5.1 (0.2)
0x00| 16 | . | main_data_begin: 22 0x4-0x4.7 (1)
0x00| 06 | . | private_bits: 0 0x5-0x5.1 (0.2)
| | | granules[0:1]: 0x5.2-0x14.7 (15.6)
| | | [0][0:2]: granule 0x5.2-0x14.7 (15.6)
| | | [0]{}: channel 0x5.2-0xd (7.7)
0x00| 03 ac | .. | part2_3_length: 235 0x5.2-0x6.5 (1.4)
0x00| ac 01 | .. | big_values: 0 0x6.6-0x7.6 (1.1)
0x00| 01 79 | .y | global_gain: 188 0x7.7-0x8.6 (1)
0x00| 79 2c | y, | scalefac_compress: 300 0x8.7-0x9.7 (1.1)
0x00| 04 | . | blocksplit_flag: 0 0xa-0xa (0.1)
0x00| 04 | . | table_select0: 1 0xa.1-0xa.5 (0.5)
0x00| 04 22 | ." | table_select1: 1 0xa.6-0xb.2 (0.5)
0x00| 22 | " | table_select2: 2 0xb.3-0xb.7 (0.5)
0x00| 01 | . | region_address1: 0 0xc-0xc.3 (0.4)
0x00| 01 | . | region_address2: 0 0xc.4-0xc.6 (0.3)
0x00| 01 | . | scalefac_scale: 1 0xc.7-0xc.7 (0.1)
0x00| 06 34 | .4 | part2_3_length: 397 0x5.2-0x6.5 (1.4)
0x00| 34 73 | 4s | big_values: 57 0x6.6-0x7.6 (1.1)
0x00| 73 52 | sR | global_gain: 169 0x7.7-0x8.6 (1)
0x00| 52 10 | R. | scalefac_compress: 16 0x8.7-0x9.7 (1.1)
0x00| ca | . | blocksplit_flag: 1 0xa-0xa (0.1)
0x00| ca | . | block_type: "3 short windows" (2) 0xa.1-0xa.2 (0.2)
0x00| ca | . | switch_point: 0 0xa.3-0xa.3 (0.1)
0x00| ca 14 | .. | table_select0: 20 0xa.4-0xb (0.5)
0x00| 14 | . | table_select1: 5 0xb.1-0xb.5 (0.5)
0x00| 14 00 | .. | subblock_gain0: 0 0xb.6-0xc (0.3)
0x00| 00 | . | subblock_gain1: 0 0xc.1-0xc.3 (0.3)
0x00| 00 | . | subblock_gain2: 0 0xc.4-0xc.6 (0.3)
0x00| 00 | . | scalefac_scale: 0 0xc.7-0xc.7 (0.1)
0x00| 00 | . | count1table_select: 0 0xd-0xd (0.1)
| | | [1]{}: channel 0xd.1-0x14.7 (7.7)
0x00| 00 00 | .. | part2_3_length: 0 0xd.1-0xe.4 (1.4)
0x00| 00 03| ..| big_values: 0 0xe.5-0xf.5 (1.1)
0x00| 03| .| global_gain: 210 0xf.6-0x10.5 (1)
0x10|48 |H |
0x10|48 00 |H. | scalefac_compress: 0 0x10.6-0x11.6 (1.1)
0x10| 00 | . | blocksplit_flag: 0 0x11.7-0x11.7 (0.1)
0x10| 00 | . | table_select0: 0 0x12-0x12.4 (0.5)
0x10| 00 00 | .. | table_select1: 0 0x12.5-0x13.1 (0.5)
0x10| 00 | . | table_select2: 0 0x13.2-0x13.6 (0.5)
0x10| 00 00 | .. | region_address1: 0 0x13.7-0x14.2 (0.4)
0x10| 00 | . | region_address2: 0 0x14.3-0x14.5 (0.3)
0x10|48 01 |H. | scalefac_compress: 0 0x10.6-0x11.6 (1.1)
0x10| 01 | . | blocksplit_flag: 1 0x11.7-0x11.7 (0.1)
0x10| 80 | . | block_type: "3 short windows" (2) 0x12-0x12.1 (0.2)
0x10| 80 | . | switch_point: 0 0x12.2-0x12.2 (0.1)
0x10| 80 | . | table_select0: 0 0x12.3-0x12.7 (0.5)
0x10| 00 | . | table_select1: 0 0x13-0x13.4 (0.5)
0x10| 00 | . | subblock_gain0: 0 0x13.5-0x13.7 (0.3)
0x10| 00 | . | subblock_gain1: 0 0x14-0x14.2 (0.3)
0x10| 00 | . | subblock_gain2: 0 0x14.3-0x14.5 (0.3)
0x10| 00 | . | scalefac_scale: 0 0x14.6-0x14.6 (0.1)
0x10| 00 | . | count1table_select: 0 0x14.7-0x14.7 (0.1)
0x10| 92 34 1c a3 60 00 3f 13 87 ea 04| .4..`.?....| audio_data: raw bits 0x15-0x47.7 (51)
0x20|1d 59 fc a7 a6 18 d6 fc 10 ff f7 97 88 27 16 7f|.Y...........'..|
0x10| 00 56 86 84 a6 06 90 e8 ef 01 40| .V........@| audio_data: raw bits 0x15-0x47.7 (51)
0x20|10 04 48 3c 1e ff f2 8a 88 88 82 a7 7f 95 11 1e|..H<............|
* |until 0x47.7 (end) (51) | |
| | | crc_calculated: "5197" (raw bits) 0x48-NA (0)
| | | crc_calculated: "d852" (raw bits) 0x48-NA (0)

View File

@ -6,8 +6,8 @@ for br in 8000 128000 320000; do
# 48000 44100 32000 22050 24000 16000 11025 12000 8000
for hz in 48000 44100 8000; do
f="mp3-frame-${br}br-${ch}ch-${hz}hz"
ffmpeg -y -f lavfi -i sine -ar $hz -b:a $br -ac $ch -t 10ms -id3v2_version 0 -write_xing 0 -f mp3 $f.temp
fq -d raw 'tobytes[0:nth(1;match([0xff,0xe3],[0xff,0xfb]; "g")).offset // .size]' $f.temp >$f
ffmpeg -y -f lavfi -i sine -ar $hz -b:a $br -ac $ch -t 1s -id3v2_version 0 -write_xing 0 -f mp3 $f.temp
fq -d raw 'tobytes | [limit(3; match([0xff,0xfb],[0xff,0xe3]; "g").offset)] as $o | .[$o[1]:$o[2]]' $f.temp >$f
rm $f.temp
echo "\$ fq -d mp3_frame dv $f" >$f.fqtest
done

BIN
format/mpeg/testdata/mp3-frame_size_calc vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,88 @@
# mp3 frame where standard frame size calc had to use used (bitrate*144000)/sample_rate_lsp_adjusted + padding
$ fq -d mp3_frame dv mp3-frame_size_calc
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: mp3-frame_size_calc (mp3_frame) 0x0-0x1f7.7 (504)
| | | header{}: 0x0-0x3.7 (4)
0x000|ff fb |.. | sync: 0b11111111111 (valid) 0x0-0x1.2 (1.3)
0x000| fb | . | mpeg_version: "1" (3) (MPEG Version 1) 0x1.3-0x1.4 (0.2)
0x000| fb | . | layer: 3 (1) (MPEG Layer 3) 0x1.5-0x1.6 (0.2)
| | | sample_count: 1152 0x1.7-NA (0)
0x000| fb | . | protection_absent: true (No CRC) 0x1.7-0x1.7 (0.1)
0x000| 88 | . | bitrate: 112000 (8) 0x2-0x2.3 (0.4)
0x000| 88 | . | sample_rate: 32000 (2) 0x2.4-0x2.5 (0.2)
0x000| 88 | . | padding: "not_padded" (0b0) 0x2.6-0x2.6 (0.1)
0x000| 88 | . | private: 0 0x2.7-0x2.7 (0.1)
0x000| 64 | d | channels: "joint_stereo" (0b1) 0x3-0x3.1 (0.2)
0x000| 64 | d | channel_mode: "ms_stereo" (0b10) 0x3.2-0x3.3 (0.2)
0x000| 64 | d | copyright: 0 0x3.4-0x3.4 (0.1)
0x000| 64 | d | original: 1 0x3.5-0x3.5 (0.1)
0x000| 64 | d | emphasis: "none" (0b0) 0x3.6-0x3.7 (0.2)
| | | side_info{}: 0x4-0x23.7 (32)
0x000| 00 07 | .. | main_data_begin: 0 0x4-0x5 (1.1)
0x000| 07 | . | share: 0 0x5.1-0x5.3 (0.3)
0x000| 07 | . | scfsi0: 7 0x5.4-0x5.7 (0.4)
0x000| f0 | . | scfsi1: 15 0x6-0x6.3 (0.4)
| | | granules[0:2]: 0x6.4-0x23.7 (29.4)
| | | [0][0:2]: granule 0x6.4-0x15.1 (14.6)
| | | [0]{}: channel 0x6.4-0xd.6 (7.3)
0x000| f0 00 | .. | part2_3_length: 0 0x6.4-0x7.7 (1.4)
0x000| 00 7f | .. | big_values: 0 0x8-0x9 (1.1)
0x000| 7f 80 | .. | global_gain: 255 0x9.1-0xa (1)
0x000| 80 | . | scalefac_compress: 0 0xa.1-0xa.4 (0.4)
0x000| 80 | . | blocksplit_flag: 0 0xa.5-0xa.5 (0.1)
0x000| 80 00 | .. | table_select0: 0 0xa.6-0xb.2 (0.5)
0x000| 00 | . | table_select1: 0 0xb.3-0xb.7 (0.5)
0x000| 00 | . | table_select2: 0 0xc-0xc.4 (0.5)
0x000| 00 08 | .. | region_address1: 0 0xc.5-0xd (0.4)
0x000| 08 | . | region_address2: 0 0xd.1-0xd.3 (0.3)
0x000| 08 | . | preflag: 1 0xd.4-0xd.4 (0.1)
0x000| 08 | . | scalefac_scale: 0 0xd.5-0xd.5 (0.1)
0x000| 08 | . | count1table_select: 0 0xd.6-0xd.6 (0.1)
| | | [1]{}: channel 0xd.7-0x15.1 (7.3)
0x000| 08 00 00| ...| part2_3_length: 0 0xd.7-0xf.2 (1.4)
0x000| 00| .| big_values: 0 0xf.3-0x10.3 (1.1)
0x010|0d |. |
0x010|0d 20 |. | global_gain: 210 0x10.4-0x11.3 (1)
0x010| 20 | | scalefac_compress: 0 0x11.4-0x11.7 (0.4)
0x010| 00 | . | blocksplit_flag: 0 0x12-0x12 (0.1)
0x010| 00 | . | table_select0: 0 0x12.1-0x12.5 (0.5)
0x010| 00 00 | .. | table_select1: 0 0x12.6-0x13.2 (0.5)
0x010| 00 | . | table_select2: 0 0x13.3-0x13.7 (0.5)
0x010| 01 | . | region_address1: 0 0x14-0x14.3 (0.4)
0x010| 01 | . | region_address2: 0 0x14.4-0x14.6 (0.3)
0x010| 01 | . | preflag: 1 0x14.7-0x14.7 (0.1)
0x010| 00 | . | scalefac_scale: 0 0x15-0x15 (0.1)
0x010| 00 | . | count1table_select: 0 0x15.1-0x15.1 (0.1)
| | | [1][0:2]: granule 0x15.2-0x23.7 (14.6)
| | | [0]{}: channel 0x15.2-0x1c.4 (7.3)
0x010| 00 44 | .D | part2_3_length: 17 0x15.2-0x16.5 (1.4)
0x010| 44 01 | D. | big_values: 0 0x16.6-0x17.6 (1.1)
0x010| 01 32 | .2 | global_gain: 153 0x17.7-0x18.6 (1)
0x010| 32 a0 | 2. | scalefac_compress: 5 0x18.7-0x19.2 (0.4)
0x010| a0 | . | blocksplit_flag: 0 0x19.3-0x19.3 (0.1)
0x010| a0 00 | .. | table_select0: 0 0x19.4-0x1a (0.5)
0x010| 00 | . | table_select1: 0 0x1a.1-0x1a.5 (0.5)
0x010| 00 00 | .. | table_select2: 0 0x1a.6-0x1b.2 (0.5)
0x010| 00 | . | region_address1: 0 0x1b.3-0x1b.6 (0.4)
0x010| 00 28 | .( | region_address2: 0 0x1b.7-0x1c.1 (0.3)
0x010| 28 | ( | preflag: 1 0x1c.2-0x1c.2 (0.1)
0x010| 28 | ( | scalefac_scale: 0 0x1c.3-0x1c.3 (0.1)
0x010| 28 | ( | count1table_select: 1 0x1c.4-0x1c.4 (0.1)
| | | [1]{}: channel 0x1c.5-0x23.7 (7.3)
0x010| 28 00 00 | (.. | part2_3_length: 0 0x1c.5-0x1e (1.4)
0x010| 00 34| .4| big_values: 0 0x1e.1-0x1f.1 (1.1)
0x010| 34| 4| global_gain: 210 0x1f.2-0x20.1 (1)
0x020|80 |. |
0x020|80 |. | scalefac_compress: 0 0x20.2-0x20.5 (0.4)
0x020|80 |. | blocksplit_flag: 0 0x20.6-0x20.6 (0.1)
0x020|80 00 |.. | table_select0: 0 0x20.7-0x21.3 (0.5)
0x020| 00 00 | .. | table_select1: 0 0x21.4-0x22 (0.5)
0x020| 00 | . | table_select2: 0 0x22.1-0x22.5 (0.5)
0x020| 00 04 | .. | region_address1: 0 0x22.6-0x23.1 (0.4)
0x020| 04 | . | region_address2: 0 0x23.2-0x23.4 (0.3)
0x020| 04 | . | preflag: 1 0x23.5-0x23.5 (0.1)
0x020| 04 | . | scalefac_scale: 0 0x23.6-0x23.6 (0.1)
0x020| 04 | . | count1table_select: 0 0x23.7-0x23.7 (0.1)
0x020| 43 b9 aa 4c 41 4d 45 33 2e 31 30 30| C..LAME3.100| audio_data: raw bits 0x24-0x1f7.7 (468)
0x030|aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa|................|
* |until 0x1f7.7 (end) (468) | |
| | | crc_calculated: "b14b" (raw bits) 0x1f8-NA (0)