From 2de875393ac7c8a4e901d78a7b64916f7674deb9 Mon Sep 17 00:00:00 2001 From: Mattias Wadman Date: Wed, 16 Nov 2022 15:54:49 +0100 Subject: [PATCH] mp3_frame: Fix issue calc frame size for some configs Seems have to use the 144000*bitrate/sameplrate to get correct size or one would miss one byte (odd size rounded to even?) --- format/mpeg/mp3_frame.go | 7 +- .../testdata/mp3-frame-128000br-1ch-44100hz | Bin 417 -> 418 bytes .../mp3-frame-128000br-1ch-44100hz.fqtest | 80 ++++++------ .../testdata/mp3-frame-128000br-1ch-48000hz | Bin 384 -> 384 bytes .../mp3-frame-128000br-1ch-48000hz.fqtest | 72 +++++------ .../testdata/mp3-frame-128000br-1ch-8000hz | Bin 576 -> 576 bytes .../mp3-frame-128000br-1ch-8000hz.fqtest | 36 +++--- .../testdata/mp3-frame-128000br-2ch-44100hz | Bin 417 -> 418 bytes .../mp3-frame-128000br-2ch-44100hz.fqtest | 114 ++++++++-------- .../testdata/mp3-frame-128000br-2ch-48000hz | Bin 384 -> 384 bytes .../mp3-frame-128000br-2ch-48000hz.fqtest | 112 ++++++++-------- .../testdata/mp3-frame-128000br-2ch-8000hz | Bin 576 -> 576 bytes .../mp3-frame-128000br-2ch-8000hz.fqtest | 50 +++---- .../testdata/mp3-frame-320000br-1ch-44100hz | Bin 1044 -> 1045 bytes .../mp3-frame-320000br-1ch-44100hz.fqtest | 84 ++++++------ .../testdata/mp3-frame-320000br-1ch-48000hz | Bin 960 -> 960 bytes .../mp3-frame-320000br-1ch-48000hz.fqtest | 68 +++++----- .../testdata/mp3-frame-320000br-1ch-8000hz | Bin 576 -> 576 bytes .../mp3-frame-320000br-1ch-8000hz.fqtest | 36 +++--- .../testdata/mp3-frame-320000br-2ch-44100hz | Bin 1044 -> 1045 bytes .../mp3-frame-320000br-2ch-44100hz.fqtest | 110 ++++++++-------- .../testdata/mp3-frame-320000br-2ch-48000hz | Bin 960 -> 960 bytes .../mp3-frame-320000br-2ch-48000hz.fqtest | 102 +++++++-------- .../testdata/mp3-frame-320000br-2ch-8000hz | Bin 576 -> 576 bytes .../mp3-frame-320000br-2ch-8000hz.fqtest | 50 +++---- .../testdata/mp3-frame-8000br-1ch-44100hz | Bin 104 -> 105 bytes .../mp3-frame-8000br-1ch-44100hz.fqtest | 84 ++++++------ .../testdata/mp3-frame-8000br-1ch-48000hz | Bin 96 -> 96 bytes .../mp3-frame-8000br-1ch-48000hz.fqtest | 72 +++++------ .../mpeg/testdata/mp3-frame-8000br-1ch-8000hz | Bin 72 -> 72 bytes .../mp3-frame-8000br-1ch-8000hz.fqtest | 36 +++--- .../testdata/mp3-frame-8000br-2ch-44100hz | Bin 104 -> 105 bytes .../mp3-frame-8000br-2ch-44100hz.fqtest | 122 +++++++++--------- .../testdata/mp3-frame-8000br-2ch-48000hz | Bin 96 -> 96 bytes .../mp3-frame-8000br-2ch-48000hz.fqtest | 98 +++++++------- .../mpeg/testdata/mp3-frame-8000br-2ch-8000hz | Bin 72 -> 72 bytes .../mp3-frame-8000br-2ch-8000hz.fqtest | 50 +++---- format/mpeg/testdata/mp3-frame.sh | 4 +- format/mpeg/testdata/mp3-frame_size_calc | Bin 0 -> 504 bytes .../mpeg/testdata/mp3-frame_size_calc.fqtest | 88 +++++++++++++ 40 files changed, 775 insertions(+), 700 deletions(-) create mode 100644 format/mpeg/testdata/mp3-frame_size_calc create mode 100644 format/mpeg/testdata/mp3-frame_size_calc.fqtest diff --git a/format/mpeg/mp3_frame.go b/format/mpeg/mp3_frame.go index ade07d17..13a40e2f 100644 --- a/format/mpeg/mp3_frame.go +++ b/format/mpeg/mp3_frame.go @@ -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) { diff --git a/format/mpeg/testdata/mp3-frame-128000br-1ch-44100hz b/format/mpeg/testdata/mp3-frame-128000br-1ch-44100hz index b6dcb8e7cf8393fc4b19b208d149ff7f4424691e..4bcdb043b0c0161813d9bf6f6dc727ef6017288d 100644 GIT binary patch literal 418 zcmV;T0bTz8`;x>EgVnML03Gsx0-?Yl0saj+^@7DPbizz9g+c}}kU_jKFu<@zrY?~& zSx}&oq|9R=))jr6*<2=uk*;MB6e}}4RVGz9nC!@BMWJyKrgUA{hN2Se%!6Vw39~xT zm(<6188bVw>enMVl~#RR*K-w2RhJ=3=apwNJ1v>oQf|ycPA$FDd2GjbXL71WqcPVb z5VEE)h8B}Je8-j^U%Q6nCa&n)+fo_@+v z+c*E$SZVORAwpA{L-<8>dnl|*lSdDB889Qjo-ii>(=atbN-$Z1eK5_(rZrwWP&GP7 zdN92LB{lj;%0^Ratqvh)HNmXJ-~_F4r*k`Dk7U3r}Y{fIS|dFV9F$+$D(i{K>PBG%5&`tUwy0i((tiy;^R}< z_oTnSf4{%JD`?jDW&8hMn)vQNKM%tX2F8a#(7@NgAO{2z3_w5v<9$U1gW%rz{_D5D z{QA4bOzKpp%MUG6*|?pS^PXImQI%A+65Noqj6qPMOzZl&Xq6P>s9C?yz2VI{&h+ze zXlAMryO6qg&{fU&Rd=Ii&6bJ%xiTf`vzwlg+>R5f$0Jk!=e@PRcuCW#VeQg){l4|G zsnb3lJF;o-&f3#Fq8VF6^O~j^b6$(gmnoeVGUt5RzrTL2)3rU)b#GpeIsd!+KM4HD z-}!n*@&0R*K5bg59G7GCY|{%%gK)4EkSKU2{jTbn{QsLjvgSo=&Yc?5>zV77Dm06g agMm>bG=Skuv+k>!Q}cvgO>;f3p9uiH=DY0x diff --git a/format/mpeg/testdata/mp3-frame-128000br-1ch-44100hz.fqtest b/format/mpeg/testdata/mp3-frame-128000br-1ch-44100hz.fqtest index 09f6fc73..a9625a06 100644 --- a/format/mpeg/testdata/mp3-frame-128000br-1ch-44100hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-128000br-1ch-44100hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-128000br-1ch-48000hz b/format/mpeg/testdata/mp3-frame-128000br-1ch-48000hz index b4f8293f23f76ebdfcce1214407b9d639c97222e..075ea6f6e76f668e851a4d746022f54e190aba7e 100644 GIT binary patch literal 384 zcmV-`0e}Ag`;^2EgVufD03GuH3RQ?5z<>g~3^rJQF*0XEG%`>+tDVZ(aW%2#% z!#3fCDS!8d*{Q0E@$)en+V)8OHjs*7NdW#}WPuc5p8=v_GJ}|7j}{_*P8=*_=>vXY zGJw2)iUwUEV-lukBy5NQ0I{JGA+d67+|DmpkIc=qN5VdH2lFmHFbUMO{-AG4hR literal 384 zcmezWd&&_82B9~R3Z~l|xLNgcz8g+plHl_*d2q)!<<3D@Ud;#3b^C=S-l_B6I+|N`JJ!6e|(Agc)y&@;>GRl zKR+eJU-D~hsgV}%`(#Wk<=HWaZGd#3B#Ht;ZsC(gQZ?fH); zrq8OjrqM<}$9I0|Nqp!4gp7+sc)>!9ll{E#2>%_Dhg~X;lLolUCS4E|#U|yJoC0 F0sxNx!mI!Q diff --git a/format/mpeg/testdata/mp3-frame-128000br-1ch-48000hz.fqtest b/format/mpeg/testdata/mp3-frame-128000br-1ch-48000hz.fqtest index ef64cd9d..4ccc9688 100644 --- a/format/mpeg/testdata/mp3-frame-128000br-1ch-48000hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-128000br-1ch-48000hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-128000br-1ch-8000hz b/format/mpeg/testdata/mp3-frame-128000br-1ch-8000hz index 99faea13cdcded3ffc9bd1073334d2911b0a00ec..ae1eb58e89e001fbff8a02b0ccff3f3b8656cae9 100644 GIT binary patch literal 576 zcmezWxZ{XZM)4sA#`zx@_9V&jWz}{XzsXuL|4sr^LrJ11b3*O%wJ%bNSVesjK6Nlv z>BRm@{@>P=dS=zK)tq%1Z>BHPPfbW|3w8@yx+5VtwhGy%;Hj5;Q zq_%~P7hGoevfOMr5Hv%iIk5SLt%ObUHA9lIvVntFLb%bf;Rj!8@f5LTS^rF~Zv3@-!N#iC z>G>Cem>FyiM6mg=G^n^Sv@tG_U}9Ku(twG<^wmwl$ot!_SK3Gao6o&AzL1oMj-OVL4)H8v<@?{&2i1Z@YqPx-w;m zhG1B-V@R$fF_=Uq7|b^q&?^{l2@rv%>t^6XD4hD9wt%-05Nj}K06Gb|5ya3!f-ua~ zKufFNfKzf}40x<$d z24(;Nz75n835E(ew?rf>hQwR|5C~}Sp)C~Oq)ahGE&IHei4g*$*=f=J`BOBBu7?6dxQurxSFi0gH(0zl!s}8#5Nyvai z=!&(qG=!^q64S0M$`?e1TM5j|fiwMLiRKYPAB&CP3IXi%{7hJiNF31tnP&L;sT4txzajfGCDphFJySdu^B0%w*t{;&jp#j!_7}Gu%07 zI$$+IWo-lkP-e?!?H+T~r$Hia${`1aUZia<2IAys$R001#SO1p z?Iyf>dK9-W`t>|UFT4L)Yo9yY`+Yj&FY7s{?Tnl8uTNEbeX*ziPWQgu{x&cYKvFOi z0C6xJz_>6n0dFvOM1V6cBRDe{#AYyU0XsHSqa-mmHRG1cHUm(>W|{^Sp6q(Jh_9nE zkwrdM?k?4}>i=#2kOWn${n1|T?R|f;Kca20*YyALG;g+bzX2b9cZh9zc+=@Qf4|{^ z+V?+OJDHDRfCvBqfMx-SfZPM2fw~9@gdiD#o1(_Cn)Df=gfa9Pbfee4>F6Bx1L;~U`(pVVMYXN6*7i|DU}UGwpmtmmCL#z zP8Jeg1{PNoJOq)T!wL4**aLhA(EnFKdiEnEIN{PGqr_LOYi6fgb0V^1*f50U3KCl4 z*3Dze|GRid2q}bK#_}IrTG_31;SM|eL^4U~;!2lA$j!yAn%CRYTh0FIrefND9H}IE zepjJC|NsB^nceZKYkz80l=O-v%w+2VwY&fS|NsC0bk#Gv<5d6c%{={;g~f_Ra{Oi% z1{SaX|Nl}50096uLi8jfguKFS8=@N0N<`Fzs#uO=Na{2~1wgnyaZqXvPLWYlY8Y8+ z8JVxyo0V0yRb7e}7!4i;L1Lh+8h7gjRtmTp4hVy*1zshn_wuJoolrFfrB46&D{Qgl LJ_^-LK}|(7yYjvx diff --git a/format/mpeg/testdata/mp3-frame-128000br-2ch-44100hz.fqtest b/format/mpeg/testdata/mp3-frame-128000br-2ch-44100hz.fqtest index 9c4af37b..9c75b13d 100644 --- a/format/mpeg/testdata/mp3-frame-128000br-2ch-44100hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-128000br-2ch-44100hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-128000br-2ch-48000hz b/format/mpeg/testdata/mp3-frame-128000br-2ch-48000hz index 93baf7079bdbe2d87b4d6feb6f695faf6b945f9d..a996c565d895c824c122f3db37e4d84b0c103c4a 100644 GIT binary patch literal 384 zcmV-`0e}Ag`;=rhjq@cQ#FuzL0000DAm9K23)pEAP5y#F00137_1B$fHJ}bDw6%x^*sdH)0#2f?#52ESkTza^l>4{Cn|*Q za+^k~xuP6Vk@XophBP(hqNpyeI+xPVrOIgl0|5{)5CZvt09_awjp>HQQUxxf`@~vZA?K;MKdljFfdhBRaI40RaI400E-|1U`z*Q1E9!YKo@2RBY0uS eR;L8pOkw0Y<^v&UWaXNWB3?mTh2Rtcqi3S7k)0j@ literal 384 zcmV-`0e}Ag`;=q=00JBcP`x~02mk;LAfNyN7V&#sxrqP}001U!SFy31OW^m58!|ytRH?*}}jlBSANh0YcM0UXjMz$XB$ zlPMb)%IpOQ1;{2QOGMn=gB%Mc4as#Rl3Hf$neh+{q#aRC3~Y)jNhPvp**6i0wFX`j z$j=B2iZqhg+}(}Ou&$1w3kpPXge)x7RFYItrhSuoZa{?uEYbukVU;4n=KtxvH>UBG zBEsez(s*3MnokVS=Kufy6p|ps6qf-20U-g@2qP76L5!vH3Qmd9 zIy979VOFq`1_1>nuO`tVM1!JGSQ-Y0f}qee9TI}WfuZ23;=$6Ov_$Y!^zl$yS_+=9 esBWk#{HSk&ugZq_D*UK#g0ISk_$vIUEKEUfSE&5} diff --git a/format/mpeg/testdata/mp3-frame-128000br-2ch-48000hz.fqtest b/format/mpeg/testdata/mp3-frame-128000br-2ch-48000hz.fqtest index 3ad0a6d6..4e5e2749 100644 --- a/format/mpeg/testdata/mp3-frame-128000br-2ch-48000hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-128000br-2ch-48000hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-128000br-2ch-8000hz b/format/mpeg/testdata/mp3-frame-128000br-2ch-8000hz index 86db0dbe9438ef50943616da274d20e0a01a41f9..31b7f33eba5befe28c6dcf054ed552158197af0c 100644 GIT binary patch literal 576 zcmezWxFe;?WaUE!hVwrd7#Ns67#kQE4r?yf47$SBAk-?hRXQvwKDX^`a_eKh#+`|{i zC9~!n=lT)oRO;E=XP*8n)i$!YCwi%&Ptdb9M$JqPj6Q)b3=CQ<%~vL^s>+^bS>*ZY pX1%FldCAuGLCFfoj#j8$wY{@>y;!@NsE?zstFfM;fkEhq1OO_g-MIh& literal 576 zcmezWxFdx@t;}4DF*(PAfq~hB0SFqWXym=$wCVK>w`9(;+g0xw^LSj0IkxwwZkxcW zxpvvtrfIMBj(_2jN?!adBO>`g!zE+)Wb+-HCr`APUYzJ`WFQz&%**a?ut2btT_V9q z#LVP)RPUV~smJ5qGc8G-5ap!eypnOoxXl&mCSu6rP%l2O4$$H?2b;(+wzHw6hVZ%m6Wd2`OVQDMg8G(L5q zlkYcF3OP9%9y@dWK!WQ00|lFX&RjjTx3-Um-?H+#?9BPUj?O7as64yAwwc-dM#ST^ zw8CwB|5z9lhp$=RR!-Np(xdYW?1ZBhMd_-?ZC?$W!GXI9S-H+vUq7#7nL zZab~SJ$19Sm+viSKi$2TD|3#Qrx&eqTWok;Szy!7N$!4ezn9Jlm}0CW!|6A$Lcqt-*VS0h(7<2_xp~y7R0{zBIAnE# literal 1044 zcmezW`@s7 zG|{+MV?xK-h`ydu=QoE-oP2zaiX8dl<>P$#%HbS?Gg^my4t|mH5k2tbv6(9Tsrin_?KBN4|z4$;gYP<=>uJz z9V`q~+?dQcS6NRjD6P2gs`A6(EBq2I;uo*w8KL z2oiiPTfXk=z1>%pmeeZ?b{t7ElxTlkxZ_TqxpeQb#}I)YH)TPXNYM|F5}=6CDbE_P zqNiW}&N+H#ZBItki$f=jd%AKjoV1zK^atae*T- zT0H7b6ApL?_OLkk9Lk9Iv1pDsA#_&aAqo;zRmIf@;t=u239%+ADzCsR?)CZqIG zI(J8odYYLF54XXB&0K=4a#D#5EOSmAILE1Te!2zx6JHH z?CoB`y=3?F;#cP)PYFmo5Qxz+@Hyrb@I*o&?a(rvDy~e!&xsSAO_jLi4)_I66)cax z8T{wJgn`mRudmype=#W-I516M=azWb*&-rwQKDr6PhE2AF)_XrMxz;N#!;qHtG&IW zW{4OlGwR=LYgn;KM9i^k^|rqLX98XVO^Huh6xrN#G=cb$LLkIo%7LSkCLDFXl5;96_Bpz~|*PXpP5N(Qxut{C(koNDm4d8JXU-fa8zA19ca zcyk#3I=ahXj-#-F&cRB9Sxxc=1&mt_G8;S@8CP9T5?d=%y0l$abIz5GwP`#$GcL*G zA6jaX{U&$i#0{6fmUUd%E;>E!_D%B(>peo>Wh>@8zRQ@l>~z$}E!o-Jx2}FRnR_O) zWm-$m@z8gwu~UVzb6ch~7X@i9pOpH|x%_g=Ms>BX0=bK>ZCknI!KqEH*DWq>Of|XM zt$DQW-W^TdLg)7Rb>Uo-L>FyYsGW4@xuna_(u;aGBMnw8zj9y(lgNR~Odbb)m~#%* zvNs%0(_{Jb%4)_5C3crXwTu%EvN1*+Fk(tLAjMR2z!XSlFbc>p_++hmFVkzw zVqudM?n!|2o`suO>$ZZk{x2YvfLQ pX7iin=j3b+SxrUG>^O4Z&?+KuQl?|&9001E_Gb{iA literal 960 zcmezW`^gao2Hn=jT%~s!_%FL8HQOIxU_7ln;q7mkmz6sAL`{wdJ-C&*;=|exzt{cv z;bZYk^~XiSk|TmgPJViGM(D|@OC={R{yFxs<)|Rf;ewtQ756%xt$4HH)r?0KHv-Nn z@F-@S)=TV4?n~}UY>M0xocgw~O+`sdX;G4nd*PMknW_JEEi+FaTlT^F#gQj(78(jE zCfN%_z4vH&F=2P!pM46;I9POUG2E=N*KWIY>+muwJ~d{6a{1$mZ5m82;=M}OtgX{? z-j=VBa-H6&BqCU*cl5?eVL>GUwuxDM8?RR#UR8Q;;}yXqy<-LEBoFh%b_+UQwR#WK zF?YjPkVKH)QI?Rdi9u>gO$xtUmsu?jc{Mk9g;etrrz8!fB_J6MrY4oB;nTLLp6p>wtg+O9Iaf*@RCsq#5>0Y}l8&sB`+kM+ci7FYwfB z8x@uuT(nrUv&W3r@CMHsj+Ez(bMHD_d)ej2z%a9wDNUHExhvBsF|}}3xPxnFD|2Fi zVUxo#PB!r=2Nwu5-kQkFa=0}y#c=v%Hy)3Uvu@#z5)4cU3|g7u8r!^GtC|{<4u10z zV3y*X5%7&sThir8Vsm8UiDTYIN~?q-g&Nh2n|4QK<{xX!)2unxkXv%t^)g#uPhW(= zN1ua_nH4AZ*m#Dl-z=0Kz-^hmQN`Tpdnxaw+>>5k9vjSJbaK?|%P(dc5EvX=|lOgelu}~9(%Y-J$jsp#g zJS_Tr9DQAl^$ZORRw01V#9oU@g_gI>%^tEFMC>q`>tvF%fqP0?n~qw~(zc#OZM}=x Yn&+^E_BuSYIn?mw@Pj*t9(=h200I5KYXATM diff --git a/format/mpeg/testdata/mp3-frame-320000br-1ch-48000hz.fqtest b/format/mpeg/testdata/mp3-frame-320000br-1ch-48000hz.fqtest index 4c96aef7..11ea7069 100644 --- a/format/mpeg/testdata/mp3-frame-320000br-1ch-48000hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-320000br-1ch-48000hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-320000br-1ch-8000hz b/format/mpeg/testdata/mp3-frame-320000br-1ch-8000hz index 99faea13cdcded3ffc9bd1073334d2911b0a00ec..ae1eb58e89e001fbff8a02b0ccff3f3b8656cae9 100644 GIT binary patch literal 576 zcmezWxZ{XZM)4sA#`zx@_9V&jWz}{XzsXuL|4sr^LrJ11b3*O%wJ%bNSVesjK6Nlv z>BRm@{@>P=dS=zK)tq%1Z>BHPPfbW|3w8@yx+5VtwhGy%;Hj5;Q zq_%~P7hGoevfOMr5Hv%iIk5SLt%ObUHA9lIvVntFLb%bf;Rj!8@f5LTS^rF~Zv3@-!N#iC z>G>Cem>FyiM6mg=G^n^Sv@tG_U}9Ku(twG<^wmwl$ot!_SK3Gao6o&AzL1oMj-OVL4)H8v<@?{&2i1Z@YqPx-w;m zhG1B-V@R$fF_=Uq7|b^q&?^{l2@rv%>t^6XD4hD9wt%-05Nj}K06Gb|5ya3!f-ua~ zKufFNfKzf}40x<$d z24(;Nz75n835E(ew?rf>hQwR|5C~}Sp)C~Oq)ahGE&IHei4g*$*=f=J`BOBBu7?6dxQurxSFi0gH(0zl!s}8#5Nyvai z=!&(qG=!^q64S0M$`?e1TM5j|fiwMLiRKYPAB&CP3IXi%{7hJiNF31tnP&L;sT4txzajfGCDphFJySdu^B0%w*t{;&jp#j!_7}Gu%07 zI$$+IWo-lkP-e?!?H+T~r$Hia${`1aUZia<2IAys$RCA4Hp(mdGBC4%@fc{l?1AViFdYxmL(cX89xO%(_R+naxC)nTds6_0Q*xlDCeT z^{$QKYn{LFYvl6g$9#dUk0YE#46+>8eCEEn_~>!o;I7IkM}3d$UH7_hZQ94ca-rF0 zuJT^`)lyZL`1V+_;jGQ~Hiruud*1cuOh0;d^;gr-V0)wYd#3-cIv%!~*X&RK>K(~j zrUURUAeZk?m;w{%V zY*}+%S$xjnbsQPr&5BD8`mT9pw$A55`eZH!k-L9-PqVVV?){-~iE(4Enwi6aA2vK4 zU3O3WDh?J*d=MbDVvhBOo{wy;r#YP`7JSLHoM3xwO2k^Z=kp5sS~Yv71sZP+FIlUi zwq0B2eOb;Hwadn3)6I|Pv%K8uZ5Qh^Kksm2@WfjRD=u!aTylF`pX9Ww-S6UMeZSwE zWpCv8<450GMNQou9(A{8@2E_*V(0C%jI{Zf*`c{&S?V!0HqlUe0Ut+SS7SXx0|R#)CI$vxg#`?Zc5eC-l5ZOr7#K{NfrJciecai?a9>LYpOx%q z>YRBS%J>92`23_e!bO~k2{WRn#^OcWQv<|;jStmsEoDQG-=W?QB6%v)h{qG1qNUOUtj`L zND%q<5@;w0=mcK|g6H!pF9m@>Vw>3K_5S$=9}WP6gW&@Zz!;y!i?$gqe7%@k;hd4? zc4w7OMTR|Ki60jY441UbWL$W?bB>S?B4UnRtGD&_ zKNIj1Xi9w2qR8f^qY)&)lfHoe> zYx_)go!b5%2yXeA_@p&9biSLPu%IkuX@|v?nDSQN=ToI@jQm0JeDVex7X(AA83|H8j=rwOdWHrDtA;560JHA-P5=M^ diff --git a/format/mpeg/testdata/mp3-frame-320000br-2ch-44100hz.fqtest b/format/mpeg/testdata/mp3-frame-320000br-2ch-44100hz.fqtest index 0d47fc98..2343c83b 100644 --- a/format/mpeg/testdata/mp3-frame-320000br-2ch-44100hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-320000br-2ch-44100hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-320000br-2ch-48000hz b/format/mpeg/testdata/mp3-frame-320000br-2ch-48000hz index 58fe75d7a7021de613d1d5a3f201fbb9f6d2c58c..15abe4d282a65b6898e97a7848b6304c5934ad3a 100644 GIT binary patch literal 960 zcmezW`$-B{$M@{Y{p__0ObiUX3J(|tusXStxJ(JPzvWusZK66XT zl~NTiqtu5@FIRc-sI{zOI&mW0VUe+xR77$`k7^2p&uMy?<7bnYUTygj1_; z9r~!Vt4t$Kamk&R%PYIIY~JlQd+B%McJbVg)7s{QPp@2jOKW@NCYL+K%geK`+TCCK g{q2*#K90Vw#(IVZ2CGKF$O(Z09!>+N9wvo+0NRripa1{> literal 960 zcmezW`$-A|14l-oOKUj;69WUU!U6_H8$D$)$#)DuVA2dE%$CkJ{TpcFv(w;BlJU+I zb1pWEReBbNM@%bj7^P?%qiZll)*yt_OyW#)Fz-1tjSI;F z+#PedWgRZYGQ6;xm@T{h@W+nCHO6fP*JV$p_OF+2d-&td{$1yH1O-JrdwnV5S>?YC zOO`J`|G)D3@+C_S^B5eOG-=+vdzH`Q=FOWlX)=#iP*70tWhl4=V7n(2 zB+UbZ`8ID7gCnT!S-n3F7e&VMAT=h^E-)_DmR9`+n}laQKWqmwMSu#NSZ zAcw@BnE&=ys3AMb+q8T|RJVv2Z(&i8zO-#1wdNZ>5b)%qxSYFY;fp8h_WlxouQ~nw z7XABBsTnOYi3>a|{i zC9~!n=lT)oRO;E=XP*8n)i$!YCwi%&Ptdb9M$JqPj6Q)b3=CQ<%~vL^s>+^bS>*ZY pX1%FldCAuGLCFfoj#j8$wY{@>y;!@NsE?zstFfM;fkEhq1OO_g-MIh& literal 576 zcmezWxFdx@t;}4DF*(PAfq~hB0SFqWXym=$wCVK>w`9(;+g0xw^LSj0IkxwwZkxcW zxpvvtrfIMBj(_2jN?!adBO>`g!zE+)Wb+-HCr`APUYzJ`WFQz&%**a?ut2btT_V9q z#LVP)RPUV~smJ5qGc8G-5ap!eypnOoxXl&mCSu6rP%l2O4$$H?2b;(+wzHw6hVZ%m6Wd2`OVQDMg8G(L5q zlkYcF3OP9%9y@dWK!WQ00|lFX&RjjTx3-Um-?H+#?9BPUj?O7as64yAwwc-dM#ST^ zw8CwB|5z9lhp$A|2oWD5C@-!LMjY2LO~r1BL(~WM=NzCRT$UVTcZ<3P5IH zG6cp1AUt470>$F$RRb|Yjaw7N@WcdbO~19I+f-}JK>{%M*ETLqQv+9w$&X-?`~lC; Ldetz{;|?7$E@mo= literal 104 zcmV-u0GI#&`w+wc00e*~JT-uT7^;hD!!&>ZKnqS>v{QN3fDlGw8H8U3p8vUSTmKKn z>Ft030028M^Z(!oQlVNAfeVDjMo?2(P}PfO02>a6qgZC>!-}-vq)4#cppG3L-!x>| Kq?%Ghi71Bk8ZFHL diff --git a/format/mpeg/testdata/mp3-frame-8000br-1ch-44100hz.fqtest b/format/mpeg/testdata/mp3-frame-8000br-1ch-44100hz.fqtest index 7df2c94d..ada7b085 100644 --- a/format/mpeg/testdata/mp3-frame-8000br-1ch-44100hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-8000br-1ch-44100hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-8000br-1ch-48000hz b/format/mpeg/testdata/mp3-frame-8000br-1ch-48000hz index 7145deb086a335ca9243c9ff8b503bbacb49f68e..7d2dc9326e71a8943dadc65882614d2820c281be 100644 GIT binary patch literal 96 zcmV-m0H6Q=`xL|i1H?=nCLPcKAd`dR0l#ESAP^>D06t_TrhcvfX_+izD1Z=7L4e9(A^?YQ0YrpJgHi(-4(0k)FgSQnh6qGn CH6Y~x literal 96 zcmV-m0H6Q=`xL|g00a~-Iu(I{2$qU16CRKNF^mi}e|?K^WKpq(q8CBemAh_R{}0CL z?V=z800`)KcmRR@|Nr;!i4{jYa<fXS~9RT}!Fh6^rd%.~.| 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) diff --git a/format/mpeg/testdata/mp3-frame-8000br-1ch-8000hz b/format/mpeg/testdata/mp3-frame-8000br-1ch-8000hz index 5a02cd2f4f5f74a265b34afd446b9c8c3705526b..f0905958707a89a64c8bb82d6497ea14fa1f876d 100644 GIT binary patch literal 72 zcmezWSmFp9U%{s-j8g&_9?#MaJSDLGN9049#(M^AHY#(N_j$NYl4Ez$m~+U3r_m)$ Z&`JCM3HQa9`;>(Kw=^!)ypZ`H0sw~4BNzYx literal 72 zcmV-O0Js1D;~2yM43Lh&xCl%PWB{Gp{vVj%AOq$J%>Z7IDrLEBFoJ4At4%3%gh1wl?tc!; Lh|v%dStuIt6JaRy literal 104 zcmezWTOfsjfuW4$hAIyO7Xt&Y!U6_H76bdV8DD_H3?|JWk|Fqp_0A&<0{#59zYYMo z|NlRDz~RK}#PV~?$Aghqw;4^opy%Vuz3IG5NAm9K20lX7L0q+24001OU@_qCGmJrxYvi{%dXk;g*!ynbF!TN$ZEpG=-R3BY?6wH)M;ifA4gvRJ{cY* diff --git a/format/mpeg/testdata/mp3-frame-8000br-2ch-48000hz.fqtest b/format/mpeg/testdata/mp3-frame-8000br-2ch-48000hz.fqtest index cab7345a..1ac474a8 100644 --- a/format/mpeg/testdata/mp3-frame-8000br-2ch-48000hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-8000br-2ch-48000hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame-8000br-2ch-8000hz b/format/mpeg/testdata/mp3-frame-8000br-2ch-8000hz index a70f75dafbdda1109bbfce2d6501a15d23265458..aed9a8ac7c14ac6988a7249f5c328ae8696c3fd6 100644 GIT binary patch literal 72 zcmezWSRzG?&7?R;;FJgh0|T=MV*`*1Yin7?HsQs4Mh5{F4;#7vpSn6anwHm36_ktm c|Np;{zO+d5H*PnE2^%EL4zQ_lG90h~0EccFy8r+H literal 72 zcmezWSR#dic@1Nw4vP{a0|T=M0}xCyky)I;U@zSMibXc^&+=sw*Zv6n|31A#U94X7 c@T-jrc(!oNXX_8++NH#Is%gQh#s$|(0b{Hi%K!iX diff --git a/format/mpeg/testdata/mp3-frame-8000br-2ch-8000hz.fqtest b/format/mpeg/testdata/mp3-frame-8000br-2ch-8000hz.fqtest index 24814945..adbf0d1d 100644 --- a/format/mpeg/testdata/mp3-frame-8000br-2ch-8000hz.fqtest +++ b/format/mpeg/testdata/mp3-frame-8000br-2ch-8000hz.fqtest @@ -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) diff --git a/format/mpeg/testdata/mp3-frame.sh b/format/mpeg/testdata/mp3-frame.sh index 18f8b519..fe95519c 100644 --- a/format/mpeg/testdata/mp3-frame.sh +++ b/format/mpeg/testdata/mp3-frame.sh @@ -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 diff --git a/format/mpeg/testdata/mp3-frame_size_calc b/format/mpeg/testdata/mp3-frame_size_calc new file mode 100644 index 0000000000000000000000000000000000000000..e0d56e24be53f4d2836a87ddaa91e76746cc0f79 GIT binary patch literal 504 zcmezWyCa2x{R0C-eFFmn2Ll7I0s{jhgA1e40tN;R1_l$LD2wyXRX&csuEu(X1_rB0 p1?RRXQlOhu+gA0H?^06ia$sQjkaQJpS18Sa7ThjUoQYFy006QV29W>& literal 0 HcmV?d00001 diff --git a/format/mpeg/testdata/mp3-frame_size_calc.fqtest b/format/mpeg/testdata/mp3-frame_size_calc.fqtest new file mode 100644 index 00000000..4964e807 --- /dev/null +++ b/format/mpeg/testdata/mp3-frame_size_calc.fqtest @@ -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)