summaryrefslogtreecommitdiff
path: root/libavcodec/wmadata.h
blob: 641cb1813cc616d4b25395ec2fd748fe7bad457d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
/*
 * WMA compatible decoder
 * copyright (c) 2002 The FFmpeg Project
 *
 * This file is part of FFmpeg.
 *
 * FFmpeg is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * FFmpeg is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with FFmpeg; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */

/**
 * @file
 * Various WMA tables.
 */

#ifndef AVCODEC_WMADATA_H
#define AVCODEC_WMADATA_H

#include <stdint.h>

#include "wma.h"

/* first value is number of bands */
static const uint8_t exponent_band_22050[3][25] = {
    { 10,  4,  8,  4,  8,  8, 12, 20, 24, 24, 16, },
    { 14,  4,  8,  8,  4, 12, 12, 16, 24, 16, 20, 24, 32, 40, 36, },
    { 23,  4,  4,  4,  8,  4,  4,  8,  8,  8,  8,  8, 12, 12, 16, 16,
      24, 24, 32, 44, 48, 60, 84, 72, },
};

static const uint8_t exponent_band_32000[3][25] = {
    { 11, 4, 4, 8, 4,  4, 12, 16, 24, 20, 28,  4, },
    { 15, 4, 8, 4, 4,  8,  8, 16, 20, 12, 20, 20, 28, 40, 56, 8, },
    { 16, 8, 4, 8, 8, 12, 16, 20, 24, 40, 32, 32, 44, 56, 80, 112, 16, },
};

static const uint8_t exponent_band_44100[3][25] = {
    { 12, 4, 4, 4, 4,  4,  8, 8, 8, 12, 16, 20, 36, },
    { 15, 4, 8, 4, 8,  8,  4, 8, 8, 12, 12, 12, 24, 28, 40, 76, },
    { 17, 4, 8, 8, 4, 12, 12, 8, 8, 24, 16, 20, 24, 32, 40, 60, 80, 152, },
};

const uint16_t ff_wma_hgain_huffcodes[37] = {
    0x00003, 0x002e7, 0x00001, 0x005cd, 0x0005d, 0x005c9, 0x0005e, 0x00003,
    0x00016, 0x0000b, 0x00001, 0x00006, 0x00001, 0x00006, 0x00004, 0x00005,
    0x00004, 0x00007, 0x00003, 0x00007, 0x00004, 0x0000a, 0x0000a, 0x00002,
    0x00003, 0x00000, 0x00005, 0x00002, 0x0005f, 0x00004, 0x00003, 0x00002,
    0x005c8, 0x000b8, 0x005ca, 0x005cb, 0x005cc,
};

const uint8_t ff_wma_hgain_huffbits[37] = {
    10, 12, 10, 13,  9, 13, 9, 8, 7,  5, 5,  4, 4, 3, 3, 3,
     4,  3,  4,  4,  5,  5, 6, 8, 7, 10, 8, 10, 9, 8, 9, 9,
    13, 10, 13, 13, 13,
};

const float ff_wma_lsp_codebook[NB_LSP_COEFS][16] = {
    {  1.98732877,  1.97944528,  1.97179088,  1.96260549,  1.95038374,  1.93336114,  1.90719232,  1.86191415, },
    {  1.97260000,  1.96083160,  1.94982586,  1.93806164,  1.92516608,  1.91010199,  1.89232331,  1.87149812,
       1.84564818,  1.81358067,  1.77620070,  1.73265264,  1.67907855,  1.60959081,  1.50829650,  1.33120330, },
    {  1.90109110,  1.86482426,  1.83419671,  1.80168452,  1.76650116,  1.72816320,  1.68502700,  1.63738256,
       1.58501580,  1.51795181,  1.43679906,  1.33950585,  1.24176208,  1.12260729,  0.96749668,  0.74048265, },
    {  1.76943864,  1.67822463,  1.59946365,  1.53560582,  1.47470796,  1.41210167,  1.34509536,  1.27339507,
       1.19303814,  1.09765169,  0.98818722,  0.87239446,  0.74369172,  0.59768184,  0.43168630,  0.17977021, },
    {  1.43428349,  1.32038354,  1.21074086,  1.10577988,  1.00561746,  0.90335924,  0.80437489,  0.70709671,
       0.60427395,  0.49814048,  0.38509539,  0.27106800,  0.14407416,  0.00219910, -0.16725141, -0.36936085, },
    {  0.99895687,  0.84188166,  0.70753739,  0.57906595,  0.47055563,  0.36966965,  0.26826648,  0.17163380,
       0.07208392, -0.03062936, -1.40037388, -0.25128968, -0.37213937, -0.51075646, -0.64887512, -0.80308031, },
    {  0.26515280,  0.06313551, -0.08872080, -0.21103548, -0.31069678, -0.39680323, -0.47223474, -0.54167135,
      -0.61444740, -0.68943343, -0.76580211, -0.85170082, -0.95289061, -1.06514703, -1.20510707, -1.37617746, },
    { -0.53940301, -0.73770929, -0.88424876, -1.01117930, -1.13389091, -1.26830073, -1.42041987, -1.62033919,
      -1.10158808, -1.16512566, -1.23337128, -1.30414401, -1.37663312, -1.46853845, -1.57625798, -1.66893638, },
    { -0.38601997, -0.56009350, -0.66978483, -0.76028471, -0.83846064, -0.90868087, -0.97408881, -1.03694962, },
    { -1.56144989, -1.65944032, -1.72689685, -1.77857740, -1.82203011, -1.86220079, -1.90283983, -1.94820479, },
};

static const uint32_t coef0_huffcodes[666] = {
    0x00258, 0x0003d, 0x00000, 0x00005, 0x00008, 0x00008, 0x0000c, 0x0001b,
    0x0001f, 0x00015, 0x00024, 0x00032, 0x0003a, 0x00026, 0x0002c, 0x0002f,
    0x0004a, 0x0004d, 0x00061, 0x00070, 0x00073, 0x00048, 0x00052, 0x0005a,
    0x0005d, 0x0006e, 0x00099, 0x0009e, 0x000c1, 0x000ce, 0x000e4, 0x000f0,
    0x00093, 0x0009e, 0x000a2, 0x000a1, 0x000b8, 0x000d2, 0x000d3, 0x0012e,
    0x00130, 0x000de, 0x0012d, 0x0019b, 0x001e4, 0x00139, 0x0013a, 0x0013f,
    0x0014f, 0x0016d, 0x001a2, 0x0027c, 0x0027e, 0x00332, 0x0033c, 0x0033f,
    0x0038b, 0x00396, 0x003c5, 0x00270, 0x0027c, 0x0025a, 0x00395, 0x00248,
    0x004bd, 0x004fb, 0x00662, 0x00661, 0x0071b, 0x004e6, 0x004ff, 0x00666,
    0x0071c, 0x0071a, 0x0071f, 0x00794, 0x00536, 0x004e2, 0x0078e, 0x004ee,
    0x00518, 0x00535, 0x004fb, 0x0078d, 0x00530, 0x00680, 0x0068f, 0x005cb,
    0x00965, 0x006a6, 0x00967, 0x0097f, 0x00682, 0x006ae, 0x00cd0, 0x00e28,
    0x00f13, 0x00f1f, 0x009f5, 0x00cd3, 0x00f11, 0x00926, 0x00964, 0x00f32,
    0x00f12, 0x00f30, 0x00966, 0x00d0b, 0x00a68, 0x00b91, 0x009c7, 0x00b73,
    0x012fa, 0x0131d, 0x013f9, 0x01ca0, 0x0199c, 0x01c7a, 0x0198c, 0x01248,
    0x01c74, 0x01c64, 0x0139e, 0x012fd, 0x00a77, 0x012fc, 0x01c7b, 0x012ca,
    0x014cc, 0x014d2, 0x014e3, 0x014dc, 0x012dc, 0x03344, 0x02598, 0x0263c,
    0x0333b, 0x025e6, 0x01a1c, 0x01e3c, 0x014e2, 0x033d4, 0x01a11, 0x03349,
    0x03cce, 0x014e1, 0x01a34, 0x0273e, 0x02627, 0x0273f, 0x038ee, 0x03971,
    0x03c67, 0x03c61, 0x0333d, 0x038c2, 0x0263f, 0x038cd, 0x02638, 0x02e41,
    0x0351f, 0x03348, 0x03c66, 0x03562, 0x02989, 0x027d5, 0x0333c, 0x02e4f,
    0x0343b, 0x02ddf, 0x04bc8, 0x029c0, 0x02e57, 0x04c72, 0x025b7, 0x03547,
    0x03540, 0x029d3, 0x04c45, 0x025bb, 0x06600, 0x04c73, 0x04bce, 0x0357b,
    0x029a6, 0x029d2, 0x0263e, 0x0298a, 0x07183, 0x06602, 0x07958, 0x04b66,
    0x0537d, 0x05375, 0x04fe9, 0x04b67, 0x0799f, 0x04bc9, 0x051fe, 0x06a3b,
    0x05bb6, 0x04fa8, 0x0728f, 0x05376, 0x0492c, 0x0537e, 0x0795a, 0x06a3c,
    0x0e515, 0x07887, 0x0683a, 0x051f9, 0x051fd, 0x0cc6a, 0x06a8a, 0x0cc6d,
    0x05bb3, 0x0683b, 0x051fc, 0x05378, 0x0728e, 0x07886, 0x05bb7, 0x0f2a4,
    0x0795b, 0x0683c, 0x09fc1, 0x0683d, 0x0b752, 0x09678, 0x0a3e8, 0x06ac7,
    0x051f0, 0x0b759, 0x06af3, 0x04b6b, 0x0f2a0, 0x0f2ad, 0x096c3, 0x0e518,
    0x0b75c, 0x0d458, 0x0cc6b, 0x0537c, 0x067aa, 0x04fea, 0x0343a, 0x0cc71,
    0x0967f, 0x09fc4, 0x096c2, 0x0e516, 0x0f2a1, 0x0d45c, 0x0d45d, 0x0d45e,
    0x12fb9, 0x0967e, 0x1982f, 0x09883, 0x096c4, 0x0b753, 0x12fb8, 0x0f2a8,
    0x1ca21, 0x096c5, 0x0e51a, 0x1ca27, 0x12f3c, 0x0d471, 0x0f2aa, 0x0b75b,
    0x12fbb, 0x0f2a9, 0x0f2ac, 0x0d45a, 0x0b74f, 0x096c8, 0x16e91, 0x096ca,
    0x12fbf, 0x0d0a7, 0x13103, 0x0d516, 0x16e99, 0x12cbd, 0x0a3ea, 0x19829,
    0x0b755, 0x29ba7, 0x1ca28, 0x29ba5, 0x16e93, 0x1982c, 0x19828, 0x25994,
    0x0a3eb, 0x1ca29, 0x16e90, 0x1ca25, 0x1982d, 0x1ca26, 0x16e9b, 0x0b756,
    0x0967c, 0x25997, 0x0b75f, 0x198d3, 0x0b757, 0x19a2a, 0x0d45b, 0x0e517,
    0x1ca24, 0x1ca23, 0x1ca22, 0x0b758, 0x16e97, 0x0cd14, 0x13100, 0x00007,
    0x0003b, 0x0006b, 0x00097, 0x00138, 0x00125, 0x00173, 0x00258, 0x00335,
    0x0028e, 0x004c6, 0x00715, 0x00729, 0x004ef, 0x00519, 0x004ed, 0x00532,
    0x0068c, 0x00686, 0x00978, 0x00e5d, 0x00e31, 0x009f4, 0x00b92, 0x012f8,
    0x00d06, 0x00a67, 0x00d44, 0x00a76, 0x00d59, 0x012cd, 0x01c78, 0x01c75,
    0x0199f, 0x0198f, 0x01c67, 0x014c6, 0x01c79, 0x01c76, 0x00b94, 0x00d1b,
    0x01e32, 0x01e31, 0x01ab0, 0x01a05, 0x01aa1, 0x0333a, 0x025e5, 0x02626,
    0x03541, 0x03544, 0x03421, 0x03546, 0x02e55, 0x02e56, 0x0492d, 0x02dde,
    0x0299b, 0x02ddc, 0x0357a, 0x0249c, 0x0668b, 0x1c77f, 0x1ca20, 0x0d45f,
    0x09886, 0x16e9a, 0x0f2a7, 0x0b751, 0x0a3ee, 0x0cf59, 0x0cf57, 0x0b754,
    0x0d0a6, 0x16e98, 0x0b760, 0x06ac6, 0x0a3f0, 0x12fbe, 0x13104, 0x0f2a5,
    0x0a3ef, 0x0d472, 0x12cba, 0x1982e, 0x16e9c, 0x1c77e, 0x198d0, 0x13105,
    0x16e92, 0x0b75d, 0x0d459, 0x0001a, 0x000c0, 0x0016c, 0x003cd, 0x00350,
    0x0067b, 0x0051e, 0x006a9, 0x009f4, 0x00b72, 0x00d09, 0x01249, 0x01e3d,
    0x01ca1, 0x01a1f, 0x01721, 0x01a8a, 0x016e8, 0x03347, 0x01a35, 0x0249d,
    0x0299a, 0x02596, 0x02e4e, 0x0298b, 0x07182, 0x04c46, 0x025ba, 0x02e40,
    0x027d6, 0x04fe8, 0x06607, 0x05310, 0x09884, 0x072e1, 0x06a3d, 0x04b6a,
    0x04c7a, 0x06603, 0x04c7b, 0x03428, 0x06605, 0x09664, 0x09fc0, 0x071de,
    0x06601, 0x05bb2, 0x09885, 0x0a3e2, 0x1c61f, 0x12cbb, 0x0b750, 0x0cf58,
    0x0967d, 0x25995, 0x668ad, 0x0b75a, 0x09fc2, 0x0537f, 0x0b75e, 0x13fae,
    0x12fbc, 0x00031, 0x001c4, 0x004c5, 0x005b8, 0x00cf4, 0x0096f, 0x00d46,
    0x01e57, 0x01a04, 0x02625, 0x03346, 0x028f9, 0x04c47, 0x072e0, 0x04b69,
    0x03420, 0x07957, 0x06639, 0x0799e, 0x07959, 0x07881, 0x04b68, 0x09fc3,
    0x09fd6, 0x0cc70, 0x0a3f1, 0x12cbe, 0x0e30e, 0x0e51b, 0x06af2, 0x12cbc,
    0x1c77d, 0x0f2ab, 0x12fbd, 0x1aa2f, 0x0a3ec, 0x0d473, 0x05377, 0x0a3e9,
    0x1982b, 0x0e300, 0x12f3f, 0x0cf5f, 0x096c0, 0x38c3c, 0x16e94, 0x16e95,
    0x12f3d, 0x29ba4, 0x29ba6, 0x1c77c, 0x6a8ba, 0x3545c, 0x33457, 0x668ac,
    0x6a8bb, 0x16e9d, 0x0e519, 0x25996, 0x12f3e, 0x00036, 0x0033e, 0x006ad,
    0x00d03, 0x012c8, 0x0124a, 0x03c42, 0x03ccd, 0x06606, 0x07880, 0x06852,
    0x06a3a, 0x05bb4, 0x0f2a2, 0x09fc7, 0x12cb9, 0x0cc6c, 0x0a6e8, 0x096c1,
    0x0004a, 0x00355, 0x012f9, 0x014e8, 0x01abe, 0x025b6, 0x0492e, 0x09fc6,
    0x051ff, 0x0cc6f, 0x096cb, 0x0d071, 0x198d1, 0x12cb8, 0x38c3d, 0x13faf,
    0x096c9, 0x0009d, 0x00539, 0x012ce, 0x0341f, 0x029c1, 0x04b33, 0x0a3e3,
    0x0d070, 0x16e96, 0x0b763, 0x000a0, 0x009ce, 0x038cc, 0x0343d, 0x051fa,
    0x09888, 0x12fba, 0x000df, 0x00a75, 0x029a7, 0x09fc5, 0x0e301, 0x0967b,
    0x001e7, 0x012c9, 0x051fb, 0x09889, 0x0f2a6, 0x0016f, 0x01cb9, 0x0cf5a,
    0x12cbf, 0x09679, 0x00272, 0x01a15, 0x0967a, 0x003cb, 0x025f6, 0x0b762,
    0x0028d, 0x03c60, 0x0cf5e, 0x00352, 0x03ccc, 0x0072f, 0x07186, 0x004ec,
    0x05379, 0x0068e, 0x09887, 0x006a7, 0x06af1, 0x00e29, 0x0cf5b, 0x00f31,
    0x0d470, 0x009c6, 0x013fb, 0x13102, 0x019a5, 0x13101, 0x01983, 0x01c65,
    0x0124f, 0x014c7, 0x01726, 0x01abf, 0x03304, 0x02624, 0x03c41, 0x027d7,
    0x02ddd, 0x02e54, 0x0343c, 0x06604, 0x07181, 0x0663a, 0x04fa9, 0x0663b,
    0x05311, 0x0537a, 0x06839, 0x05bb5, 0x0492f, 0x06af0, 0x096c7, 0x0cc6e,
    0x0537b, 0x0cf5c, 0x0cf56, 0x198d2, 0x0cf5d, 0x0a3ed, 0x0f2a3, 0x1982a,
    0x0b761, 0x096c6,
};

static const uint8_t coef0_huffbits[666] = {
    11,  6,  2,  3,  4,  5,  5,  5,
     5,  6,  6,  6,  6,  7,  7,  7,
     7,  7,  7,  7,  7,  8,  8,  8,
     8,  8,  8,  8,  8,  8,  8,  8,
     9,  9,  9,  9,  9,  9,  9,  9,
     9,  9,  9,  9,  9, 10, 10, 10,
    10, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 10, 11, 11, 11, 10, 11,
    11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 12, 12, 11, 12,
    12, 12, 12, 11, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 13, 13, 12,
    12, 12, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 14,
    13, 13, 13, 13, 13, 13, 13, 14,
    14, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 13, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 14, 14, 15,
    15, 14, 14, 15, 15, 15, 14, 15,
    15, 15, 15, 15, 15, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 15, 15,
    15, 15, 14, 15, 15, 15, 15, 16,
    16, 16, 15, 16, 15, 15, 16, 16,
    16, 16, 15, 16, 16, 16, 15, 16,
    16, 15, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 16, 15, 15, 16, 16,
    15, 16, 16, 16, 17, 17, 17, 16,
    16, 17, 16, 16, 16, 16, 17, 16,
    17, 17, 16, 16, 15, 15, 15, 16,
    17, 16, 17, 16, 16, 17, 17, 17,
    17, 17, 17, 16, 17, 17, 17, 16,
    17, 17, 16, 17, 17, 17, 16, 17,
    17, 16, 16, 17, 17, 17, 18, 17,
    17, 17, 17, 17, 18, 18, 17, 17,
    17, 19, 17, 19, 18, 17, 17, 18,
    17, 17, 18, 17, 17, 17, 18, 17,
    17, 18, 17, 17, 17, 17, 17, 16,
    17, 17, 17, 17, 18, 16, 17,  4,
     6,  8,  9,  9, 10, 10, 10, 10,
    11, 11, 11, 11, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 14, 13, 13, 13, 13,
    13, 13, 14, 14, 14, 14, 14, 14,
    15, 15, 15, 15, 15, 15, 16, 15,
    15, 15, 15, 15, 15, 17, 17, 17,
    16, 18, 16, 17, 17, 16, 16, 17,
    17, 18, 17, 16, 17, 17, 17, 16,
    17, 17, 18, 17, 18, 17, 17, 17,
    18, 17, 17,  5,  8, 10, 10, 11,
    11, 12, 12, 12, 13, 13, 14, 13,
    13, 14, 14, 14, 14, 14, 14, 15,
    15, 15, 15, 15, 15, 15, 15, 15,
    15, 15, 15, 16, 16, 15, 16, 16,
    15, 15, 15, 15, 15, 16, 16, 15,
    15, 16, 16, 17, 17, 18, 17, 16,
    17, 18, 19, 17, 16, 16, 17, 17,
    17,  6,  9, 11, 12, 12, 13, 13,
    13, 14, 14, 14, 15, 15, 15, 16,
    15, 15, 15, 15, 15, 15, 16, 16,
    16, 16, 17, 18, 16, 16, 16, 18,
    17, 16, 17, 18, 17, 17, 16, 17,
    17, 16, 17, 16, 17, 18, 18, 18,
    17, 19, 19, 17, 20, 19, 18, 19,
    20, 18, 16, 18, 17,  7, 10, 12,
    13, 13, 14, 14, 14, 15, 15, 16,
    16, 16, 16, 16, 18, 16, 17, 17,
     8, 11, 13, 14, 14, 15, 16, 16,
    16, 16, 17, 17, 17, 18, 18, 17,
    17,  8, 12, 14, 15, 15, 15, 17,
    17, 18, 17,  9, 12, 14, 15, 16,
    16, 17,  9, 13, 15, 16, 16, 17,
     9, 13, 16, 16, 16, 10, 13, 16,
    18, 17, 10, 14, 17, 10, 14, 17,
    11, 14, 16, 11, 14, 11, 15, 12,
    16, 12, 16, 12, 16, 12, 16, 12,
    17, 13, 13, 17, 13, 17, 13, 13,
    14, 14, 14, 14, 14, 14, 14, 15,
    15, 15, 15, 15, 15, 15, 16, 15,
    16, 16, 16, 16, 16, 16, 17, 16,
    16, 16, 16, 17, 16, 17, 16, 17,
    17, 17,
};

static const uint32_t coef1_huffcodes[555] = {
    0x00115, 0x00002, 0x00001, 0x00000, 0x0000d, 0x00007, 0x00013, 0x0001d,
    0x00008, 0x0000c, 0x00023, 0x0002b, 0x0003f, 0x00017, 0x0001b, 0x00043,
    0x00049, 0x00050, 0x00055, 0x00054, 0x00067, 0x00064, 0x0007b, 0x0002d,
    0x00028, 0x0002a, 0x00085, 0x00089, 0x0002b, 0x00035, 0x00090, 0x00091,
    0x00094, 0x00088, 0x000c1, 0x000c6, 0x000f2, 0x000e3, 0x000c5, 0x000e2,
    0x00036, 0x000f0, 0x000a7, 0x000cd, 0x000fb, 0x00059, 0x00116, 0x00103,
    0x00108, 0x0012b, 0x0012d, 0x00188, 0x0012e, 0x0014c, 0x001c3, 0x00187,
    0x001e7, 0x0006f, 0x00094, 0x00069, 0x001e6, 0x001ca, 0x00147, 0x00195,
    0x000a7, 0x00213, 0x00209, 0x00303, 0x00295, 0x00289, 0x0028c, 0x0028d,
    0x00312, 0x00330, 0x0029b, 0x00308, 0x00328, 0x0029a, 0x0025e, 0x003c5,
    0x00384, 0x0039f, 0x00397, 0x00296, 0x0032e, 0x00332, 0x003c6, 0x003e6,
    0x0012d, 0x000d1, 0x00402, 0x000dd, 0x00161, 0x0012b, 0x00127, 0x0045d,
    0x00601, 0x004ab, 0x0045f, 0x00410, 0x004bf, 0x00528, 0x0045c, 0x00424,
    0x00400, 0x00511, 0x00618, 0x0073d, 0x0063a, 0x00614, 0x0073c, 0x007c0,
    0x007cf, 0x00802, 0x00966, 0x00964, 0x00951, 0x008a0, 0x00346, 0x00803,
    0x00a52, 0x0024a, 0x007c1, 0x0063f, 0x00126, 0x00406, 0x00789, 0x008a2,
    0x00960, 0x00967, 0x00c05, 0x00c70, 0x00c79, 0x00a5d, 0x00c26, 0x00c4d,
    0x00372, 0x008a5, 0x00c08, 0x002c5, 0x00f11, 0x00cc4, 0x00f8e, 0x00e16,
    0x00496, 0x00e77, 0x00f9c, 0x00c25, 0x00f1e, 0x00c27, 0x00f1f, 0x00e17,
    0x00ccd, 0x00355, 0x00c09, 0x00c78, 0x00f90, 0x00521, 0x00357, 0x00356,
    0x0068e, 0x00f9d, 0x00c04, 0x00e58, 0x00a20, 0x00a2c, 0x00c4c, 0x0052f,
    0x00f8d, 0x01178, 0x01053, 0x01097, 0x0180f, 0x0180d, 0x012fb, 0x012aa,
    0x0202a, 0x00a40, 0x018ed, 0x01ceb, 0x01455, 0x018e3, 0x012a1, 0x00354,
    0x00353, 0x00f1c, 0x00c7b, 0x00c37, 0x0101d, 0x012cb, 0x01142, 0x0197d,
    0x01095, 0x01e3b, 0x0186b, 0x00588, 0x01c2a, 0x014b8, 0x01e3a, 0x018ec,
    0x01f46, 0x012fa, 0x00a53, 0x01ce8, 0x00a55, 0x01c29, 0x0117b, 0x01052,
    0x012a0, 0x00589, 0x00950, 0x01c2b, 0x00a50, 0x0208b, 0x0180e, 0x02027,
    0x02556, 0x01e20, 0x006e7, 0x01c28, 0x0197a, 0x00684, 0x020a2, 0x01f22,
    0x03018, 0x039cf, 0x03e25, 0x02557, 0x0294c, 0x028a6, 0x00d11, 0x028a9,
    0x02979, 0x00d46, 0x00a56, 0x039ce, 0x030cc, 0x0329a, 0x0149d, 0x0510f,
    0x0451c, 0x02028, 0x03299, 0x01ced, 0x014b9, 0x00f85, 0x00c7a, 0x01800,
    0x00341, 0x012ca, 0x039c8, 0x0329d, 0x00d0d, 0x03e20, 0x05144, 0x00d45,
    0x030d0, 0x0186d, 0x030d5, 0x00d0f, 0x00d40, 0x04114, 0x020a1, 0x0297f,
    0x03e24, 0x032f1, 0x04047, 0x030d4, 0x028a8, 0x00d0e, 0x0451d, 0x04044,
    0x0297e, 0x04042, 0x030d2, 0x030cf, 0x03e21, 0x03e26, 0x028a5, 0x0451a,
    0x00d48, 0x01a16, 0x00d44, 0x04518, 0x0149b, 0x039ca, 0x01498, 0x0403d,
    0x0451b, 0x0149c, 0x032f3, 0x030cb, 0x08073, 0x03e22, 0x0529a, 0x020aa,
    0x039cc, 0x0738a, 0x06530, 0x07389, 0x06193, 0x08071, 0x04043, 0x030ce,
    0x05147, 0x07388, 0x05145, 0x08072, 0x04521, 0x00d47, 0x0297c, 0x030cd,
    0x030ca, 0x0000b, 0x0000c, 0x00083, 0x000e4, 0x00048, 0x00102, 0x001cc,
    0x001f5, 0x00097, 0x0020b, 0x00124, 0x00453, 0x00627, 0x00639, 0x00605,
    0x00517, 0x001b8, 0x00663, 0x00667, 0x007c3, 0x00823, 0x00961, 0x00963,
    0x00e5a, 0x00e59, 0x00a2b, 0x00cbf, 0x00292, 0x00a2d, 0x007d0, 0x00953,
    0x00cc5, 0x00f84, 0x004ab, 0x014a7, 0x0068a, 0x0117a, 0x0052e, 0x01442,
    0x0052c, 0x00c77, 0x00f8f, 0x004aa, 0x01094, 0x01801, 0x012c4, 0x0297b,
    0x00952, 0x01f19, 0x006a5, 0x01149, 0x012c5, 0x01803, 0x022f2, 0x0329b,
    0x04520, 0x0149e, 0x00d13, 0x01f16, 0x01ce9, 0x0101c, 0x006e6, 0x039c9,
    0x06191, 0x07c8e, 0x06192, 0x0ca63, 0x039cd, 0x06190, 0x06884, 0x06885,
    0x07382, 0x00d49, 0x00d41, 0x0450c, 0x0149a, 0x030d1, 0x08077, 0x03e23,
    0x01a15, 0x0e701, 0x0e702, 0x08079, 0x0822a, 0x0a218, 0x07887, 0x0403f,
    0x0520b, 0x0529b, 0x0e700, 0x04519, 0x00007, 0x000e0, 0x000d0, 0x0039b,
    0x003e5, 0x00163, 0x0063e, 0x007c9, 0x00806, 0x00954, 0x01044, 0x01f44,
    0x0197c, 0x01f45, 0x00a51, 0x01f47, 0x00951, 0x0052d, 0x02291, 0x0092f,
    0x00a54, 0x00d12, 0x0297d, 0x00d0c, 0x01499, 0x0329e, 0x032f0, 0x02025,
    0x039c6, 0x00a57, 0x03e46, 0x00d42, 0x0738b, 0x05146, 0x04046, 0x08078,
    0x0510e, 0x07886, 0x02904, 0x04156, 0x04157, 0x06032, 0x030d3, 0x08bce,
    0x04040, 0x0403e, 0x0a414, 0x10457, 0x08075, 0x06887, 0x07c8f, 0x039c7,
    0x07387, 0x08070, 0x08bcf, 0x1482a, 0x10456, 0x1482b, 0x01a17, 0x06886,
    0x0450d, 0x00013, 0x0006b, 0x00615, 0x0080b, 0x0082b, 0x00952, 0x00e5b,
    0x018e2, 0x0186c, 0x01f18, 0x0329f, 0x00d43, 0x03e29, 0x05140, 0x05141,
    0x0ca62, 0x06033, 0x03c42, 0x03e28, 0x0450f, 0x0a21a, 0x07384, 0x0a219,
    0x0e703, 0x0a21b, 0x01a14, 0x07383, 0x045e6, 0x0007a, 0x0012c, 0x00ccc,
    0x0068f, 0x01802, 0x00a52, 0x00953, 0x04045, 0x01a20, 0x0451f, 0x000a4,
    0x00735, 0x01cec, 0x02029, 0x020a3, 0x0451e, 0x00069, 0x00c24, 0x02024,
    0x032f2, 0x05142, 0x00196, 0x00523, 0x000a6, 0x0197b, 0x0030b, 0x0092e,
    0x003e9, 0x03e27, 0x00160, 0x05143, 0x00652, 0x04041, 0x00734, 0x028a7,
    0x0080f, 0x01483, 0x0097c, 0x00340, 0x0068b, 0x00522, 0x01054, 0x01096,
    0x01f17, 0x0202b, 0x01cea, 0x020a0, 0x02978, 0x02026, 0x0297a, 0x039cb,
    0x03e2b, 0x0149f, 0x0329c, 0x07385, 0x08074, 0x0450e, 0x03e2a, 0x05149,
    0x08076, 0x07386, 0x05148,
};

static const uint8_t coef1_huffbits[555] = {
     9,  5,  2,  4,  4,  5,  5,  5,
     6,  6,  6,  6,  6,  7,  7,  7,
     7,  7,  7,  7,  7,  7,  7,  8,
     8,  8,  8,  8,  8,  8,  8,  8,
     8,  8,  8,  8,  8,  8,  8,  8,
     9,  8,  8,  8,  8,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,
     9, 10, 10, 10,  9,  9,  9,  9,
    10, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 10, 10, 10, 10, 10, 10,
    11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 11,
    11, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 11, 11, 11, 11, 11, 12,
    12, 12, 12, 12, 12, 12, 12, 12,
    13, 12, 12, 12, 12, 12, 12, 12,
    13, 12, 12, 12, 12, 12, 12, 12,
    12, 13, 12, 12, 12, 13, 13, 13,
    13, 12, 12, 12, 12, 12, 12, 13,
    12, 13, 13, 13, 13, 13, 13, 13,
    14, 14, 13, 13, 13, 13, 13, 13,
    13, 12, 12, 12, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 14, 13, 14, 13, 13, 13,
    13, 13, 14, 13, 14, 14, 13, 14,
    14, 13, 14, 13, 13, 14, 14, 13,
    14, 14, 14, 14, 14, 14, 14, 14,
    14, 15, 14, 14, 14, 14, 15, 15,
    15, 14, 14, 13, 13, 12, 12, 13,
    13, 13, 14, 14, 15, 14, 15, 15,
    14, 13, 14, 15, 15, 15, 14, 14,
    14, 14, 15, 14, 14, 15, 15, 15,
    14, 15, 14, 14, 14, 14, 14, 15,
    15, 16, 15, 15, 15, 14, 15, 15,
    15, 15, 14, 14, 16, 14, 15, 14,
    14, 15, 15, 15, 15, 16, 15, 14,
    15, 15, 15, 16, 15, 15, 14, 14,
    14,  4,  7,  8,  8,  9,  9,  9,
     9, 10, 10, 11, 11, 11, 11, 11,
    11, 12, 11, 11, 11, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 11, 12,
    12, 12, 13, 13, 13, 13, 13, 13,
    13, 12, 12, 13, 13, 13, 13, 14,
    14, 13, 14, 13, 13, 13, 14, 14,
    15, 15, 14, 13, 13, 13, 14, 14,
    15, 15, 15, 16, 14, 15, 17, 17,
    15, 15, 15, 15, 15, 14, 16, 14,
    16, 16, 16, 16, 16, 16, 15, 15,
    17, 15, 16, 15,  6,  8, 10, 10,
    10, 11, 11, 11, 12, 12, 13, 13,
    13, 13, 14, 13, 14, 13, 14, 14,
    14, 14, 14, 15, 15, 14, 14, 14,
    14, 14, 14, 15, 15, 15, 15, 16,
    15, 15, 16, 15, 15, 15, 14, 16,
    15, 15, 18, 17, 16, 17, 15, 14,
    15, 16, 16, 19, 17, 19, 16, 17,
    15,  7, 10, 11, 12, 12, 12, 12,
    13, 13, 13, 14, 15, 14, 15, 15,
    16, 15, 14, 14, 15, 16, 15, 16,
    16, 16, 16, 15, 15,  7, 11, 12,
    13, 13, 14, 14, 15, 15, 15,  8,
    11, 13, 14, 14, 15,  9, 12, 14,
    14, 15,  9, 13, 10, 13, 10, 14,
    10, 14, 11, 15, 11, 15, 11, 14,
    12, 15, 12, 13, 13, 13, 13, 13,
    13, 14, 13, 14, 14, 14, 14, 14,
    14, 15, 14, 15, 16, 15, 14, 15,
    16, 15, 15,
};

static const uint32_t coef2_huffcodes[1336] = {
    0x003e6,  0x000f6, 0x00000,  0x00002,  0x00006,  0x0000f,  0x0001b,  0x00028,
    0x00039,  0x0003f, 0x0006b,  0x00076,  0x000b7,  0x000e8,  0x000ef,  0x00169,
    0x001a7,  0x001d4, 0x001dc,  0x002c4,  0x00349,  0x00355,  0x00391,  0x003dc,
    0x00581,  0x005b2, 0x00698,  0x0070c,  0x00755,  0x0073a,  0x00774,  0x007cf,
    0x00b0a,  0x00b66, 0x00d2e,  0x00d5e,  0x00e1b,  0x00eac,  0x00e5a,  0x00f7e,
    0x00fa1,  0x0163e, 0x01a37,  0x01a52,  0x01c39,  0x01ab3,  0x01d5f,  0x01cb6,
    0x01f52,  0x01dd9, 0x02c04,  0x02c2e,  0x02c2d,  0x02c23,  0x03467,  0x034a3,
    0x0351b,  0x03501, 0x03a5d,  0x0351c,  0x03875,  0x03dea,  0x0397b,  0x039db,
    0x03df1,  0x039d8, 0x03bb4,  0x0580a,  0x0584d,  0x05842,  0x05b13,  0x058ea,
    0x0697d,  0x06a06, 0x068cc,  0x06ac7,  0x06a96,  0x072f4,  0x07543,  0x072b4,
    0x07d20,  0x0b003, 0x073b5,  0x07be6,  0x0d180,  0x07bd1,  0x07cb8,  0x07d06,
    0x07d25,  0x0d2f2, 0x0d19a,  0x0d334,  0x0e1dc,  0x0d529,  0x0d584,  0x0e1d2,
    0x0e5e3,  0x0eec4, 0x0e564,  0x0fa49,  0x16001,  0x0eedc,  0x0f7fa,  0x1a32c,
    0x16131,  0x16003, 0x0f9c8,  0x1ef80,  0x1d2a0,  0x1aa4b,  0x0f7ce,  0x1abfe,
    0x1aa50,  0x1a458, 0x1a816,  0x1cae4,  0x1d2fe,  0x1d52e,  0x1aa4c,  0x2c245,
    0x1d2a1,  0x1a35d, 0x1ca1b,  0x1d5d8,  0x1f531,  0x1ca1c,  0x1f389,  0x1f4af,
    0x3a5e7,  0x351fb, 0x2c24b,  0x34bce,  0x2c24d,  0x2c249,  0x2c24a,  0x72dfc,
    0x357ef,  0x35002, 0x3a5e6,  0x39431,  0x5843b,  0x34a77,  0x58431,  0x3a5f3,
    0x3a5dd,  0x3e5e5, 0x356bd,  0x3976e,  0x6a3d2,  0x3500d,  0x694c4,  0x580bd,
    0x3e5e8,  0x74b95, 0x34a6e,  0x3977c,  0x39432,  0x5b0d2,  0x6a3d8,  0x580b8,
    0x5b0cb,  0x5b0d7, 0x72dee,  0x72ded,  0x72dec,  0x74b9c,  0x3977f,  0x72dea,
    0x74b9e,  0x7be7d, 0x580bf,  0x5b0d5,  0x7cba8,  0x74b91,  0x3e5dd,  0xb6171,
    0xd46b3,  0xd46b9, 0x7cba1,  0x74b9f,  0x72de1,  0xe59f5,  0x3e5eb,  0x00004,
    0x00015,  0x00038, 0x00075,  0x000e8,  0x001d3,  0x00347,  0x0039c,  0x00690,
    0x0074a,  0x00b60, 0x00e93,  0x00f74,  0x0163d,  0x01a5a,  0x01d24,  0x01cbe,
    0x01f4b,  0x03468, 0x03562,  0x03947,  0x03e82,  0x05804,  0x05b12,  0x05803,
    0x0696d,  0x06a9e, 0x0697c,  0x06978,  0x06afb,  0x074b2,  0x072f5,  0x073c0,
    0x07541,  0x06944, 0x074b7,  0x070d3,  0x07ba9,  0x0b0b1,  0x0d1af,  0x0e1dd,
    0x0e5e2,  0x0e1a3, 0x0eec3,  0x1612f,  0x0e961,  0x0eeda,  0x0e78e,  0x0fa48,
    0x1612c,  0x0e511, 0x0e565,  0x0e953,  0x1aa4a,  0x0e59d,  0x1d52c,  0x1a811,
    0x1cae7,  0x1abfc, 0x1d52d,  0x1cacf,  0x1cf05,  0x2c254,  0x34a72,  0x1f4ac,
    0x3976b,  0x34a71, 0x2c6d9,  0x2d873,  0x34a6a,  0x357e7,  0x3464c,  0x3e5f5,
    0x58433,  0x1f53a, 0x3500a,  0x357ea,  0x34a73,  0x3942f,  0x357e5,  0x39775,
    0x694cd,  0x39772, 0x7cba5,  0x6a3ef,  0x35483,  0x74b98,  0x5b0c1,  0x39770,
    0x3a5d7,  0x39433, 0x39434,  0x694ce,  0x580be,  0x3e5ff,  0x6a3ec,  0xb616f,
    0xd46b1,  0x6a3d1, 0x72de5,  0x74b6e,  0x72de9,  0x3e700,  0xd46b6,  0x6a3e9,
    0x74b69,  0xe5675, 0xd46b8,  0x7cbaa,  0x3a5d1,  0x0000c,  0x0003c,  0x000eb,
    0x001f1,  0x003a4, 0x006a8,  0x007d5,  0x00d43,  0x00e77,  0x016c5,  0x01cb1,
    0x02c5d,  0x03a55, 0x03a56,  0x03e51,  0x03bb5,  0x05b0a,  0x06a9f,  0x074b8,
    0x07d28,  0x0d187, 0x0d40e,  0x0d52e,  0x0d425,  0x0eae3,  0x0e1d3,  0x1612e,
    0x0e59e,  0x0eec2, 0x0e578,  0x0e51a,  0x0e579,  0x0e515,  0x0e960,  0x0d183,
    0x0d220,  0x0d2cb, 0x0e512,  0x16c3e,  0x16002,  0x16c42,  0x1cae9,  0x3461a,
    0x1d2fa,  0x1a308, 0x1a849,  0x1cf07,  0x1f38f,  0x34b65,  0x2c253,  0x1ef9e,
    0x1cbc3,  0x1cbc1, 0x2c255,  0x1f384,  0x58435,  0x2c5cd,  0x3a5f7,  0x2c252,
    0x3959c,  0x2c6d8, 0x3a5d3,  0x6ad78,  0x6a3f2,  0x7cba9,  0xb6176,  0x72deb,
    0x39764,  0x3e5f6, 0x3a5d8,  0x74a8c,  0x6a3e6,  0x694d1,  0x6ad79, 0x1a4592,
    0xe59fb,  0x7cbb3, 0x5b0cd,  0x00017,  0x000b5,  0x002c3,  0x005b7,  0x00b1c,
    0x00e5c,  0x0163f, 0x01ab2,  0x01efa,  0x0348a,  0x0396e,  0x058da,  0x06963,
    0x06a30,  0x072cd, 0x073cf,  0x07ce7,  0x0d2ca,  0x0d2d8,  0x0e764,  0x0e794,
    0x16008,  0x16167, 0x1617e,  0x1aa49,  0x1a30b,  0x1a813,  0x2c6da,  0x1a580,
    0x1cbc2,  0x0f9ca, 0x1617f,  0x1d2fe,  0x0f7fc,  0x16c40,  0x0e513,  0x0eec5,
    0x0f7c3,  0x1d508, 0x1a81e,  0x1d2fd,  0x39430,  0x35486,  0x3e5fd,  0x2c24c,
    0x2c75a,  0x34a74, 0x3a5f4,  0x3464d,  0x694ca,  0x3a5f1,  0x1d509,  0x1d5c0,
    0x34648,  0x3464e, 0x6a3d5,  0x6a3e8,  0x6a3e7,  0x5b0c3,  0x2c248,  0x1f38a,
    0x3a5f2,  0x6a3e5, 0x00029,  0x00168,  0x0058c,  0x00b67,  0x00f9d,  0x01c3d,
    0x01cbf,  0x02c20, 0x0351d,  0x03df6,  0x06af9,  0x072b5,  0x0b1d7,  0x0b0b2,
    0x0d40a,  0x0d52b, 0x0e952,  0x0e797,  0x163c3,  0x1c3a0,  0x1f386,  0x1ca21,
    0x34655,  0x2c247, 0x1f53b,  0x2c250,  0x2c24f,  0x1f385,  0x1ef5d,  0x1cf15,
    0x1caea,  0x1ab0a, 0x1cf19,  0x1f53d,  0x1d5c2,  0x1d2fb,  0x1ef58,  0x34a78,
    0x357ec,  0x1f533, 0x3a5e1,  0x694d2,  0x58482,  0x3a5ee,  0x2c6dc,  0x357eb,
    0x5b0c4,  0x39778, 0x6a3e1,  0x7cbb4,  0x3a5e1,  0x74b68,  0x3a5ef,  0x3a5d2,
    0x39424,  0x72de2, 0xe59f6,  0xe59f7,  0x3e702,  0x3e5ec,  0x1f38b,  0x0003b,
    0x001f0,  0x00777, 0x00fa8,  0x01cb2,  0x02d84,  0x03a57,  0x03dd6,  0x06917,
    0x06a11,  0x07d07, 0x0eae2,  0x0e796,  0x0f9c9,  0x0f7fb,  0x16166,  0x16160,
    0x1ab1b,  0x1abfa, 0x2d87b,  0x1d2f7,  0x39768,  0x1f38c,  0x34653,  0x34651,
    0x6a3d9,  0x35001, 0x3abbd,  0x38742,  0x39426,  0x34a76,  0x3a5ec,  0x34a75,
    0x35000,  0x35488, 0x1cf10,  0x2c6db,  0x357ed,  0x357e8,  0x357e9,  0x3a5f0,
    0x694c2,  0xb6178, 0x72df5,  0x39425,  0x3942b,  0x74b6d,  0x74b6f,  0xb6177,
    0xb6179,  0x74b6a, 0xb6172,  0x58487,  0x3e5ee,  0x3e5ed,  0x72df2,  0x72df4,
    0x7cbae,  0x6a3ca, 0x70e86,  0x34bcf,  0x6a3c8,  0x00059,  0x00384,  0x00d5b,
    0x01c38,  0x03560, 0x0395b,  0x0584e,  0x06964,  0x073cd,  0x0b1e7,  0x0e798,
    0x0e78d,  0x0fa43, 0x1a848,  0x1a32f,  0x1aa4e,  0x3464a,  0x1f4ab,  0x1f38d,
    0x3a5eb,  0x3a5d4, 0x3548a,  0x6a3c7,  0x5b0d0,  0x6a3c5,  0x7cbb0,  0x694cb,
    0x3a5e5,  0x3e5e2, 0x3942c,  0x2d872,  0x1f4ae,  0x3a5d5,  0x694d3,  0x58481,
    0x35009,  0x39774, 0x58432,  0xb616c,  0x5b0db,  0x3548b,  0xb6174, 0x1d5d95,
    0xb004c,  0x7cbb2, 0x3a5e5,  0x74a8f,  0xe59f9,  0x72df6,  0xe59fd,  0x7cbad,
    0xd427d,  0x72cff, 0x3977a,  0x5b0d9,  0xb616d,  0xb616b, 0x1a4593,  0x7cbaf,
    0x5b0da,  0x00071, 0x003eb,  0x01603,  0x02c6c,  0x03961,  0x068c8,  0x06a31,
    0x072bd,  0x0d2c2, 0x0e51b,  0x0e5e6,  0x1abfb,  0x1d2ff,  0x1cae5,  0x1ef5c,
    0x1ef5e,  0x1cf13, 0x34a6d,  0x3976d,  0xb616a,  0x3e5f2,  0x6a3c4,  0xb6169,
    0x3e5dc,  0x580b9, 0x74b99,  0x75764,  0x58434,  0x3a5d9,  0x6945a,  0x69459,
    0x3548c,  0x3a5e9, 0x69457,  0x72df1,  0x6945e,  0x6a35e,  0x3e701,  0xb6168,
    0x5b0dd,  0x3a5de, 0x6a3c2,  0xd4278,  0x6a3cc,  0x72dfd,  0xb6165, 0x16009a,
    0x7cbb1,  0xd427c, 0xb6162,  0xe765e, 0x1cecbe,  0x7cbb6,  0x69454,  0xb6160,
    0xd427a, 0x1d5d96, 0xb1d6d,  0xe59f4,  0x72de8,  0x3a5db,  0x0007a,  0x006ae,
    0x01c3c,  0x03aba, 0x058e9,  0x072cc,  0x0d2dd,  0x0d22d,  0x0eec1,  0x0eedb,
    0x1d2a2,  0x1ef5b, 0x357e2,  0x3abbf,  0x1d2f9,  0x35004,  0x3a5dc,  0x351fc,
    0x3976c,  0x6a3c6, 0x6a3cb,  0x3e5ea,  0xe59f3,  0x6a3ce,  0x69452,  0xe59f0,
    0x74b90,  0xd4279, 0xd427b,  0x7cbb5,  0x5b0c5,  0x3a5e3,  0x3a5e2,  0x000d0,
    0x00775,  0x01efe, 0x03dd5,  0x0728c,  0x07cb9,  0x0e1a2,  0x0ea85,  0x0eed8,
    0x1a30a,  0x1aa4f, 0x3a5df,  0x35008,  0x3a5e0,  0x3e5f4,  0x3e5f7,  0xb1d6c,
    0x5843e,  0x34a70, 0x72df8,  0x74b6b,  0xd427f,  0x72df0,  0x5b0bf,  0x5b0c0,
    0xd46b0,  0x72def, 0xe59f8, 0x162e64,  0xb1d6f,  0x3a5e0,  0x39427,  0x69166,
    0x6a3e2,  0x6a3e3, 0x74a8d,  0xd427e, 0x1d5d97,  0xd46b4,  0x5b0d8,  0x6a3d3,
    0x000e0,  0x00b63, 0x034cc,  0x06a33,  0x073c9,  0x0e1a0,  0x0f7fd,  0x0f9cc,
    0x1617d,  0x1caeb, 0x1f4a9,  0x3abb3,  0x69450,  0x39420,  0x39777,  0x3e5e0,
    0x6a3d4,  0x6a3ed, 0xb6166,  0xe59f1,  0xb1d6e,  0xe5676,  0x6a3ea,  0xe5674,
    0xb6163,  0xd46b7, 0x7cba6,  0xd46ba, 0x1d5d94,  0xb6164,  0x6a3f1,  0x7cba2,
    0x69451,  0x72dfa, 0xd46bb,  0x72df7,  0x74b94, 0x1cecbf,  0xe59fa, 0x16009b,
    0x6a3e4,  0x000e6, 0x00e94,  0x03876,  0x070ef,  0x0d52a,  0x16015,  0x16014,
    0x1abf9,  0x1cf17, 0x34a79,  0x34650,  0x3e705,  0x6a3d0,  0x58430,  0x74b9d,
    0x7be7e,  0x5b0be, 0x39773,  0x6a3de,  0x000fb,  0x00f7b,  0x03dd7,  0x07bd0,
    0x0e59c,  0x0f9cd, 0x1cf18,  0x1d2ff,  0x34a7a,  0x39429,  0x3500c,  0x72de0,
    0x69456,  0x7be7c, 0xd46b5,  0xd46b2,  0x6a3dd,  0x001a2,  0x0163b,  0x06913,
    0x0b016,  0x0fa42, 0x1a32d,  0x1cf06,  0x34a7c,  0x34a7d,  0xb6161,  0x35481,
    0x3e5fa,  0x7cba0, 0x7be7f,  0x7cba3,  0x7cba7,  0x5b0d3,  0x72de6,  0x6a3dc,
    0x001a9,  0x01ab4, 0x06a34,  0x0d46a,  0x16130,  0x1ef5f,  0x1f532,  0x1f536,
    0x3942e,  0x58436, 0x6a3db,  0x6945b,  0x001c9,  0x01ca0,  0x0728b,  0x0eed9,
    0x1f539,  0x1ca1d, 0x39765,  0x39766,  0x58439,  0x6945d,  0x39767,  0x001d3,
    0x01f2c,  0x07bfc, 0x16161,  0x34652,  0x3a5ed,  0x3548d,  0x58438,  0x6a3da,
    0x002c1,  0x02c5e, 0x0d335,  0x1ab1a,  0x2d874,  0x35006,  0x35484,  0x5b0cc,
    0x74b9a,  0x72df3, 0x6a3d6,  0x002da,  0x034b3,  0x0d5ae,  0x1caee,  0x2d871,
    0x357e3,  0x74b97, 0x72df9,  0x580ba,  0x5b0d4,  0x0034d,  0x0354e,  0x0f750,
    0x1cbc0,  0x3a5e7, 0x3a5e4,  0x00385,  0x03a58,  0x16c41,  0x2c5cf,  0x3e5e1,
    0x74b6c,  0xe5677, 0x6a3df,  0x00390,  0x03e50,  0x163c2,  0x2d876,  0x35482,
    0x5b0d6,  0x5843a, 0x0039f,  0x0585e,  0x1a583,  0x3500f,  0x74b93,  0x39771,
    0x003e4,  0x06912, 0x16c43,  0x357e1,  0x0058a,  0x0696f,  0x1f538,  0x5b0c9,
    0x6a3cf,  0x005b6, 0x06af8,  0x1f534,  0x58483,  0x6a3e0,  0x00695,  0x07d02,
    0x1cae8,  0x58485, 0x006a2,  0x0754a,  0x357ee,  0x3977b,  0x00748,  0x074b2,
    0x34a7b,  0x00729, 0x0b1e0,  0x34649,  0x3e5e3,  0x0073d,  0x0d2c4,  0x3e5e6,
    0x007bb,  0x0b099, 0x39762,  0x5b0ce,  0x6945f,  0x007d1,  0x0d5ab,  0x39779,
    0x007d3,  0x0d52f, 0x39763,  0x6945c,  0x00b1a,  0x0d2c5,  0x35489,  0x00d23,
    0x0eaed,  0x3e5f8, 0x00d32,  0x16016,  0x3e5fb,  0x00d41,  0x0e768,  0x3a5ed,
    0x00e1f,  0x16017, 0x58027,  0x00ead,  0x0fa07,  0x69455,  0x00e54,  0x1612b,
    0x00e55,  0x1a581, 0x00f78,  0x1a32b,  0x580bc,  0x6a3ee,  0x00f79,  0x1abfd,
    0x00f95,  0x1ab18, 0x6a3f0,  0x01637,  0x1aa4d,  0x0162d,  0x1f53c,  0x6a3f3,
    0x01a31,  0x1a810, 0x39769,  0x01a50,  0x1caef,  0x01a36,  0x1a32e,  0x01a67,
    0x1f38e,  0x01a85, 0x1ef59,  0x01aa6,  0x1ef83,  0x01d51,  0x2c012,  0x01d53,
    0x2d879,  0x01d5e, 0x35005,  0x01cba,  0x1cf04,  0x69453,  0x01d2d,  0x351ff,
    0x01f2d,  0x2d86f, 0x01f29,  0x35007,  0x02c22,  0x351fa,  0x02c03,  0x3a5ec,
    0x02c5f,  0x3a5eb, 0x02c58,  0x34a6b,  0x03469,  0x356be,  0x02c59,  0x34a6c,
    0x0346a,  0x3a5ea, 0x034bd,  0x034bf,  0x356bf,  0x0386a,  0x03ab9,  0x5843f,
    0x0386b,  0x3a5f5, 0x03a4b,  0x39421,  0x03aa4,  0x3a5e9,  0x03a5a,  0x03960,
    0x3977e,  0x03de9, 0x03958,  0x03df7,  0x039e1,  0x3e5e4,  0x0395f,  0x69458,
    0x03e91,  0x03df2, 0x39428,  0x058f2,  0x03e80,  0x6a3c3,  0x03e93,  0x694c0,
    0x058b8,  0x5b0ca, 0x0584f,  0x694c1,  0x058f1,  0x068d6,  0x06a10,  0x06ac3,
    0x06a32,  0x070d2, 0x06911,  0x074b1,  0x07494,  0x06ad4,  0x06ad6,  0x072b8,
    0x06afa,  0x074b3, 0x07540,  0x073ce,  0x0b005,  0x074b3,  0x07495,  0x074b9,
    0x0d336,  0x07bff, 0x07763,  0x073c8,  0x07d29,  0x0b622,  0x0d221,  0x0d181,
    0x0b1d1,  0x074b8, 0x0b1d0,  0x0d19b,  0x0d2c3,  0x0b172,  0x0d2dc,  0x0b623,
    0x0d5aa,  0x0d426, 0x0d182,  0x0e795,  0x0e1d1,  0x0d337,  0x0e96c,  0x0e5e4,
    0x0e514,  0x0eaee, 0x16000,  0x0e767,  0x0e1a1,  0x0e78f,  0x16004,  0x0f7c2,
    0x0e799,  0x0e5e7, 0x0e566,  0x0e769,  0x0f751,  0x0eede,  0x0fa06,  0x16005,
    0x0fa9f,  0x1a5e6, 0x0e766,  0x1636f,  0x0eedd,  0x0eec0,  0x1a309,  0x1ceca,
    0x163cd,  0x0f9cb, 0x0eedf,  0x1a582,  0x1612d,  0x0e5e5,  0x1abf8,  0x1a30c,
    0x1ca1f,  0x163cc, 0x1a35c,  0x1ca1e,  0x1aa51,  0x163ac,  0x1a84e,  0x1a53f,
    0x1cf16,  0x1d2fc, 0x1a5b3,  0x1ab19,  0x1a81f,  0x1d5c3,  0x16c3f,  0x1d5c1,
    0x1d2fc,  0x1f4aa, 0x1a812,  0x1f535,  0x1cf12,  0x1a817,  0x1617c,  0x1ab0b,
    0x1d2f8,  0x1ef82, 0x2d87a,  0x1d52f,  0x1f530,  0x1aa48,  0x35487,  0x1d2fd,
    0x1f4ad,  0x1cf11, 0x3461b,  0x35485,  0x1ca20,  0x1caed,  0x1cae6,  0x1abff,
    0x3464f,  0x34a6f, 0x1ef81,  0x3464b,  0x39d96,  0x1f383,  0x1f537,  0x1cf14,
    0x2c5ce,  0x3500e, 0x2c251,  0x1caec,  0x1f387,  0x34654,  0x357e4,  0x2d878,
    0x3500b,  0x35480, 0x3a5e8,  0x3548e,  0x34b64,  0x1f4a8,  0x35003,  0x3e5df,
    0x2d870,  0x357e6, 0x3e5f0,  0x1ef5a,  0x3a5ea,  0x1f388,  0x3e703,  0x2c24e,
    0x3a5e2,  0x351fd, 0x2c6dd,  0x3e704,  0x351fe,  0x2d875,  0x5b0c7,  0x3976a,
    0x3a5e6,  0x39423, 0x58480,  0x2c246,  0x3a5e3,  0x2d877,  0x3e5f1,  0x3abbe,
    0x58489,  0x3e5f9, 0x357e0,  0x3abbc,  0x5b0c6,  0x69167,  0x69165,  0x3e5e9,
    0x39422,  0x3976f, 0x3977d,  0x3e5de,  0x6a3c9,  0x58b98,  0x3a5f6,  0x3a5d0,
    0x58486,  0x6a3c1, 0x3e5fc,  0x5b0dc,  0x3548f,  0x3942d,  0x694c9,  0x58484,
    0x3a5e8,  0x74b9b, 0x74b96,  0x694d0,  0x58488,  0x3a5e4,  0x3942a,  0x72ec2,
    0x39776,  0x5b0d1, 0x5b0cf,  0x3a5d6,  0xe59fc,  0x5b0c8,  0x3e5e7,  0x7cbb7,
    0x70e87,  0x7cbab, 0x5b0c2,  0x694c3,  0x74a8e,  0x3e5f3,  0x6a3cd,  0x72dfe,
    0x73b2e,  0x72ec0, 0x694c5,  0x58437,  0x694c8,  0x72dff,  0x39435,  0x5843d,
    0x6a3d7,  0x72ec1, 0xd22c8,  0x694cf,  0xb6173,  0x3e5fe,  0x580bb,  0xe59f2,
    0xb616e,  0xb6175, 0x3a5da,  0x5b0bd,  0x694cc,  0x5843c,  0x694c7,  0x74b92,
    0x72ec3,  0x694c6, 0xb6170,  0x7cbac,  0xb1733,  0x7cba4,  0xb6167,  0x72de7,
    0x72de4,  0x6a3c0, 0x3e5ef, 0x162e65,  0x72de3,  0x72dfb,  0x6a35f,  0x6a3eb,
};

static const uint8_t coef2_huffbits[1336] = {
    11,  9,  2,  3,  4,  4,  5,  6,
     6,  7,  7,  8,  8,  8,  9,  9,
     9,  9, 10, 10, 10, 10, 11, 11,
    11, 11, 11, 11, 11, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 14,
    14, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 15, 15,
    15, 15, 15, 15, 15, 16, 15, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 18, 17, 17, 17, 17,
    17, 17, 17, 18, 18, 17, 17, 18,
    17, 17, 18, 17, 18, 18, 18, 18,
    19, 18, 18, 18, 18, 18, 18, 20,
    18, 18, 18, 19, 19, 18, 19, 18,
    19, 19, 18, 19, 19, 18, 19, 19,
    19, 19, 18, 19, 19, 19, 19, 19,
    19, 19, 20, 20, 20, 19, 19, 20,
    19, 20, 19, 19, 20, 19, 19, 20,
    20, 20, 20, 19, 20, 21, 19,  3,
     5,  7,  8,  9,  9, 10, 11, 11,
    12, 12, 12, 13, 13, 13, 13, 14,
    14, 14, 14, 15, 15, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 16, 16,
    15, 15, 15, 15, 16, 16, 16, 16,
    17, 16, 17, 17, 16, 17, 17, 17,
    17, 17, 17, 16, 17, 17, 17, 17,
    18, 17, 17, 18, 18, 18, 18, 18,
    19, 18, 18, 18, 18, 18, 18, 19,
    19, 18, 18, 18, 18, 19, 18, 19,
    19, 19, 20, 19, 18, 19, 19, 19,
    19, 19, 19, 19, 19, 19, 19, 20,
    20, 19, 20, 19, 20, 19, 20, 19,
    19, 21, 20, 20, 19,  4,  7,  8,
    10, 11, 11, 12, 12, 13, 13, 14,
    14, 14, 14, 15, 15, 15, 15, 15,
    16, 16, 16, 16, 16, 16, 16, 17,
    17, 17, 17, 17, 17, 17, 16, 16,
    16, 16, 17, 17, 17, 17, 18, 18,
    18, 17, 17, 18, 18, 18, 18, 18,
    18, 18, 18, 18, 19, 18, 18, 18,
    19, 18, 19, 19, 19, 20, 20, 20,
    19, 19, 19, 19, 19, 19, 19, 21,
    21, 20, 19,  5,  8, 10, 11, 12,
    13, 13, 13, 14, 14, 15, 15, 15,
    15, 16, 16, 16, 16, 16, 17, 17,
    17, 17, 17, 17, 17, 17, 18, 17,
    18, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 19, 18, 19, 18,
    18, 18, 18, 18, 19, 18, 17, 17,
    18, 18, 19, 19, 19, 19, 18, 18,
    18, 19,  6,  9, 11, 12, 13, 13,
    14, 14, 14, 15, 15, 16, 16, 16,
    16, 16, 16, 17, 17, 17, 18, 18,
    18, 18, 18, 18, 18, 18, 18, 18,
    18, 17, 18, 18, 17, 18, 18, 18,
    18, 18, 18, 19, 19, 18, 18, 18,
    19, 19, 19, 20, 19, 19, 18, 19,
    19, 20, 21, 21, 19, 19, 18,  6,
    10, 12, 13, 14, 14, 14, 15, 15,
    15, 16, 16, 17, 17, 17, 17, 17,
    17, 17, 18, 18, 19, 18, 18, 18,
    19, 18, 18, 18, 19, 18, 18, 18,
    18, 18, 18, 18, 18, 18, 18, 18,
    19, 20, 20, 19, 19, 19, 19, 20,
    20, 19, 20, 19, 19, 19, 20, 20,
    20, 19, 19, 18, 19,  7, 10, 12,
    13, 14, 15, 15, 15, 16, 16, 17,
    17, 17, 17, 17, 17, 18, 18, 18,
    18, 19, 18, 19, 19, 19, 20, 19,
    18, 19, 19, 18, 18, 19, 19, 19,
    18, 19, 19, 20, 19, 18, 20, 21,
    20, 20, 19, 19, 21, 20, 21, 20,
    20, 20, 19, 19, 20, 20, 21, 20,
    19,  7, 11, 13, 14, 15, 15, 15,
    16, 16, 17, 17, 17, 17, 18, 18,
    18, 18, 18, 19, 20, 19, 19, 20,
    19, 19, 19, 19, 19, 19, 19, 19,
    18, 18, 19, 20, 19, 19, 19, 20,
    19, 19, 19, 20, 19, 20, 20, 21,
    20, 20, 20, 21, 22, 20, 19, 20,
    20, 21, 20, 21, 20, 19,  8, 11,
    13, 14, 15, 16, 16, 16, 17, 17,
    17, 18, 18, 18, 18, 18, 19, 18,
    19, 19, 19, 19, 21, 19, 19, 21,
    19, 20, 20, 20, 19, 18, 18,  8,
    12, 14, 15, 16, 16, 16, 16, 17,
    17, 17, 19, 18, 18, 19, 19, 20,
    19, 18, 20, 19, 20, 20, 19, 19,
    20, 20, 21, 21, 20, 19, 19, 19,
    19, 19, 19, 20, 21, 20, 19, 19,
     8, 12, 14, 15, 16, 16, 17, 17,
    17, 18, 18, 18, 19, 19, 19, 19,
    19, 19, 20, 21, 20, 21, 19, 21,
    20, 20, 20, 20, 21, 20, 19, 20,
    19, 20, 20, 20, 19, 22, 21, 21,
    19,  9, 12, 14, 15, 16, 17, 17,
    17, 18, 18, 18, 19, 19, 19, 19,
    20, 19, 19, 19,  9, 13, 15, 16,
    17, 17, 18, 18, 18, 19, 18, 20,
    19, 20, 20, 20, 19,  9, 13, 15,
    16, 17, 17, 18, 18, 18, 20, 18,
    19, 20, 20, 20, 20, 19, 20, 19,
     9, 13, 15, 16, 17, 18, 18, 18,
    19, 19, 19, 19, 10, 14, 16, 17,
    18, 18, 19, 19, 19, 19, 19, 10,
    14, 16, 17, 18, 18, 18, 19, 19,
    10, 14, 16, 17, 18, 18, 18, 19,
    19, 20, 19, 10, 14, 16, 18, 18,
    18, 19, 20, 19, 19, 10, 14, 17,
    18, 18, 18, 10, 15, 17, 18, 19,
    19, 21, 19, 11, 15, 17, 18, 18,
    19, 19, 11, 15, 17, 18, 19, 19,
    11, 15, 17, 18, 11, 15, 18, 19,
    19, 11, 15, 18, 19, 19, 11, 16,
    18, 19, 11, 15, 18, 19, 11, 16,
    18, 12, 16, 18, 19, 12, 16, 19,
    12, 16, 19, 19, 19, 12, 16, 19,
    12, 16, 19, 19, 12, 16, 18, 12,
    16, 19, 12, 17, 19, 12, 17, 19,
    12, 17, 19, 12, 17, 19, 13, 17,
    13, 17, 13, 17, 19, 19, 13, 17,
    13, 17, 19, 13, 17, 13, 18, 19,
    13, 17, 19, 13, 18, 13, 17, 13,
    18, 13, 18, 13, 18, 13, 18, 13,
    18, 13, 18, 14, 18, 19, 14, 18,
    14, 18, 14, 18, 14, 18, 14, 19,
    14, 19, 14, 18, 14, 18, 14, 18,
    14, 19, 14, 14, 18, 14, 14, 19,
    14, 18, 14, 19, 14, 19, 14, 15,
    19, 15, 15, 15, 15, 19, 15, 19,
    15, 15, 19, 15, 15, 19, 15, 19,
    15, 19, 15, 19, 15, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 15, 16,
    15, 15, 15, 16, 16, 16, 15, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 17, 16, 16, 16, 17,
    17, 16, 17, 17, 16, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 18,
    17, 17, 17, 17, 17, 17, 17, 17,
    18, 17, 17, 18, 17, 17, 17, 17,
    18, 18, 17, 17, 17, 17, 17, 17,
    17, 18, 17, 18, 18, 17, 17, 17,
    18, 18, 18, 17, 18, 17, 18, 18,
    18, 18, 18, 18, 18, 18, 18, 17,
    18, 18, 18, 18, 19, 18, 18, 18,
    18, 18, 18, 18, 18, 18, 18, 18,
    18, 18, 18, 18, 18, 18, 18, 19,
    18, 18, 19, 18, 18, 18, 19, 18,
    19, 18, 18, 19, 18, 18, 19, 19,
    19, 19, 19, 18, 19, 18, 19, 18,
    19, 19, 18, 18, 19, 19, 19, 19,
    19, 19, 19, 19, 19, 19, 18, 19,
    19, 19, 19, 19, 18, 19, 19, 19,
    19, 19, 19, 19, 19, 19, 19, 20,
    19, 19, 19, 19, 21, 19, 19, 20,
    19, 20, 19, 19, 19, 19, 19, 20,
    20, 20, 19, 19, 19, 20, 19, 19,
    19, 20, 20, 19, 20, 19, 19, 21,
    20, 20, 19, 19, 19, 19, 19, 19,
    20, 19, 20, 20, 20, 20, 20, 20,
    20, 19, 19, 21, 20, 20, 19, 19,
};

static const uint32_t coef3_huffcodes[1072] = {
    0x001b2, 0x00069, 0x00000, 0x00004, 0x00006, 0x0000e, 0x00014, 0x00019,
    0x00016, 0x0002b, 0x00030, 0x0003d, 0x0003c, 0x0005a, 0x0005f, 0x0006d,
    0x0007e, 0x0005f, 0x0007f, 0x000b6, 0x000bc, 0x000d8, 0x000f2, 0x000fe,
    0x000bc, 0x000fc, 0x00161, 0x0016e, 0x00174, 0x00176, 0x001a2, 0x001e3,
    0x001f3, 0x00174, 0x0017a, 0x001ea, 0x002a8, 0x002c4, 0x002e6, 0x00314,
    0x00346, 0x00367, 0x003e9, 0x002e5, 0x002ee, 0x003d6, 0x00555, 0x00554,
    0x00557, 0x005c3, 0x005d6, 0x006e0, 0x0062f, 0x006e2, 0x00799, 0x00789,
    0x007fa, 0x005ce, 0x007fe, 0x005ec, 0x007cc, 0x007af, 0x00aa7, 0x00b19,
    0x00b94, 0x00b85, 0x00b9f, 0x00c48, 0x00c45, 0x00dd8, 0x00c4c, 0x00c4b,
    0x00d99, 0x00d1f, 0x00dc2, 0x00f95, 0x00fa2, 0x00bb5, 0x00b9f, 0x00f5d,
    0x00bbf, 0x00f47, 0x0154a, 0x00fd5, 0x00f45, 0x00f7f, 0x0160d, 0x01889,
    0x01757, 0x01722, 0x018b3, 0x0172d, 0x01a39, 0x01a18, 0x01bb3, 0x01b30,
    0x01e63, 0x0173c, 0x01b35, 0x01723, 0x01e80, 0x01fee, 0x01761, 0x01ffc,
    0x01f7f, 0x02c7c, 0x01fa1, 0x0177b, 0x01755, 0x0175a, 0x01fa6, 0x02eab,
    0x0310a, 0x02c69, 0x03669, 0x03127, 0x03103, 0x02e43, 0x03662, 0x03165,
    0x03124, 0x0313b, 0x03111, 0x03668, 0x0343b, 0x03c52, 0x03efc, 0x02e6c,
    0x03fda, 0x03ef8, 0x02e7b, 0x03ee2, 0x03cc5, 0x03d72, 0x058c0, 0x03df8,
    0x02ea9, 0x03e7e, 0x0556d, 0x05c82, 0x03d71, 0x03e7b, 0x03c42, 0x058d7,
    0x03f4e, 0x06200, 0x03d70, 0x05cb2, 0x05c96, 0x05cb0, 0x03f45, 0x05cb1,
    0x02e6d, 0x03110, 0x02f68, 0x05c90, 0x07ca6, 0x07c88, 0x06204, 0x062c8,
    0x078a6, 0x07986, 0x079d5, 0x0b1ad, 0x07989, 0x0b079, 0x05cdd, 0x0aad4,
    0x05de8, 0x07dcd, 0x07987, 0x05d67, 0x05d99, 0x0b91d, 0x07cf1, 0x05d9b,
    0x079d7, 0x0b07b, 0x05c85, 0x05d9a, 0x07dcc, 0x07ebf, 0x07dce, 0x07dfb,
    0x07ec0, 0x07d1a, 0x07a07, 0x05c84, 0x0c471, 0x07cf2, 0x0baef, 0x0b9d2,
    0x05deb, 0x07bd6, 0x0b845, 0x05d98, 0x0b91a, 0x0bae8, 0x0c4e0, 0x0dc31,
    0x0f93d, 0x0bbce, 0x0d1d2, 0x0f7a9, 0x0d9b9, 0x0bbcb, 0x0b900, 0x0aad7,
    0x0babd, 0x0c4e1, 0x0f46f, 0x0c588, 0x0c58b, 0x160e6, 0x0bbcf, 0x0bac3,
    0x0f945, 0x0f7a3, 0x0d1c1, 0x0fb8e, 0x0f7a4, 0x0fb8c, 0x0f40c, 0x0c473,
    0x0fd72, 0x0bbcd, 0x0fffa, 0x0f940, 0x0bbc9, 0x0f7a8, 0x1a1ed, 0x0bbc5,
    0x1f26f, 0x163fd, 0x160c7, 0x1a1f5, 0x0f947, 0x163fc, 0x154b3, 0x0fff6,
    0x163f6, 0x160e9, 0x1a1f0, 0x0bab9, 0x0baba, 0x17086, 0x0b903, 0x0fd75,
    0x0f308, 0x176f3, 0x163ff, 0x0fd7d, 0x1bb78, 0x163fb, 0x188db, 0x1a1f7,
    0x154b2, 0x172fd, 0x163f4, 0x1bb73, 0x172ff, 0x0babc, 0x0f97d, 0x1a1f3,
    0x1bb6d, 0x1ffd5, 0x1a1f4, 0x1f272, 0x17380, 0x17382, 0x1ffe7, 0x0bac8,
    0x0bbc4, 0x188d3, 0x160e0, 0x0fd7b, 0x1725f, 0x172f5, 0x1bb79, 0x1fad9,
    0x1f269, 0x188d0, 0x0bac4, 0x0bac5, 0x31185, 0x188d2, 0x188cc, 0x31187,
    0x3e7fe, 0x188d1, 0x1bb6c, 0x1f268, 0x1fad2, 0x1ffd9, 0x1a1ea, 0x1bb68,
    0x1facb, 0x3fdb2, 0x1e81a, 0x188ce, 0x172fb, 0x1a1ef, 0x1face, 0x1bb70,
    0x0bac1, 0x1bb6b, 0x172f8, 0x1bb66, 0x1ffdf, 0x1bb6a, 0x1ffd7, 0x1f266,
    0x176f8, 0x37653, 0x1fa7e, 0x31182, 0x1fac8, 0x2c7e3, 0x370ee, 0x176ec,
    0x176e9, 0x2e4bc, 0x160c5, 0x3765a, 0x3ce9c, 0x17373, 0x176e8, 0x188d4,
    0x176f1, 0x176ef, 0x37659, 0x1bb7c, 0x1ffde, 0x176f2, 0x3118b, 0x2c7d4,
    0x37651, 0x5ce9f, 0x37650, 0x31191, 0x3f4f6, 0x3f4f5, 0x7a06c, 0x1fac1,
    0x5c97b, 0x2c7e0, 0x79d3a, 0x3e7fd, 0x2c7df, 0x3f4f0, 0x7a06d, 0x376c1,
    0x79d3b, 0x00004, 0x00014, 0x00059, 0x000ab, 0x000b8, 0x00177, 0x001f5,
    0x001f2, 0x00315, 0x003fc, 0x005bd, 0x0062d, 0x006e8, 0x007dd, 0x00b04,
    0x007cd, 0x00b1e, 0x00d1e, 0x00f15, 0x00f3b, 0x00f41, 0x01548, 0x018b0,
    0x0173b, 0x01884, 0x01a1c, 0x01bb4, 0x01f25, 0x017b5, 0x0176d, 0x01ef8,
    0x02e73, 0x03107, 0x03125, 0x03105, 0x02e49, 0x03ce8, 0x03ef9, 0x03e5e,
    0x02e72, 0x03471, 0x03fd9, 0x0623f, 0x078a0, 0x06867, 0x05cb3, 0x06272,
    0x068ec, 0x06e9a, 0x079d4, 0x06e98, 0x0b1aa, 0x06e1a, 0x07985, 0x068ee,
    0x06e9b, 0x05c88, 0x0b1ac, 0x07dfa, 0x05d65, 0x07cf0, 0x07cbf, 0x0c475,
    0x160eb, 0x1bb7e, 0x0f7a6, 0x1fedd, 0x160e3, 0x0fffb, 0x0fb8d, 0x0fff9,
    0x0d1c0, 0x0c58c, 0x1a1e9, 0x0bab8, 0x0f5cf, 0x0fff5, 0x376c5, 0x1a1ec,
    0x160ed, 0x1fede, 0x1fac9, 0x1a1eb, 0x1f224, 0x176ee, 0x0fd79, 0x17080,
    0x17387, 0x1bb7a, 0x1ffe9, 0x176f7, 0x17385, 0x17781, 0x2c7d5, 0x17785,
    0x1ffe3, 0x163f5, 0x1fac2, 0x3e7f9, 0x3118d, 0x3fdb1, 0x1ffe2, 0x1f226,
    0x3118a, 0x2c7d9, 0x31190, 0x3118c, 0x3f4f3, 0x1bb7f, 0x1bb72, 0x31184,
    0xb92f4, 0x3e7fb, 0x6e1d9, 0x1faca, 0x62300, 0x3fdb8, 0x3d037, 0x3e7fc,
    0x62301, 0x3f4f2, 0x1f26a, 0x0000e, 0x00063, 0x000f8, 0x001ee, 0x00377,
    0x003f7, 0x006e3, 0x005cc, 0x00b05, 0x00dd2, 0x00fd4, 0x0172e, 0x0172a,
    0x01e23, 0x01f2d, 0x01763, 0x01769, 0x0176c, 0x02e75, 0x03104, 0x02ec1,
    0x03e58, 0x0583f, 0x03f62, 0x03f44, 0x058c5, 0x0623c, 0x05cf4, 0x07bd7,
    0x05d9d, 0x0aad2, 0x05d66, 0x0b1a9, 0x0b078, 0x07cfe, 0x0b918, 0x0c46f,
    0x0b919, 0x0b847, 0x06e1b, 0x0b84b, 0x0aad8, 0x0fd74, 0x172f4, 0x17081,
    0x0f97c, 0x1f273, 0x0f7a0, 0x0fd7c, 0x172f7, 0x0fd7a, 0x1bb77, 0x172fe,
    0x1f270, 0x0fd73, 0x1bb7b, 0x1a1bc, 0x1bb7d, 0x0bbc3, 0x172f6, 0x0baeb,
    0x0fb8f, 0x3f4f4, 0x3fdb4, 0x376c8, 0x3e7fa, 0x1ffd0, 0x62303, 0xb92f5,
    0x1f261, 0x31189, 0x3fdb5, 0x2c7db, 0x376c9, 0x1fad6, 0x1fad1, 0x00015,
    0x000f0, 0x002e0, 0x0058e, 0x005d7, 0x00c4d, 0x00fa1, 0x00bdb, 0x01756,
    0x01f70, 0x02c19, 0x0313c, 0x0370f, 0x03cc0, 0x02ea8, 0x058c6, 0x058c7,
    0x02eb7, 0x058d0, 0x07d18, 0x0aa58, 0x0b848, 0x05d9e, 0x05d6c, 0x0b84c,
    0x0c589, 0x0b901, 0x163f8, 0x0bac9, 0x0b9c5, 0x0f93c, 0x188d8, 0x0bbc7,
    0x160ec, 0x0fd6f, 0x188d9, 0x160ea, 0x0f7a7, 0x0f944, 0x0baab, 0x0dc3a,
    0x188cf, 0x176fb, 0x2c7d8, 0x2c7d7, 0x1bb75, 0x5ce9e, 0x62302, 0x370ed,
    0x176f4, 0x1ffd1, 0x370ef, 0x3f4f8, 0x376c7, 0x1ffe1, 0x376c6, 0x176ff,
    0x6e1d8, 0x176f6, 0x17087, 0x0f5cd, 0x00035, 0x001a0, 0x0058b, 0x00aac,
    0x00b9a, 0x0175f, 0x01e22, 0x01e8c, 0x01fb2, 0x0310b, 0x058d1, 0x0552e,
    0x05c27, 0x0686e, 0x07ca7, 0x0c474, 0x0dc33, 0x07bf2, 0x05de9, 0x07a35,
    0x0baaa, 0x0b9eb, 0x0fb95, 0x0b9b8, 0x17381, 0x1f262, 0x188cd, 0x17088,
    0x172fa, 0x0f7a2, 0x1fad3, 0x0bac0, 0x3765c, 0x1fedf, 0x1f225, 0x1fad4,
    0x2c7da, 0x5ce9d, 0x3e7f8, 0x1e203, 0x188d7, 0x00054, 0x002c0, 0x007a1,
    0x00f78, 0x01b36, 0x01fa3, 0x0313a, 0x03436, 0x0343a, 0x07d1d, 0x07bd8,
    0x05cdf, 0x0b846, 0x0b189, 0x0d9b8, 0x0fff8, 0x0d9be, 0x0c58a, 0x05dea,
    0x0d1d3, 0x160e4, 0x1f26b, 0x188da, 0x1e202, 0x2c7d2, 0x163fe, 0x31193,
    0x17782, 0x376c2, 0x2c7d1, 0x3fdb0, 0x3765d, 0x2c7d0, 0x1fad0, 0x1e201,
    0x188dd, 0x2c7e2, 0x37657, 0x37655, 0x376c4, 0x376c0, 0x176ea, 0x0006f,
    0x003cf, 0x00dd5, 0x01f23, 0x02c61, 0x02ed0, 0x05d54, 0x0552d, 0x07883,
    0x0b1a8, 0x0b91c, 0x0babf, 0x0b902, 0x0f7aa, 0x0f7a5, 0x1a1e8, 0x1ffd6,
    0x0babe, 0x1a1bf, 0x163f3, 0x1ffd8, 0x1fad7, 0x1f275, 0x1ffdc, 0x0007d,
    0x005bc, 0x01549, 0x02a99, 0x03def, 0x06273, 0x079d6, 0x07d1b, 0x0aad3,
    0x0d0fc, 0x2c7dd, 0x188d6, 0x0bac2, 0x2c7e1, 0x1bb76, 0x1a1bd, 0x31186,
    0x0fd78, 0x1a1be, 0x31183, 0x3fdb6, 0x3f4f1, 0x37652, 0x1fad5, 0x3f4f9,
    0x3e7ff, 0x5ce9c, 0x3765b, 0x31188, 0x17372, 0x000bd, 0x0078b, 0x01f21,
    0x03c43, 0x03ded, 0x0aad6, 0x07ec1, 0x0f942, 0x05c86, 0x17089, 0x0babb,
    0x1ffe8, 0x2c7de, 0x1f26e, 0x1fac4, 0x3f4f7, 0x37656, 0x1fa7d, 0x376c3,
    0x3fdb3, 0x3118f, 0x1fac6, 0x000f8, 0x007ed, 0x01efd, 0x03e7a, 0x05c91,
    0x0aad9, 0x0baec, 0x0dc32, 0x0f46e, 0x1e200, 0x176fa, 0x3765e, 0x3fdb7,
    0x2c7d6, 0x3fdb9, 0x37654, 0x37658, 0x3118e, 0x1ffdb, 0x000f6, 0x00c43,
    0x03106, 0x068ef, 0x0b84d, 0x0b188, 0x0bbcc, 0x1f264, 0x1bb69, 0x17386,
    0x1fac0, 0x00171, 0x00f39, 0x03e41, 0x068ed, 0x0d9bc, 0x0f7a1, 0x1bb67,
    0x1ffdd, 0x176f9, 0x001b9, 0x00f7d, 0x03f63, 0x0d0fd, 0x0b9ea, 0x188dc,
    0x1fac3, 0x1a1f2, 0x31192, 0x1ffe4, 0x001f6, 0x01754, 0x06865, 0x0f309,
    0x160e5, 0x176f5, 0x3765f, 0x1facc, 0x001e9, 0x01a1a, 0x06201, 0x0f105,
    0x176f0, 0x002df, 0x01756, 0x05d6d, 0x163fa, 0x176ed, 0x00342, 0x02e40,
    0x0d0ff, 0x17082, 0x003cd, 0x02a98, 0x0fffc, 0x2c7dc, 0x1fa7f, 0x003fe,
    0x03764, 0x0fffd, 0x176fc, 0x1fac5, 0x002f7, 0x02ed1, 0x0fb97, 0x0058a,
    0x02edc, 0x0bbc8, 0x005d4, 0x0623d, 0x160e8, 0x0062e, 0x05830, 0x163f9,
    0x006eb, 0x06205, 0x1f274, 0x007de, 0x062c9, 0x1f265, 0x005c9, 0x05cde,
    0x1ffd3, 0x005d4, 0x07988, 0x007ce, 0x0b849, 0x00b1b, 0x05c89, 0x1fac7,
    0x00b93, 0x05c83, 0x00b9e, 0x0f14f, 0x00c4a, 0x0b9c7, 0x00dd4, 0x0c470,
    0x1f271, 0x00f38, 0x0fb96, 0x176eb, 0x00fa0, 0x163f7, 0x00bb2, 0x0b91b,
    0x00bbe, 0x0f102, 0x00f44, 0x0f946, 0x1facd, 0x00f79, 0x0d9bd, 0x0154d,
    0x0bbc6, 0x00fd2, 0x160e7, 0x0172b, 0x188cb, 0x0175e, 0x0fd76, 0x0175c,
    0x1bb71, 0x0189f, 0x1a1ee, 0x01f24, 0x1a1f6, 0x01ba7, 0x0bbca, 0x01f7d,
    0x0ffff, 0x01f2e, 0x1bb65, 0x01bb5, 0x172f9, 0x01fef, 0x1f26c, 0x01f3e,
    0x0fd77, 0x01762, 0x1bb6e, 0x01ef9, 0x172fc, 0x01fa0, 0x02ab7, 0x02e4a,
    0x1f267, 0x01fb3, 0x1ffda, 0x02e42, 0x03101, 0x17780, 0x0313d, 0x03475,
    0x17784, 0x03126, 0x1facf, 0x03c51, 0x17783, 0x03e40, 0x1ffe5, 0x03663,
    0x1ffe0, 0x03e8f, 0x1f26d, 0x0343c, 0x03cc1, 0x176fd, 0x03e45, 0x02ec0,
    0x03f61, 0x03dee, 0x03fd8, 0x0583e, 0x02e45, 0x03e59, 0x03d02, 0x05ce8,
    0x05568, 0x176fe, 0x02f69, 0x1fad8, 0x058c1, 0x05c83, 0x1ffe6, 0x06271,
    0x06e1c, 0x062c7, 0x068e1, 0x0552f, 0x06864, 0x06866, 0x06e99, 0x05cbc,
    0x07ca5, 0x078a1, 0x05c82, 0x07dcf, 0x0623b, 0x0623e, 0x068e8, 0x07a36,
    0x05d9c, 0x0b077, 0x07cf3, 0x07a34, 0x07ca4, 0x07d19, 0x079d2, 0x07d1c,
    0x07bd9, 0x0b84a, 0x0fb94, 0x0aad5, 0x0dc30, 0x07bf3, 0x0baee, 0x0b07a,
    0x0c472, 0x0b91e, 0x0d9ba, 0x05d9f, 0x0d0fe, 0x0b9c6, 0x05c87, 0x0f14e,
    0x0baed, 0x0b92e, 0x0f103, 0x0b9c4, 0x0fb91, 0x0d9bb, 0x0b1ab, 0x0c58d,
    0x0fffe, 0x0f93b, 0x0f941, 0x0baea, 0x0b91f, 0x0f5cc, 0x0d9bf, 0x0f943,
    0x0f104, 0x1f260, 0x0fb92, 0x0f93f, 0x0f3a6, 0x0bac7, 0x0f7ab, 0x0bac6,
    0x17383, 0x0fd6d, 0x0bae9, 0x0fd6e, 0x1e74f, 0x188ca, 0x1f227, 0x0fb93,
    0x0fb90, 0x0fff7, 0x17085, 0x17083, 0x160e1, 0x17084, 0x0f93e, 0x160e2,
    0x160c6, 0x1a1f1, 0x1bb6f, 0x17384, 0x0fd70, 0x1f263, 0x188d5, 0x173a6,
    0x0f5ce, 0x163f2, 0x0fd71, 0x1ffd2, 0x160c4, 0x1ffd4, 0x2c7d3, 0x1bb74,
};

static const uint8_t coef3_huffbits[1072] = {
     9,  7,  2,  3,  4,  4,  5,  5,
     6,  6,  6,  6,  7,  7,  7,  7,
     7,  8,  8,  8,  8,  8,  8,  8,
     9,  9,  9,  9,  9,  9,  9,  9,
     9, 10, 10, 10, 10, 10, 10, 10,
    10, 10, 10, 11, 11, 11, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 11,
    11, 12, 11, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 13,
    13, 14, 13, 14, 14, 13, 14, 13,
    13, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 14, 14, 15,
    14, 14, 15, 14, 14, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 14, 15,
    15, 15, 15, 15, 15, 15, 15, 15,
    15, 14, 15, 15, 15, 15, 15, 15,
    15, 15, 15, 16, 15, 16, 16, 16,
    16, 15, 15, 16, 16, 16, 16, 16,
    15, 16, 16, 16, 15, 16, 15, 15,
    16, 15, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 17, 16, 17, 16, 17, 17, 16,
    17, 16, 17, 16, 16, 17, 17, 17,
    16, 17, 16, 16, 17, 16, 17, 16,
    17, 17, 16, 16, 17, 17, 17, 17,
    17, 17, 17, 17, 16, 17, 17, 16,
    17, 17, 17, 17, 17, 17, 17, 17,
    16, 18, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 16, 17,
    17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 18,
    17, 17, 17, 17, 18, 17, 17, 18,
    19, 17, 17, 17, 18, 17, 17, 17,
    18, 18, 18, 17, 17, 17, 18, 17,
    17, 17, 17, 17, 17, 17, 17, 17,
    18, 18, 18, 18, 18, 18, 18, 18,
    18, 18, 17, 18, 18, 18, 18, 17,
    18, 18, 18, 17, 17, 18, 18, 18,
    18, 19, 18, 18, 19, 19, 20, 18,
    19, 18, 19, 19, 18, 19, 20, 18,
    19,  4,  6,  7,  8,  9,  9,  9,
    10, 10, 10, 11, 11, 11, 11, 12,
    12, 12, 12, 12, 12, 13, 13, 13,
    13, 13, 13, 13, 13, 14, 14, 14,
    14, 14, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 15, 15, 15, 15, 15,
    15, 15, 15, 15, 16, 15, 15, 15,
    15, 16, 16, 15, 16, 16, 15, 16,
    17, 17, 17, 17, 17, 16, 16, 16,
    16, 16, 17, 17, 17, 16, 18, 17,
    17, 17, 18, 17, 17, 18, 17, 17,
    17, 17, 17, 18, 17, 18, 18, 18,
    17, 17, 18, 19, 18, 18, 17, 17,
    18, 18, 18, 18, 19, 17, 17, 18,
    20, 19, 19, 18, 19, 18, 19, 19,
    19, 19, 17,  5,  7,  9, 10, 10,
    11, 11, 12, 12, 12, 13, 13, 13,
    13, 13, 14, 14, 14, 14, 14, 15,
    14, 15, 15, 15, 15, 15, 16, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 16, 15, 16, 16, 17, 17, 17,
    16, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 17, 16,
    16, 19, 18, 18, 19, 17, 19, 20,
    17, 18, 18, 18, 18, 18, 18,  6,
     8, 10, 11, 12, 12, 12, 13, 13,
    13, 14, 14, 14, 14, 15, 15, 15,
    15, 15, 15, 16, 16, 16, 16, 16,
    16, 17, 17, 17, 16, 16, 17, 17,
    17, 17, 17, 17, 17, 16, 16, 16,
    17, 18, 18, 18, 17, 19, 19, 18,
    18, 17, 18, 19, 18, 17, 18, 18,
    19, 18, 17, 17,  6,  9, 11, 12,
    13, 13, 13, 14, 14, 14, 15, 15,
    15, 15, 15, 16, 16, 16, 16, 16,
    16, 17, 16, 17, 17, 17, 17, 17,
    17, 17, 18, 17, 18, 17, 17, 18,
    18, 19, 19, 17, 17,  7, 10, 12,
    13, 13, 14, 14, 14, 14, 15, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 17, 17, 17, 17, 18, 17, 18,
    18, 18, 18, 18, 18, 18, 18, 17,
    17, 18, 18, 18, 18, 18, 18,  7,
    10, 12, 13, 14, 15, 15, 15, 15,
    16, 16, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 18, 17, 17,  8,
    11, 13, 14, 15, 15, 15, 15, 16,
    16, 18, 17, 17, 18, 17, 17, 18,
    17, 17, 18, 18, 19, 18, 18, 19,
    19, 19, 18, 18, 18,  8, 11, 13,
    14, 15, 16, 16, 16, 16, 17, 17,
    17, 18, 17, 18, 19, 18, 18, 18,
    18, 18, 18,  8, 12, 14, 15, 15,
    16, 16, 16, 17, 17, 18, 18, 18,
    18, 18, 18, 18, 18, 17,  9, 12,
    14, 15, 16, 16, 17, 17, 17, 17,
    18,  9, 12, 14, 15, 16, 17, 17,
    17, 18,  9, 13, 15, 16, 17, 17,
    18, 17, 18, 17,  9, 13, 15, 16,
    17, 18, 18, 18, 10, 13, 15, 16,
    18, 10, 14, 16, 17, 18, 10, 14,
    16, 17, 10, 14, 16, 18, 18, 10,
    14, 16, 18, 18, 11, 15, 16, 11,
    15, 17, 11, 15, 17, 11, 15, 17,
    11, 15, 17, 11, 15, 17, 12, 16,
    17, 12, 15, 12, 16, 12, 16, 18,
    12, 16, 12, 16, 12, 16, 12, 16,
    17, 12, 16, 18, 12, 17, 13, 16,
    13, 16, 13, 16, 18, 13, 16, 13,
    17, 13, 17, 13, 17, 13, 17, 13,
    17, 13, 17, 13, 17, 13, 17, 13,
    16, 13, 17, 13, 17, 13, 17, 14,
    17, 14, 17, 14, 17, 14, 14, 14,
    17, 14, 17, 14, 14, 18, 14, 14,
    18, 14, 18, 14, 18, 14, 17, 14,
    17, 14, 17, 14, 14, 18, 14, 15,
    15, 15, 14, 15, 15, 14, 15, 15,
    15, 18, 15, 18, 15, 15, 17, 15,
    15, 15, 15, 15, 15, 15, 15, 15,
    15, 15, 16, 15, 15, 15, 15, 16,
    16, 16, 16, 16, 15, 15, 15, 15,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 17, 16, 16,
    16, 17, 16, 16, 16, 17, 17, 17,
    17, 17, 16, 17, 17, 17, 17, 16,
    16, 16, 17, 17, 17, 17, 16, 17,
    17, 17, 17, 17, 17, 17, 17, 17,
    17, 17, 17, 17, 17, 17, 18, 17,
};

static const uint32_t coef4_huffcodes[476] = {
    0x00f01, 0x0001e, 0x00000, 0x00004, 0x00006, 0x0000d, 0x0000a, 0x00017,
    0x0001d, 0x00017, 0x0002c, 0x00031, 0x00039, 0x0003e, 0x00039, 0x0005a,
    0x00066, 0x00070, 0x0007b, 0x00070, 0x00077, 0x000af, 0x000c9, 0x000f2,
    0x000f4, 0x000b2, 0x000e3, 0x0015b, 0x0015d, 0x00181, 0x0019d, 0x001e3,
    0x001c5, 0x002b5, 0x002db, 0x00338, 0x003c3, 0x003cc, 0x003f0, 0x002cd,
    0x003fa, 0x003a1, 0x005b4, 0x00657, 0x007ab, 0x0074d, 0x0074c, 0x00ac1,
    0x00ac5, 0x0076b, 0x00ca8, 0x00f04, 0x00f00, 0x00fe3, 0x00f3c, 0x00f10,
    0x00f39, 0x00fe6, 0x00e26, 0x00e90, 0x016c5, 0x01827, 0x01954, 0x015c5,
    0x01958, 0x01f8a, 0x01c4a, 0x02b0f, 0x02b41, 0x02b0e, 0x033c6, 0x03050,
    0x01c4f, 0x02d88, 0x0305c, 0x03c18, 0x02b4f, 0x02cc2, 0x03a47, 0x05680,
    0x0569d, 0x06442, 0x06443, 0x06446, 0x0656e, 0x06444, 0x07120, 0x0748a,
    0x0c1ba, 0x07e22, 0x07aa6, 0x07f25, 0x07aa7, 0x07e20, 0x0c11b, 0x0c118,
    0x07aa5, 0x0ad0a, 0x0f389, 0x19ebb, 0x0caad, 0x0fe42, 0x0fe40, 0x16c34,
    0x2b4e5, 0x33d65, 0x16c30, 0x1e7ae, 0x1e25c, 0x18370, 0x1e703, 0x19eba,
    0x16c37, 0x0e234, 0x16c6e, 0x00004, 0x0002a, 0x00061, 0x00075, 0x000cb,
    0x000ff, 0x00190, 0x001eb, 0x001d1, 0x002b9, 0x00307, 0x00339, 0x0033f,
    0x003fb, 0x003b4, 0x0060c, 0x00679, 0x00645, 0x0067d, 0x0078a, 0x007e3,
    0x00749, 0x00ac4, 0x00ad2, 0x00ae3, 0x00c10, 0x00c16, 0x00ad1, 0x00cf4,
    0x00fe2, 0x01586, 0x00e9d, 0x019f1, 0x01664, 0x01e26, 0x01d38, 0x02b4d,
    0x033c5, 0x01fc2, 0x01fc3, 0x01d28, 0x03c1d, 0x0598e, 0x0f094, 0x07aa4,
    0x0ad38, 0x0ac0c, 0x0c11a, 0x079ea, 0x0c881, 0x0fe44, 0x0b635, 0x0ac0d,
    0x0b61e, 0x05987, 0x07121, 0x0f382, 0x0f387, 0x0e237, 0x0fe47, 0x0f383,
    0x0f091, 0x0f385, 0x0e233, 0x182ee, 0x19eb8, 0x1663e, 0x0f093, 0x00014,
    0x00058, 0x00159, 0x00167, 0x00300, 0x003d4, 0x005b5, 0x0079d, 0x0076a,
    0x00b67, 0x00b60, 0x00f05, 0x00cf0, 0x00f17, 0x00e95, 0x01822, 0x01913,
    0x016c2, 0x0182f, 0x01959, 0x01fcb, 0x01e27, 0x01c40, 0x033c7, 0x01e7b,
    0x01c49, 0x02d89, 0x01e23, 0x01660, 0x03f12, 0x02cc6, 0x033e1, 0x05b34,
    0x0609a, 0x06569, 0x07488, 0x07e21, 0x0cf5f, 0x0712c, 0x0389d, 0x067cf,
    0x07f28, 0x1663f, 0x33d67, 0x1663d, 0x1e25d, 0x3c1ab, 0x15c44, 0x16c36,
    0x0001f, 0x000ec, 0x00323, 0x005b2, 0x0079f, 0x00ac2, 0x00f16, 0x00e9e,
    0x01956, 0x01e0f, 0x019ea, 0x01666, 0x02b89, 0x02b02, 0x02d8c, 0x03c1b,
    0x03c19, 0x032b5, 0x03f9c, 0x02ccf, 0x03897, 0x05b35, 0x0ad02, 0x07f29,
    0x06441, 0x03884, 0x07888, 0x0784e, 0x06568, 0x0c1bb, 0x05986, 0x067cc,
    0x0fe49, 0x0fe48, 0x0c1bc, 0x0fe41, 0x18371, 0x1663c, 0x0e231, 0x0711e,
    0x0ad09, 0x0f092, 0x0002d, 0x001db, 0x00781, 0x00c1a, 0x00f55, 0x01580,
    0x01ea8, 0x02d9b, 0x032af, 0x03f16, 0x03c1c, 0x07834, 0x03c45, 0x0389c,
    0x067ce, 0x06445, 0x0c1b9, 0x07889, 0x07f3a, 0x0784f, 0x07f2b, 0x0ad0b,
    0x0f090, 0x0c11d, 0x0e94e, 0x0711f, 0x0e9f1, 0x0f38e, 0x079e9, 0x0ad03,
    0x0f09b, 0x0caae, 0x0fe46, 0x2b4e6, 0x0e9f0, 0x19eb6, 0x67ac1, 0x67ac0,
    0x33d66, 0x0f388, 0x00071, 0x003a0, 0x00ca9, 0x01829, 0x01d39, 0x02b43,
    0x02cc4, 0x06554, 0x0f09a, 0x0b61f, 0x067cd, 0x0711c, 0x0b636, 0x07f2a,
    0x0b634, 0x0c11f, 0x0cf5e, 0x0b61d, 0x0f06b, 0x0caab, 0x0c1be, 0x0e94c,
    0x0f099, 0x182ed, 0x0e94f, 0x0c119, 0x0e232, 0x2b4e4, 0x0f38a, 0x19eb4,
    0x1e25f, 0x0e94d, 0x000b7, 0x00785, 0x016cc, 0x03051, 0x033c4, 0x0656f,
    0x03891, 0x0711d, 0x0caaf, 0x0f097, 0x07489, 0x0f098, 0x0c880, 0x0caaa,
    0x0f386, 0x19eb7, 0x16c6f, 0x0f384, 0x182e8, 0x182e9, 0x0e230, 0x1e700,
    0x33d62, 0x33d63, 0x33d64, 0x16c33, 0x0e216, 0x000fd, 0x00c15, 0x01665,
    0x03c4a, 0x07f3b, 0x07896, 0x0c11c, 0x0e215, 0x16c32, 0x0f38b, 0x0f38d,
    0x182ea, 0x1e701, 0x712df, 0x15c46, 0x00194, 0x00fe0, 0x03f13, 0x0748b,
    0x0f096, 0x0cf80, 0x1e25e, 0xe25bd, 0x33d61, 0x16c31, 0x001f9, 0x01912,
    0x05710, 0x0f3d0, 0x0c1bf, 0x00301, 0x01e24, 0x0ad08, 0x003cd, 0x01c41,
    0x0c1bd, 0x00563, 0x03a52, 0x0f3d1, 0x00570, 0x02cce, 0x0e217, 0x0067b,
    0x0655d, 0x0074b, 0x06447, 0x00c12, 0x074fb, 0x00f08, 0x0b61c, 0x00e22,
    0x0fe43, 0x016c7, 0x01836, 0x019f2, 0x01c43, 0x01d3f, 0x01fcf, 0x02b4c,
    0x0304c, 0x032b6, 0x03a46, 0x05607, 0x03f17, 0x02cc5, 0x0609b, 0x0655c,
    0x07e23, 0x067c1, 0x07f26, 0x07f27, 0x0f095, 0x0e9f3, 0x0cf81, 0x0c11e,
    0x0caac, 0x0f38f, 0x0e9f2, 0x074fa, 0x0e236, 0x0fe45, 0x1c428, 0x0e235,
    0x182ef, 0x19eb5, 0x0f3d6, 0x182ec, 0x16c35, 0x0f38c, 0x2b4e7, 0x15c47,
    0xe25bc, 0x1e702, 0x1c4b6, 0x0e25a, 0x3c1aa, 0x15c45, 0x1c429, 0x19eb9,
    0x1e7af, 0x182eb, 0x1e0d4, 0x3896e,
};

static const uint8_t coef4_huffbits[476] = {
    12,  6,  2,  3,  4,  4,  5,  5,
     5,  6,  6,  6,  6,  6,  7,  7,
     7,  7,  7,  8,  8,  8,  8,  8,
     8,  9,  9,  9,  9,  9,  9,  9,
    10, 10, 10, 10, 10, 10, 10, 11,
    10, 11, 11, 11, 11, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 13, 13, 13, 13, 13, 13,
    13, 13, 14, 14, 14, 14, 14, 14,
    14, 14, 14, 14, 14, 15, 15, 15,
    15, 15, 15, 15, 15, 15, 16, 16,
    16, 15, 15, 15, 15, 15, 16, 16,
    15, 16, 16, 17, 16, 16, 16, 17,
    18, 18, 17, 17, 17, 17, 17, 17,
    17, 17, 17,  4,  6,  7,  8,  8,
     8,  9,  9, 10, 10, 10, 10, 10,
    10, 11, 11, 11, 11, 11, 11, 11,
    12, 12, 12, 12, 12, 12, 12, 12,
    12, 13, 13, 13, 14, 13, 14, 14,
    14, 13, 13, 14, 14, 16, 16, 15,
    16, 16, 16, 15, 16, 16, 16, 16,
    16, 16, 16, 16, 16, 17, 16, 16,
    16, 16, 17, 17, 17, 18, 16,  5,
     8,  9, 10, 10, 10, 11, 11, 12,
    12, 12, 12, 12, 12, 13, 13, 13,
    13, 13, 13, 13, 13, 14, 14, 13,
    14, 14, 13, 14, 14, 15, 14, 15,
    15, 15, 16, 15, 16, 16, 15, 15,
    15, 18, 18, 18, 17, 18, 17, 17,
     6,  9, 10, 11, 11, 12, 12, 13,
    13, 13, 13, 14, 14, 14, 14, 14,
    14, 14, 14, 15, 15, 15, 16, 15,
    15, 15, 15, 15, 15, 16, 16, 15,
    16, 16, 16, 16, 17, 18, 17, 16,
    16, 16,  7, 10, 11, 12, 12, 13,
    13, 14, 14, 14, 14, 15, 14, 15,
    15, 15, 16, 15, 15, 15, 15, 16,
    16, 16, 17, 16, 17, 16, 15, 16,
    16, 16, 16, 18, 17, 17, 19, 19,
    18, 16,  7, 11, 12, 13, 14, 14,
    15, 15, 16, 16, 15, 16, 16, 15,
    16, 16, 16, 16, 16, 16, 16, 17,
    16, 17, 17, 16, 17, 18, 16, 17,
    17, 17,  8, 11, 13, 14, 14, 15,
    15, 16, 16, 16, 16, 16, 16, 16,
    16, 17, 17, 16, 17, 17, 17, 17,
    18, 18, 18, 17, 17,  8, 12, 14,
    14, 15, 15, 16, 17, 17, 16, 16,
    17, 17, 20, 17,  9, 12, 14, 16,
    16, 16, 17, 21, 18, 17,  9, 13,
    15, 16, 16, 10, 13, 16, 10, 14,
    16, 11, 15, 16, 11, 15, 17, 11,
    15, 12, 15, 12, 16, 12, 16, 13,
    16, 13, 13, 13, 14, 14, 13, 14,
    14, 14, 15, 15, 14, 15, 15, 15,
    15, 15, 15, 15, 16, 17, 16, 16,
    16, 16, 17, 16, 17, 16, 18, 17,
    17, 17, 16, 17, 17, 16, 18, 17,
    21, 17, 18, 17, 18, 17, 18, 17,
    17, 17, 17, 19,
};

static const uint32_t coef5_huffcodes[435] = {
    0x00347, 0x0000b, 0x00001, 0x00001, 0x0000c, 0x00004, 0x00010, 0x00015,
    0x0001f, 0x0000b, 0x00023, 0x00026, 0x00029, 0x00035, 0x00037, 0x00001,
    0x00015, 0x0001a, 0x0001d, 0x0001c, 0x0001e, 0x0004e, 0x00049, 0x00051,
    0x00078, 0x00004, 0x00000, 0x00008, 0x0000d, 0x0007b, 0x00005, 0x00032,
    0x00095, 0x00091, 0x00096, 0x000a1, 0x000d9, 0x00003, 0x00019, 0x00061,
    0x00066, 0x00060, 0x00017, 0x0000e, 0x00063, 0x001a0, 0x001b7, 0x001e6,
    0x001e7, 0x001b6, 0x00018, 0x001e8, 0x00038, 0x00031, 0x00005, 0x0003d,
    0x00027, 0x001ea, 0x0001a, 0x000c5, 0x000f9, 0x000ff, 0x000db, 0x00250,
    0x000fc, 0x0025c, 0x00008, 0x00075, 0x003d7, 0x003d3, 0x001b0, 0x0007c,
    0x003ca, 0x00036, 0x00189, 0x004a6, 0x004a2, 0x004fb, 0x000c0, 0x0007f,
    0x0009a, 0x00311, 0x0006e, 0x0009b, 0x0068c, 0x006c0, 0x00484, 0x00012,
    0x000c3, 0x0094f, 0x00979, 0x009f9, 0x00d09, 0x00da6, 0x00da8, 0x00901,
    0x000c1, 0x00373, 0x00d08, 0x009fa, 0x00d8b, 0x00d85, 0x00d86, 0x000df,
    0x006e2, 0x000ce, 0x00f24, 0x009fe, 0x001f7, 0x007c1, 0x000cf, 0x009fc,
    0x009ff, 0x00d89, 0x00da9, 0x009fd, 0x001f8, 0x01a36, 0x0128c, 0x0129d,
    0x01a37, 0x00196, 0x003ea, 0x00f8b, 0x00d93, 0x01e45, 0x01e58, 0x01e4b,
    0x01e59, 0x013f1, 0x00309, 0x00265, 0x00308, 0x0243a, 0x027e1, 0x00f89,
    0x00324, 0x03cbc, 0x03c86, 0x03695, 0x0243c, 0x0243b, 0x0243e, 0x01e4a,
    0x003a5, 0x03468, 0x03428, 0x03c84, 0x027e0, 0x025e2, 0x01880, 0x00197,
    0x00325, 0x03cb7, 0x0791e, 0x007ec, 0x06c75, 0x004c8, 0x04bc7, 0x004c6,
    0x00983, 0x0481e, 0x01b53, 0x0251b, 0x01b58, 0x00984, 0x04fa8, 0x03cbb,
    0x00f8a, 0x00322, 0x0346a, 0x0243d, 0x00326, 0x03469, 0x0481f, 0x0481d,
    0x00746, 0x09032, 0x01b50, 0x01d13, 0x0d8e4, 0x0481b, 0x06c74, 0x0796b,
    0x07969, 0x00985, 0x0d8e3, 0x00986, 0x00fa2, 0x01301, 0x06c7c, 0x00987,
    0x03cb8, 0x0f4af, 0x00e88, 0x1b1c0, 0x00fce, 0x033eb, 0x03f6a, 0x03f69,
    0x00fcf, 0x0791f, 0x004c9, 0x04871, 0x00fcd, 0x00982, 0x00fcc, 0x00fa3,
    0x01d12, 0x0796c, 0x01b47, 0x00321, 0x0796a, 0x0d8e2, 0x04872, 0x04873,
    0x0000e, 0x00014, 0x0000a, 0x000a0, 0x00012, 0x0007d, 0x001a2, 0x0003b,
    0x0025f, 0x000dd, 0x0027c, 0x00343, 0x00368, 0x0036b, 0x0003e, 0x001fa,
    0x00485, 0x001b3, 0x0007f, 0x001b1, 0x0019e, 0x004ba, 0x007ad, 0x00339,
    0x00066, 0x007a4, 0x00793, 0x006c6, 0x0007e, 0x000f1, 0x00372, 0x009fb,
    0x00d83, 0x00d8a, 0x00947, 0x009f4, 0x001d0, 0x01b09, 0x01b4b, 0x007ec,
    0x003e1, 0x000ca, 0x003ec, 0x02539, 0x04fa9, 0x01b57, 0x03429, 0x03d2a,
    0x00d97, 0x003a7, 0x00dc0, 0x00d96, 0x00dc1, 0x007eb, 0x03cba, 0x00c43,
    0x00c41, 0x01b52, 0x007ef, 0x00323, 0x03cb9, 0x03c83, 0x007d0, 0x007ed,
    0x06c7f, 0x09033, 0x03f6c, 0x36383, 0x1e95d, 0x06c78, 0x00747, 0x01b51,
    0x00022, 0x00016, 0x00039, 0x00252, 0x00079, 0x00486, 0x00338, 0x00369,
    0x00d88, 0x00026, 0x00d87, 0x00f4b, 0x00d82, 0x00027, 0x001e1, 0x01a15,
    0x007c7, 0x012f0, 0x001e0, 0x006d0, 0x01a16, 0x01e44, 0x01e5f, 0x03690,
    0x00d90, 0x00c42, 0x00daf, 0x00d92, 0x00f80, 0x00cfb, 0x0342f, 0x0487f,
    0x01b46, 0x07968, 0x00d95, 0x00d91, 0x01b55, 0x03f68, 0x04bc6, 0x03cbd,
    0x00f81, 0x00320, 0x00069, 0x000fe, 0x006d5, 0x0033f, 0x000de, 0x007c6,
    0x01e40, 0x00d94, 0x00f88, 0x03c8e, 0x03694, 0x00dae, 0x00dad, 0x00267,
    0x003a6, 0x00327, 0x0487e, 0x007ee, 0x00749, 0x004c7, 0x03692, 0x01b56,
    0x00fd1, 0x07a56, 0x06c77, 0x09031, 0x00748, 0x06c7a, 0x0796d, 0x033ea,
    0x06c76, 0x00fd0, 0x36382, 0x1e417, 0x00745, 0x04faf, 0x0d8e1, 0x03f6b,
    0x1e95c, 0x04fad, 0x0009e, 0x004bd, 0x0067c, 0x01b08, 0x003eb, 0x01b45,
    0x03691, 0x0d8e5, 0x07904, 0x00981, 0x007ea, 0x019f4, 0x06c7d, 0x04fab,
    0x04fac, 0x06c7e, 0x01300, 0x06c7b, 0x0006f, 0x003f7, 0x03c85, 0x004c4,
    0x0001e, 0x006e1, 0x03693, 0x01b44, 0x00241, 0x01e46, 0x0019d, 0x00266,
    0x004bb, 0x02538, 0x007ac, 0x01b54, 0x00902, 0x04870, 0x00da7, 0x00900,
    0x00185, 0x06c79, 0x006e3, 0x003e9, 0x01e94, 0x003ed, 0x003f2, 0x0342e,
    0x0346b, 0x0251a, 0x004c5, 0x01881, 0x0481c, 0x01b59, 0x03c87, 0x04fae,
    0x007e9, 0x03f6d, 0x0f20a, 0x09030, 0x04faa, 0x0d8e6, 0x03f6f, 0x0481a,
    0x03f6e, 0x1e416, 0x0d8e7,
};

static const uint8_t coef5_huffbits[435] = {
    10,  4,  2,  4,  4,  5,  5,  5,
     5,  6,  6,  6,  6,  6,  6,  7,
     7,  7,  7,  7,  7,  7,  7,  7,
     7,  8,  8,  8,  8,  7,  8,  8,
     8,  8,  8,  8,  8,  9,  9,  9,
     9,  9,  9,  9,  9,  9,  9,  9,
     9,  9, 10,  9, 10, 10, 10, 10,
    10,  9, 10, 10, 10, 10, 10, 10,
    10, 10, 11, 11, 10, 10, 11, 11,
    10, 11, 11, 11, 11, 11, 12, 12,
    12, 12, 12, 12, 11, 11, 11, 12,
    12, 12, 12, 12, 12, 12, 12, 12,
    12, 12, 12, 12, 12, 12, 12, 13,
    13, 13, 12, 12, 13, 13, 13, 12,
    12, 12, 12, 12, 13, 13, 13, 13,
    13, 14, 14, 14, 14, 13, 13, 13,
    13, 13, 14, 14, 14, 14, 14, 14,
    15, 14, 14, 14, 14, 14, 14, 13,
    14, 14, 14, 14, 14, 14, 15, 14,
    15, 14, 15, 15, 15, 15, 15, 15,
    16, 15, 15, 14, 15, 16, 15, 14,
    14, 15, 14, 14, 15, 14, 15, 15,
    15, 16, 15, 17, 16, 15, 15, 15,
    15, 16, 16, 16, 16, 17, 15, 16,
    14, 16, 16, 17, 16, 16, 16, 16,
    16, 15, 15, 15, 16, 16, 16, 16,
    17, 15, 15, 15, 15, 16, 15, 15,
     4,  7,  8,  8,  9,  9,  9, 10,
    10, 10, 10, 10, 10, 10, 11, 11,
    11, 11, 11, 11, 11, 11, 11, 12,
    12, 11, 11, 11, 12, 12, 12, 12,
    12, 12, 12, 12, 13, 13, 13, 13,
    12, 13, 14, 14, 15, 15, 14, 14,
    14, 14, 14, 14, 14, 15, 14, 14,
    14, 15, 15, 15, 14, 14, 15, 15,
    15, 16, 16, 18, 17, 15, 15, 15,
     6,  9, 10, 10, 11, 11, 12, 12,
    12, 13, 12, 12, 12, 13, 13, 13,
    13, 13, 13, 13, 13, 13, 13, 14,
    14, 14, 14, 14, 14, 14, 14, 15,
    15, 15, 14, 14, 15, 16, 15, 14,
    14, 15,  7, 10, 11, 12, 13, 13,
    13, 14, 14, 14, 14, 14, 14, 14,
    14, 15, 15, 15, 15, 15, 14, 15,
    16, 15, 15, 16, 15, 15, 15, 16,
    15, 16, 18, 17, 15, 15, 16, 16,
    17, 15,  8, 11, 13, 13, 14, 15,
    14, 16, 15, 16, 15, 15, 15, 15,
    15, 15, 17, 15,  9, 12, 14, 15,
    10, 13, 14, 15, 10, 13, 11, 14,
    11, 14, 11, 15, 12, 15, 12, 12,
    13, 15, 13, 14, 13, 14, 14, 14,
    14, 14, 15, 15, 15, 15, 14, 15,
    15, 16, 16, 16, 15, 16, 16, 15,
    16, 17, 16,
};

static const uint16_t levels0[60] = {
    317, 92, 62, 60, 19, 17, 10, 7,
      6,  5,  5,  3,  3,  3,  2, 2,
      2,  2,  2,  2,  2,  1,  2, 2,
      1,  1,  1,  1,  1,  1,  1, 1,
      1,  1,  1,  1,  1,  1,  1, 1,
      1,  1,  1,  1,  1,  1,  1, 1,
      1,  1,  1,  1,  1,  1,  1, 1,
      1,  1,  1,  1,
};

static const uint16_t levels1[40] = {
    311, 91, 61, 28, 10, 6, 5, 2,
      2,  2,  2,  2,  2, 2, 2, 1,
      1,  1,  1,  1,  1, 1, 1, 1,
      1,  1,  1,  1,  1, 1, 1, 1,
      1,  1,  1,  1,  1, 1, 1, 1,
};

static const uint16_t levels2[340] = {
    181, 110, 78, 63, 61, 62, 60, 61,
     33,  41, 41, 19, 17, 19, 12, 11,
      9,  11, 10,  6,  8,  7,  6,  4,
      5,   5,  4,  4,  3,  4,  3,  5,
      3,   4,  3,  3,  3,  3,  3,  3,
      2,   2,  4,  2,  3,  2,  3,  3,
      2,   2,  2,  2,  2,  2,  2,  2,
      3,   2,  2,  2,  2,  2,  2,  2,
      2,   2,  2,  1,  2,  1,  2,  2,
      2,   2,  1,  2,  1,  1,  1,  2,
      2,   1,  2,  1,  2,  2,  2,  2,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,
};

static const uint16_t levels3[180] = {
    351, 122, 76, 61, 41, 42, 24, 30,
     22,  19, 11,  9, 10,  8,  5,  5,
      4,   5,  5,  3,  3,  3,  3,  3,
      3,   3,  2,  2,  3,  2,  2,  2,
      3,   3,  2,  2,  2,  3,  2,  2,
      2,   2,  2,  2,  2,  2,  2,  2,
      2,   2,  2,  2,  2,  2,  1,  1,
      2,   2,  1,  2,  1,  2,  2,  2,
      2,   2,  2,  1,  2,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  2,
      2,   1,  2,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,  1,  1,  1,  1,
      1,   1,  1,  1,
};

static const uint16_t levels4[70] = {
    113, 68, 49, 42, 40, 32, 27, 15,
     10,  5,  3,  3,  3,  3,  2,  2,
      2,  2,  2,  1,  1,  1,  1,  1,
      1,  1,  1,  1,  1,  1,  1,  1,
      1,  1,  1,  1,  1,  1,  1,  1,
      1,  1,  1,  1,  1,  1,  1,  1,
      1,  1,  1,  1,  1,  1,  1,  1,
      1,  1,  1,  1,  1,  1,  1,  1,
      1,  1,  1,  1,  1,  1,
};

static const uint16_t levels5[40] = {
    214, 72, 42, 40, 18, 4, 4, 2,
      2,  2,  2,  2,  1, 1, 2, 1,
      1,  1,  1,  1,  1, 1, 1, 1,
      1,  1,  1,  1,  1, 1, 1, 1,
      1,  1,  1,  1,  1, 1, 1, 1,
};

static const CoefVLCTable coef_vlcs[6] = {
    { sizeof(coef0_huffbits), sizeof(levels0) / 2, coef0_huffcodes, coef0_huffbits, levels0, },
    { sizeof(coef1_huffbits), sizeof(levels1) / 2, coef1_huffcodes, coef1_huffbits, levels1, },
    { sizeof(coef2_huffbits), sizeof(levels2) / 2, coef2_huffcodes, coef2_huffbits, levels2, },
    { sizeof(coef3_huffbits), sizeof(levels3) / 2, coef3_huffcodes, coef3_huffbits, levels3, },
    { sizeof(coef4_huffbits), sizeof(levels4) / 2, coef4_huffcodes, coef4_huffbits, levels4, },
    { sizeof(coef5_huffbits), sizeof(levels5) / 2, coef5_huffcodes, coef5_huffbits, levels5, },
};

#endif /* AVCODEC_WMADATA_H */