xref: /third_party/ffmpeg/libavcodec/wmadata.h (revision cabdff1a)
1/*
2 * WMA compatible decoder
3 * copyright (c) 2002 The FFmpeg Project
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22/**
23 * @file
24 * Various WMA tables.
25 */
26
27#ifndef AVCODEC_WMADATA_H
28#define AVCODEC_WMADATA_H
29
30#include <stdint.h>
31
32#include "wma.h"
33
34/* first value is number of bands */
35static const uint8_t exponent_band_22050[3][25] = {
36    { 10,  4,  8,  4,  8,  8, 12, 20, 24, 24, 16, },
37    { 14,  4,  8,  8,  4, 12, 12, 16, 24, 16, 20, 24, 32, 40, 36, },
38    { 23,  4,  4,  4,  8,  4,  4,  8,  8,  8,  8,  8, 12, 12, 16, 16,
39      24, 24, 32, 44, 48, 60, 84, 72, },
40};
41
42static const uint8_t exponent_band_32000[3][25] = {
43    { 11, 4, 4, 8, 4,  4, 12, 16, 24, 20, 28,  4, },
44    { 15, 4, 8, 4, 4,  8,  8, 16, 20, 12, 20, 20, 28, 40, 56, 8, },
45    { 16, 8, 4, 8, 8, 12, 16, 20, 24, 40, 32, 32, 44, 56, 80, 112, 16, },
46};
47
48static const uint8_t exponent_band_44100[3][25] = {
49    { 12, 4, 4, 4, 4,  4,  8, 8, 8, 12, 16, 20, 36, },
50    { 15, 4, 8, 4, 8,  8,  4, 8, 8, 12, 12, 12, 24, 28, 40, 76, },
51    { 17, 4, 8, 8, 4, 12, 12, 8, 8, 24, 16, 20, 24, 32, 40, 60, 80, 152, },
52};
53
54const uint8_t ff_wma_hgain_hufftab[37][2] = {
55    { 25, 10 }, {  2, 10 }, { 27, 10 }, {  0, 10 }, { 31,  9 }, { 30,  9 },
56    { 23,  8 }, {  7,  8 }, { 29,  8 }, { 26,  8 }, { 24,  7 }, { 10,  5 },
57    { 12,  4 }, { 20,  5 }, { 22,  6 }, {  8,  7 }, { 33, 10 }, { 32, 13 },
58    {  5, 13 }, { 34, 13 }, { 35, 13 }, { 36, 13 }, {  3, 13 }, {  1, 12 },
59    {  4,  9 }, {  6,  9 }, { 28,  9 }, { 18,  4 }, { 16,  4 }, { 21,  5 },
60    {  9,  5 }, { 11,  4 }, { 19,  4 }, { 14,  3 }, { 15,  3 }, { 13,  3 },
61    { 17,  3 },
62};
63
64const float ff_wma_lsp_codebook[NB_LSP_COEFS][16] = {
65    {  1.98732877,  1.97944528,  1.97179088,  1.96260549,  1.95038374,  1.93336114,  1.90719232,  1.86191415, },
66    {  1.97260000,  1.96083160,  1.94982586,  1.93806164,  1.92516608,  1.91010199,  1.89232331,  1.87149812,
67       1.84564818,  1.81358067,  1.77620070,  1.73265264,  1.67907855,  1.60959081,  1.50829650,  1.33120330, },
68    {  1.90109110,  1.86482426,  1.83419671,  1.80168452,  1.76650116,  1.72816320,  1.68502700,  1.63738256,
69       1.58501580,  1.51795181,  1.43679906,  1.33950585,  1.24176208,  1.12260729,  0.96749668,  0.74048265, },
70    {  1.76943864,  1.67822463,  1.59946365,  1.53560582,  1.47470796,  1.41210167,  1.34509536,  1.27339507,
71       1.19303814,  1.09765169,  0.98818722,  0.87239446,  0.74369172,  0.59768184,  0.43168630,  0.17977021, },
72    {  1.43428349,  1.32038354,  1.21074086,  1.10577988,  1.00561746,  0.90335924,  0.80437489,  0.70709671,
73       0.60427395,  0.49814048,  0.38509539,  0.27106800,  0.14407416,  0.00219910, -0.16725141, -0.36936085, },
74    {  0.99895687,  0.84188166,  0.70753739,  0.57906595,  0.47055563,  0.36966965,  0.26826648,  0.17163380,
75       0.07208392, -0.03062936, -1.40037388, -0.25128968, -0.37213937, -0.51075646, -0.64887512, -0.80308031, },
76    {  0.26515280,  0.06313551, -0.08872080, -0.21103548, -0.31069678, -0.39680323, -0.47223474, -0.54167135,
77      -0.61444740, -0.68943343, -0.76580211, -0.85170082, -0.95289061, -1.06514703, -1.20510707, -1.37617746, },
78    { -0.53940301, -0.73770929, -0.88424876, -1.01117930, -1.13389091, -1.26830073, -1.42041987, -1.62033919,
79      -1.10158808, -1.16512566, -1.23337128, -1.30414401, -1.37663312, -1.46853845, -1.57625798, -1.66893638, },
80    { -0.38601997, -0.56009350, -0.66978483, -0.76028471, -0.83846064, -0.90868087, -0.97408881, -1.03694962, },
81    { -1.56144989, -1.65944032, -1.72689685, -1.77857740, -1.82203011, -1.86220079, -1.90283983, -1.94820479, },
82};
83
84static const uint32_t coef0_huffcodes[666] = {
85    0x00258, 0x0003d, 0x00000, 0x00005, 0x00008, 0x00008, 0x0000c, 0x0001b,
86    0x0001f, 0x00015, 0x00024, 0x00032, 0x0003a, 0x00026, 0x0002c, 0x0002f,
87    0x0004a, 0x0004d, 0x00061, 0x00070, 0x00073, 0x00048, 0x00052, 0x0005a,
88    0x0005d, 0x0006e, 0x00099, 0x0009e, 0x000c1, 0x000ce, 0x000e4, 0x000f0,
89    0x00093, 0x0009e, 0x000a2, 0x000a1, 0x000b8, 0x000d2, 0x000d3, 0x0012e,
90    0x00130, 0x000de, 0x0012d, 0x0019b, 0x001e4, 0x00139, 0x0013a, 0x0013f,
91    0x0014f, 0x0016d, 0x001a2, 0x0027c, 0x0027e, 0x00332, 0x0033c, 0x0033f,
92    0x0038b, 0x00396, 0x003c5, 0x00270, 0x0027c, 0x0025a, 0x00395, 0x00248,
93    0x004bd, 0x004fb, 0x00662, 0x00661, 0x0071b, 0x004e6, 0x004ff, 0x00666,
94    0x0071c, 0x0071a, 0x0071f, 0x00794, 0x00536, 0x004e2, 0x0078e, 0x004ee,
95    0x00518, 0x00535, 0x004fb, 0x0078d, 0x00530, 0x00680, 0x0068f, 0x005cb,
96    0x00965, 0x006a6, 0x00967, 0x0097f, 0x00682, 0x006ae, 0x00cd0, 0x00e28,
97    0x00f13, 0x00f1f, 0x009f5, 0x00cd3, 0x00f11, 0x00926, 0x00964, 0x00f32,
98    0x00f12, 0x00f30, 0x00966, 0x00d0b, 0x00a68, 0x00b91, 0x009c7, 0x00b73,
99    0x012fa, 0x0131d, 0x013f9, 0x01ca0, 0x0199c, 0x01c7a, 0x0198c, 0x01248,
100    0x01c74, 0x01c64, 0x0139e, 0x012fd, 0x00a77, 0x012fc, 0x01c7b, 0x012ca,
101    0x014cc, 0x014d2, 0x014e3, 0x014dc, 0x012dc, 0x03344, 0x02598, 0x0263c,
102    0x0333b, 0x025e6, 0x01a1c, 0x01e3c, 0x014e2, 0x033d4, 0x01a11, 0x03349,
103    0x03cce, 0x014e1, 0x01a34, 0x0273e, 0x02627, 0x0273f, 0x038ee, 0x03971,
104    0x03c67, 0x03c61, 0x0333d, 0x038c2, 0x0263f, 0x038cd, 0x02638, 0x02e41,
105    0x0351f, 0x03348, 0x03c66, 0x03562, 0x02989, 0x027d5, 0x0333c, 0x02e4f,
106    0x0343b, 0x02ddf, 0x04bc8, 0x029c0, 0x02e57, 0x04c72, 0x025b7, 0x03547,
107    0x03540, 0x029d3, 0x04c45, 0x025bb, 0x06600, 0x04c73, 0x04bce, 0x0357b,
108    0x029a6, 0x029d2, 0x0263e, 0x0298a, 0x07183, 0x06602, 0x07958, 0x04b66,
109    0x0537d, 0x05375, 0x04fe9, 0x04b67, 0x0799f, 0x04bc9, 0x051fe, 0x06a3b,
110    0x05bb6, 0x04fa8, 0x0728f, 0x05376, 0x0492c, 0x0537e, 0x0795a, 0x06a3c,
111    0x0e515, 0x07887, 0x0683a, 0x051f9, 0x051fd, 0x0cc6a, 0x06a8a, 0x0cc6d,
112    0x05bb3, 0x0683b, 0x051fc, 0x05378, 0x0728e, 0x07886, 0x05bb7, 0x0f2a4,
113    0x0795b, 0x0683c, 0x09fc1, 0x0683d, 0x0b752, 0x09678, 0x0a3e8, 0x06ac7,
114    0x051f0, 0x0b759, 0x06af3, 0x04b6b, 0x0f2a0, 0x0f2ad, 0x096c3, 0x0e518,
115    0x0b75c, 0x0d458, 0x0cc6b, 0x0537c, 0x067aa, 0x04fea, 0x0343a, 0x0cc71,
116    0x0967f, 0x09fc4, 0x096c2, 0x0e516, 0x0f2a1, 0x0d45c, 0x0d45d, 0x0d45e,
117    0x12fb9, 0x0967e, 0x1982f, 0x09883, 0x096c4, 0x0b753, 0x12fb8, 0x0f2a8,
118    0x1ca21, 0x096c5, 0x0e51a, 0x1ca27, 0x12f3c, 0x0d471, 0x0f2aa, 0x0b75b,
119    0x12fbb, 0x0f2a9, 0x0f2ac, 0x0d45a, 0x0b74f, 0x096c8, 0x16e91, 0x096ca,
120    0x12fbf, 0x0d0a7, 0x13103, 0x0d516, 0x16e99, 0x12cbd, 0x0a3ea, 0x19829,
121    0x0b755, 0x29ba7, 0x1ca28, 0x29ba5, 0x16e93, 0x1982c, 0x19828, 0x25994,
122    0x0a3eb, 0x1ca29, 0x16e90, 0x1ca25, 0x1982d, 0x1ca26, 0x16e9b, 0x0b756,
123    0x0967c, 0x25997, 0x0b75f, 0x198d3, 0x0b757, 0x19a2a, 0x0d45b, 0x0e517,
124    0x1ca24, 0x1ca23, 0x1ca22, 0x0b758, 0x16e97, 0x0cd14, 0x13100, 0x00007,
125    0x0003b, 0x0006b, 0x00097, 0x00138, 0x00125, 0x00173, 0x00258, 0x00335,
126    0x0028e, 0x004c6, 0x00715, 0x00729, 0x004ef, 0x00519, 0x004ed, 0x00532,
127    0x0068c, 0x00686, 0x00978, 0x00e5d, 0x00e31, 0x009f4, 0x00b92, 0x012f8,
128    0x00d06, 0x00a67, 0x00d44, 0x00a76, 0x00d59, 0x012cd, 0x01c78, 0x01c75,
129    0x0199f, 0x0198f, 0x01c67, 0x014c6, 0x01c79, 0x01c76, 0x00b94, 0x00d1b,
130    0x01e32, 0x01e31, 0x01ab0, 0x01a05, 0x01aa1, 0x0333a, 0x025e5, 0x02626,
131    0x03541, 0x03544, 0x03421, 0x03546, 0x02e55, 0x02e56, 0x0492d, 0x02dde,
132    0x0299b, 0x02ddc, 0x0357a, 0x0249c, 0x0668b, 0x1c77f, 0x1ca20, 0x0d45f,
133    0x09886, 0x16e9a, 0x0f2a7, 0x0b751, 0x0a3ee, 0x0cf59, 0x0cf57, 0x0b754,
134    0x0d0a6, 0x16e98, 0x0b760, 0x06ac6, 0x0a3f0, 0x12fbe, 0x13104, 0x0f2a5,
135    0x0a3ef, 0x0d472, 0x12cba, 0x1982e, 0x16e9c, 0x1c77e, 0x198d0, 0x13105,
136    0x16e92, 0x0b75d, 0x0d459, 0x0001a, 0x000c0, 0x0016c, 0x003cd, 0x00350,
137    0x0067b, 0x0051e, 0x006a9, 0x009f4, 0x00b72, 0x00d09, 0x01249, 0x01e3d,
138    0x01ca1, 0x01a1f, 0x01721, 0x01a8a, 0x016e8, 0x03347, 0x01a35, 0x0249d,
139    0x0299a, 0x02596, 0x02e4e, 0x0298b, 0x07182, 0x04c46, 0x025ba, 0x02e40,
140    0x027d6, 0x04fe8, 0x06607, 0x05310, 0x09884, 0x072e1, 0x06a3d, 0x04b6a,
141    0x04c7a, 0x06603, 0x04c7b, 0x03428, 0x06605, 0x09664, 0x09fc0, 0x071de,
142    0x06601, 0x05bb2, 0x09885, 0x0a3e2, 0x1c61f, 0x12cbb, 0x0b750, 0x0cf58,
143    0x0967d, 0x25995, 0x668ad, 0x0b75a, 0x09fc2, 0x0537f, 0x0b75e, 0x13fae,
144    0x12fbc, 0x00031, 0x001c4, 0x004c5, 0x005b8, 0x00cf4, 0x0096f, 0x00d46,
145    0x01e57, 0x01a04, 0x02625, 0x03346, 0x028f9, 0x04c47, 0x072e0, 0x04b69,
146    0x03420, 0x07957, 0x06639, 0x0799e, 0x07959, 0x07881, 0x04b68, 0x09fc3,
147    0x09fd6, 0x0cc70, 0x0a3f1, 0x12cbe, 0x0e30e, 0x0e51b, 0x06af2, 0x12cbc,
148    0x1c77d, 0x0f2ab, 0x12fbd, 0x1aa2f, 0x0a3ec, 0x0d473, 0x05377, 0x0a3e9,
149    0x1982b, 0x0e300, 0x12f3f, 0x0cf5f, 0x096c0, 0x38c3c, 0x16e94, 0x16e95,
150    0x12f3d, 0x29ba4, 0x29ba6, 0x1c77c, 0x6a8ba, 0x3545c, 0x33457, 0x668ac,
151    0x6a8bb, 0x16e9d, 0x0e519, 0x25996, 0x12f3e, 0x00036, 0x0033e, 0x006ad,
152    0x00d03, 0x012c8, 0x0124a, 0x03c42, 0x03ccd, 0x06606, 0x07880, 0x06852,
153    0x06a3a, 0x05bb4, 0x0f2a2, 0x09fc7, 0x12cb9, 0x0cc6c, 0x0a6e8, 0x096c1,
154    0x0004a, 0x00355, 0x012f9, 0x014e8, 0x01abe, 0x025b6, 0x0492e, 0x09fc6,
155    0x051ff, 0x0cc6f, 0x096cb, 0x0d071, 0x198d1, 0x12cb8, 0x38c3d, 0x13faf,
156    0x096c9, 0x0009d, 0x00539, 0x012ce, 0x0341f, 0x029c1, 0x04b33, 0x0a3e3,
157    0x0d070, 0x16e96, 0x0b763, 0x000a0, 0x009ce, 0x038cc, 0x0343d, 0x051fa,
158    0x09888, 0x12fba, 0x000df, 0x00a75, 0x029a7, 0x09fc5, 0x0e301, 0x0967b,
159    0x001e7, 0x012c9, 0x051fb, 0x09889, 0x0f2a6, 0x0016f, 0x01cb9, 0x0cf5a,
160    0x12cbf, 0x09679, 0x00272, 0x01a15, 0x0967a, 0x003cb, 0x025f6, 0x0b762,
161    0x0028d, 0x03c60, 0x0cf5e, 0x00352, 0x03ccc, 0x0072f, 0x07186, 0x004ec,
162    0x05379, 0x0068e, 0x09887, 0x006a7, 0x06af1, 0x00e29, 0x0cf5b, 0x00f31,
163    0x0d470, 0x009c6, 0x013fb, 0x13102, 0x019a5, 0x13101, 0x01983, 0x01c65,
164    0x0124f, 0x014c7, 0x01726, 0x01abf, 0x03304, 0x02624, 0x03c41, 0x027d7,
165    0x02ddd, 0x02e54, 0x0343c, 0x06604, 0x07181, 0x0663a, 0x04fa9, 0x0663b,
166    0x05311, 0x0537a, 0x06839, 0x05bb5, 0x0492f, 0x06af0, 0x096c7, 0x0cc6e,
167    0x0537b, 0x0cf5c, 0x0cf56, 0x198d2, 0x0cf5d, 0x0a3ed, 0x0f2a3, 0x1982a,
168    0x0b761, 0x096c6,
169};
170
171static const uint8_t coef0_huffbits[666] = {
172    11,  6,  2,  3,  4,  5,  5,  5,
173     5,  6,  6,  6,  6,  7,  7,  7,
174     7,  7,  7,  7,  7,  8,  8,  8,
175     8,  8,  8,  8,  8,  8,  8,  8,
176     9,  9,  9,  9,  9,  9,  9,  9,
177     9,  9,  9,  9,  9, 10, 10, 10,
178    10, 10, 10, 10, 10, 10, 10, 10,
179    10, 10, 10, 11, 11, 11, 10, 11,
180    11, 11, 11, 11, 11, 11, 11, 11,
181    11, 11, 11, 11, 12, 12, 11, 12,
182    12, 12, 12, 11, 12, 12, 12, 12,
183    12, 12, 12, 12, 12, 12, 12, 12,
184    12, 12, 12, 12, 12, 13, 13, 12,
185    12, 12, 13, 13, 13, 13, 13, 13,
186    13, 13, 13, 13, 13, 13, 13, 14,
187    13, 13, 13, 13, 13, 13, 13, 14,
188    14, 14, 14, 14, 14, 14, 14, 14,
189    14, 14, 14, 13, 14, 14, 14, 14,
190    14, 14, 14, 14, 14, 14, 14, 14,
191    14, 14, 14, 14, 14, 14, 14, 15,
192    15, 14, 14, 15, 15, 15, 14, 15,
193    15, 15, 15, 15, 15, 15, 15, 15,
194    15, 15, 15, 15, 15, 15, 15, 15,
195    15, 15, 14, 15, 15, 15, 15, 16,
196    16, 16, 15, 16, 15, 15, 16, 16,
197    16, 16, 15, 16, 16, 16, 15, 16,
198    16, 15, 16, 16, 16, 16, 16, 16,
199    16, 16, 16, 16, 15, 15, 16, 16,
200    15, 16, 16, 16, 17, 17, 17, 16,
201    16, 17, 16, 16, 16, 16, 17, 16,
202    17, 17, 16, 16, 15, 15, 15, 16,
203    17, 16, 17, 16, 16, 17, 17, 17,
204    17, 17, 17, 16, 17, 17, 17, 16,
205    17, 17, 16, 17, 17, 17, 16, 17,
206    17, 16, 16, 17, 17, 17, 18, 17,
207    17, 17, 17, 17, 18, 18, 17, 17,
208    17, 19, 17, 19, 18, 17, 17, 18,
209    17, 17, 18, 17, 17, 17, 18, 17,
210    17, 18, 17, 17, 17, 17, 17, 16,
211    17, 17, 17, 17, 18, 16, 17,  4,
212     6,  8,  9,  9, 10, 10, 10, 10,
213    11, 11, 11, 11, 12, 12, 12, 12,
214    12, 12, 12, 12, 12, 13, 13, 13,
215    13, 13, 13, 13, 13, 13, 13, 13,
216    13, 13, 13, 14, 13, 13, 13, 13,
217    13, 13, 14, 14, 14, 14, 14, 14,
218    15, 15, 15, 15, 15, 15, 16, 15,
219    15, 15, 15, 15, 15, 17, 17, 17,
220    16, 18, 16, 17, 17, 16, 16, 17,
221    17, 18, 17, 16, 17, 17, 17, 16,
222    17, 17, 18, 17, 18, 17, 17, 17,
223    18, 17, 17,  5,  8, 10, 10, 11,
224    11, 12, 12, 12, 13, 13, 14, 13,
225    13, 14, 14, 14, 14, 14, 14, 15,
226    15, 15, 15, 15, 15, 15, 15, 15,
227    15, 15, 15, 16, 16, 15, 16, 16,
228    15, 15, 15, 15, 15, 16, 16, 15,
229    15, 16, 16, 17, 17, 18, 17, 16,
230    17, 18, 19, 17, 16, 16, 17, 17,
231    17,  6,  9, 11, 12, 12, 13, 13,
232    13, 14, 14, 14, 15, 15, 15, 16,
233    15, 15, 15, 15, 15, 15, 16, 16,
234    16, 16, 17, 18, 16, 16, 16, 18,
235    17, 16, 17, 18, 17, 17, 16, 17,
236    17, 16, 17, 16, 17, 18, 18, 18,
237    17, 19, 19, 17, 20, 19, 18, 19,
238    20, 18, 16, 18, 17,  7, 10, 12,
239    13, 13, 14, 14, 14, 15, 15, 16,
240    16, 16, 16, 16, 18, 16, 17, 17,
241     8, 11, 13, 14, 14, 15, 16, 16,
242    16, 16, 17, 17, 17, 18, 18, 17,
243    17,  8, 12, 14, 15, 15, 15, 17,
244    17, 18, 17,  9, 12, 14, 15, 16,
245    16, 17,  9, 13, 15, 16, 16, 17,
246     9, 13, 16, 16, 16, 10, 13, 16,
247    18, 17, 10, 14, 17, 10, 14, 17,
248    11, 14, 16, 11, 14, 11, 15, 12,
249    16, 12, 16, 12, 16, 12, 16, 12,
250    17, 13, 13, 17, 13, 17, 13, 13,
251    14, 14, 14, 14, 14, 14, 14, 15,
252    15, 15, 15, 15, 15, 15, 16, 15,
253    16, 16, 16, 16, 16, 16, 17, 16,
254    16, 16, 16, 17, 16, 17, 16, 17,
255    17, 17,
256};
257
258static const uint32_t coef1_huffcodes[555] = {
259    0x00115, 0x00002, 0x00001, 0x00000, 0x0000d, 0x00007, 0x00013, 0x0001d,
260    0x00008, 0x0000c, 0x00023, 0x0002b, 0x0003f, 0x00017, 0x0001b, 0x00043,
261    0x00049, 0x00050, 0x00055, 0x00054, 0x00067, 0x00064, 0x0007b, 0x0002d,
262    0x00028, 0x0002a, 0x00085, 0x00089, 0x0002b, 0x00035, 0x00090, 0x00091,
263    0x00094, 0x00088, 0x000c1, 0x000c6, 0x000f2, 0x000e3, 0x000c5, 0x000e2,
264    0x00036, 0x000f0, 0x000a7, 0x000cd, 0x000fb, 0x00059, 0x00116, 0x00103,
265    0x00108, 0x0012b, 0x0012d, 0x00188, 0x0012e, 0x0014c, 0x001c3, 0x00187,
266    0x001e7, 0x0006f, 0x00094, 0x00069, 0x001e6, 0x001ca, 0x00147, 0x00195,
267    0x000a7, 0x00213, 0x00209, 0x00303, 0x00295, 0x00289, 0x0028c, 0x0028d,
268    0x00312, 0x00330, 0x0029b, 0x00308, 0x00328, 0x0029a, 0x0025e, 0x003c5,
269    0x00384, 0x0039f, 0x00397, 0x00296, 0x0032e, 0x00332, 0x003c6, 0x003e6,
270    0x0012d, 0x000d1, 0x00402, 0x000dd, 0x00161, 0x0012b, 0x00127, 0x0045d,
271    0x00601, 0x004ab, 0x0045f, 0x00410, 0x004bf, 0x00528, 0x0045c, 0x00424,
272    0x00400, 0x00511, 0x00618, 0x0073d, 0x0063a, 0x00614, 0x0073c, 0x007c0,
273    0x007cf, 0x00802, 0x00966, 0x00964, 0x00951, 0x008a0, 0x00346, 0x00803,
274    0x00a52, 0x0024a, 0x007c1, 0x0063f, 0x00126, 0x00406, 0x00789, 0x008a2,
275    0x00960, 0x00967, 0x00c05, 0x00c70, 0x00c79, 0x00a5d, 0x00c26, 0x00c4d,
276    0x00372, 0x008a5, 0x00c08, 0x002c5, 0x00f11, 0x00cc4, 0x00f8e, 0x00e16,
277    0x00496, 0x00e77, 0x00f9c, 0x00c25, 0x00f1e, 0x00c27, 0x00f1f, 0x00e17,
278    0x00ccd, 0x00355, 0x00c09, 0x00c78, 0x00f90, 0x00521, 0x00357, 0x00356,
279    0x0068e, 0x00f9d, 0x00c04, 0x00e58, 0x00a20, 0x00a2c, 0x00c4c, 0x0052f,
280    0x00f8d, 0x01178, 0x01053, 0x01097, 0x0180f, 0x0180d, 0x012fb, 0x012aa,
281    0x0202a, 0x00a40, 0x018ed, 0x01ceb, 0x01455, 0x018e3, 0x012a1, 0x00354,
282    0x00353, 0x00f1c, 0x00c7b, 0x00c37, 0x0101d, 0x012cb, 0x01142, 0x0197d,
283    0x01095, 0x01e3b, 0x0186b, 0x00588, 0x01c2a, 0x014b8, 0x01e3a, 0x018ec,
284    0x01f46, 0x012fa, 0x00a53, 0x01ce8, 0x00a55, 0x01c29, 0x0117b, 0x01052,
285    0x012a0, 0x00589, 0x00950, 0x01c2b, 0x00a50, 0x0208b, 0x0180e, 0x02027,
286    0x02556, 0x01e20, 0x006e7, 0x01c28, 0x0197a, 0x00684, 0x020a2, 0x01f22,
287    0x03018, 0x039cf, 0x03e25, 0x02557, 0x0294c, 0x028a6, 0x00d11, 0x028a9,
288    0x02979, 0x00d46, 0x00a56, 0x039ce, 0x030cc, 0x0329a, 0x0149d, 0x0510f,
289    0x0451c, 0x02028, 0x03299, 0x01ced, 0x014b9, 0x00f85, 0x00c7a, 0x01800,
290    0x00341, 0x012ca, 0x039c8, 0x0329d, 0x00d0d, 0x03e20, 0x05144, 0x00d45,
291    0x030d0, 0x0186d, 0x030d5, 0x00d0f, 0x00d40, 0x04114, 0x020a1, 0x0297f,
292    0x03e24, 0x032f1, 0x04047, 0x030d4, 0x028a8, 0x00d0e, 0x0451d, 0x04044,
293    0x0297e, 0x04042, 0x030d2, 0x030cf, 0x03e21, 0x03e26, 0x028a5, 0x0451a,
294    0x00d48, 0x01a16, 0x00d44, 0x04518, 0x0149b, 0x039ca, 0x01498, 0x0403d,
295    0x0451b, 0x0149c, 0x032f3, 0x030cb, 0x08073, 0x03e22, 0x0529a, 0x020aa,
296    0x039cc, 0x0738a, 0x06530, 0x07389, 0x06193, 0x08071, 0x04043, 0x030ce,
297    0x05147, 0x07388, 0x05145, 0x08072, 0x04521, 0x00d47, 0x0297c, 0x030cd,
298    0x030ca, 0x0000b, 0x0000c, 0x00083, 0x000e4, 0x00048, 0x00102, 0x001cc,
299    0x001f5, 0x00097, 0x0020b, 0x00124, 0x00453, 0x00627, 0x00639, 0x00605,
300    0x00517, 0x001b8, 0x00663, 0x00667, 0x007c3, 0x00823, 0x00961, 0x00963,
301    0x00e5a, 0x00e59, 0x00a2b, 0x00cbf, 0x00292, 0x00a2d, 0x007d0, 0x00953,
302    0x00cc5, 0x00f84, 0x004ab, 0x014a7, 0x0068a, 0x0117a, 0x0052e, 0x01442,
303    0x0052c, 0x00c77, 0x00f8f, 0x004aa, 0x01094, 0x01801, 0x012c4, 0x0297b,
304    0x00952, 0x01f19, 0x006a5, 0x01149, 0x012c5, 0x01803, 0x022f2, 0x0329b,
305    0x04520, 0x0149e, 0x00d13, 0x01f16, 0x01ce9, 0x0101c, 0x006e6, 0x039c9,
306    0x06191, 0x07c8e, 0x06192, 0x0ca63, 0x039cd, 0x06190, 0x06884, 0x06885,
307    0x07382, 0x00d49, 0x00d41, 0x0450c, 0x0149a, 0x030d1, 0x08077, 0x03e23,
308    0x01a15, 0x0e701, 0x0e702, 0x08079, 0x0822a, 0x0a218, 0x07887, 0x0403f,
309    0x0520b, 0x0529b, 0x0e700, 0x04519, 0x00007, 0x000e0, 0x000d0, 0x0039b,
310    0x003e5, 0x00163, 0x0063e, 0x007c9, 0x00806, 0x00954, 0x01044, 0x01f44,
311    0x0197c, 0x01f45, 0x00a51, 0x01f47, 0x00951, 0x0052d, 0x02291, 0x0092f,
312    0x00a54, 0x00d12, 0x0297d, 0x00d0c, 0x01499, 0x0329e, 0x032f0, 0x02025,
313    0x039c6, 0x00a57, 0x03e46, 0x00d42, 0x0738b, 0x05146, 0x04046, 0x08078,
314    0x0510e, 0x07886, 0x02904, 0x04156, 0x04157, 0x06032, 0x030d3, 0x08bce,
315    0x04040, 0x0403e, 0x0a414, 0x10457, 0x08075, 0x06887, 0x07c8f, 0x039c7,
316    0x07387, 0x08070, 0x08bcf, 0x1482a, 0x10456, 0x1482b, 0x01a17, 0x06886,
317    0x0450d, 0x00013, 0x0006b, 0x00615, 0x0080b, 0x0082b, 0x00952, 0x00e5b,
318    0x018e2, 0x0186c, 0x01f18, 0x0329f, 0x00d43, 0x03e29, 0x05140, 0x05141,
319    0x0ca62, 0x06033, 0x03c42, 0x03e28, 0x0450f, 0x0a21a, 0x07384, 0x0a219,
320    0x0e703, 0x0a21b, 0x01a14, 0x07383, 0x045e6, 0x0007a, 0x0012c, 0x00ccc,
321    0x0068f, 0x01802, 0x00a52, 0x00953, 0x04045, 0x01a20, 0x0451f, 0x000a4,
322    0x00735, 0x01cec, 0x02029, 0x020a3, 0x0451e, 0x00069, 0x00c24, 0x02024,
323    0x032f2, 0x05142, 0x00196, 0x00523, 0x000a6, 0x0197b, 0x0030b, 0x0092e,
324    0x003e9, 0x03e27, 0x00160, 0x05143, 0x00652, 0x04041, 0x00734, 0x028a7,
325    0x0080f, 0x01483, 0x0097c, 0x00340, 0x0068b, 0x00522, 0x01054, 0x01096,
326    0x01f17, 0x0202b, 0x01cea, 0x020a0, 0x02978, 0x02026, 0x0297a, 0x039cb,
327    0x03e2b, 0x0149f, 0x0329c, 0x07385, 0x08074, 0x0450e, 0x03e2a, 0x05149,
328    0x08076, 0x07386, 0x05148,
329};
330
331static const uint8_t coef1_huffbits[555] = {
332     9,  5,  2,  4,  4,  5,  5,  5,
333     6,  6,  6,  6,  6,  7,  7,  7,
334     7,  7,  7,  7,  7,  7,  7,  8,
335     8,  8,  8,  8,  8,  8,  8,  8,
336     8,  8,  8,  8,  8,  8,  8,  8,
337     9,  8,  8,  8,  8,  9,  9,  9,
338     9,  9,  9,  9,  9,  9,  9,  9,
339     9, 10, 10, 10,  9,  9,  9,  9,
340    10, 10, 10, 10, 10, 10, 10, 10,
341    10, 10, 10, 10, 10, 10, 10, 10,
342    10, 10, 10, 10, 10, 10, 10, 10,
343    11, 11, 11, 11, 11, 11, 11, 11,
344    11, 11, 11, 11, 11, 11, 11, 11,
345    11, 11, 11, 11, 11, 11, 11, 11,
346    11, 12, 12, 12, 12, 12, 12, 12,
347    12, 12, 11, 11, 11, 11, 11, 12,
348    12, 12, 12, 12, 12, 12, 12, 12,
349    13, 12, 12, 12, 12, 12, 12, 12,
350    13, 12, 12, 12, 12, 12, 12, 12,
351    12, 13, 12, 12, 12, 13, 13, 13,
352    13, 12, 12, 12, 12, 12, 12, 13,
353    12, 13, 13, 13, 13, 13, 13, 13,
354    14, 14, 13, 13, 13, 13, 13, 13,
355    13, 12, 12, 12, 13, 13, 13, 13,
356    13, 13, 13, 13, 13, 13, 13, 13,
357    13, 13, 14, 13, 14, 13, 13, 13,
358    13, 13, 14, 13, 14, 14, 13, 14,
359    14, 13, 14, 13, 13, 14, 14, 13,
360    14, 14, 14, 14, 14, 14, 14, 14,
361    14, 15, 14, 14, 14, 14, 15, 15,
362    15, 14, 14, 13, 13, 12, 12, 13,
363    13, 13, 14, 14, 15, 14, 15, 15,
364    14, 13, 14, 15, 15, 15, 14, 14,
365    14, 14, 15, 14, 14, 15, 15, 15,
366    14, 15, 14, 14, 14, 14, 14, 15,
367    15, 16, 15, 15, 15, 14, 15, 15,
368    15, 15, 14, 14, 16, 14, 15, 14,
369    14, 15, 15, 15, 15, 16, 15, 14,
370    15, 15, 15, 16, 15, 15, 14, 14,
371    14,  4,  7,  8,  8,  9,  9,  9,
372     9, 10, 10, 11, 11, 11, 11, 11,
373    11, 12, 11, 11, 11, 12, 12, 12,
374    12, 12, 12, 12, 12, 12, 11, 12,
375    12, 12, 13, 13, 13, 13, 13, 13,
376    13, 12, 12, 13, 13, 13, 13, 14,
377    14, 13, 14, 13, 13, 13, 14, 14,
378    15, 15, 14, 13, 13, 13, 14, 14,
379    15, 15, 15, 16, 14, 15, 17, 17,
380    15, 15, 15, 15, 15, 14, 16, 14,
381    16, 16, 16, 16, 16, 16, 15, 15,
382    17, 15, 16, 15,  6,  8, 10, 10,
383    10, 11, 11, 11, 12, 12, 13, 13,
384    13, 13, 14, 13, 14, 13, 14, 14,
385    14, 14, 14, 15, 15, 14, 14, 14,
386    14, 14, 14, 15, 15, 15, 15, 16,
387    15, 15, 16, 15, 15, 15, 14, 16,
388    15, 15, 18, 17, 16, 17, 15, 14,
389    15, 16, 16, 19, 17, 19, 16, 17,
390    15,  7, 10, 11, 12, 12, 12, 12,
391    13, 13, 13, 14, 15, 14, 15, 15,
392    16, 15, 14, 14, 15, 16, 15, 16,
393    16, 16, 16, 15, 15,  7, 11, 12,
394    13, 13, 14, 14, 15, 15, 15,  8,
395    11, 13, 14, 14, 15,  9, 12, 14,
396    14, 15,  9, 13, 10, 13, 10, 14,
397    10, 14, 11, 15, 11, 15, 11, 14,
398    12, 15, 12, 13, 13, 13, 13, 13,
399    13, 14, 13, 14, 14, 14, 14, 14,
400    14, 15, 14, 15, 16, 15, 14, 15,
401    16, 15, 15,
402};
403
404static const uint32_t coef2_huffcodes[1336] = {
405    0x003e6,  0x000f6, 0x00000,  0x00002,  0x00006,  0x0000f,  0x0001b,  0x00028,
406    0x00039,  0x0003f, 0x0006b,  0x00076,  0x000b7,  0x000e8,  0x000ef,  0x00169,
407    0x001a7,  0x001d4, 0x001dc,  0x002c4,  0x00349,  0x00355,  0x00391,  0x003dc,
408    0x00581,  0x005b2, 0x00698,  0x0070c,  0x00755,  0x0073a,  0x00774,  0x007cf,
409    0x00b0a,  0x00b66, 0x00d2e,  0x00d5e,  0x00e1b,  0x00eac,  0x00e5a,  0x00f7e,
410    0x00fa1,  0x0163e, 0x01a37,  0x01a52,  0x01c39,  0x01ab3,  0x01d5f,  0x01cb6,
411    0x01f52,  0x01dd9, 0x02c04,  0x02c2e,  0x02c2d,  0x02c23,  0x03467,  0x034a3,
412    0x0351b,  0x03501, 0x03a5d,  0x0351c,  0x03875,  0x03dea,  0x0397b,  0x039db,
413    0x03df1,  0x039d8, 0x03bb4,  0x0580a,  0x0584d,  0x05842,  0x05b13,  0x058ea,
414    0x0697d,  0x06a06, 0x068cc,  0x06ac7,  0x06a96,  0x072f4,  0x07543,  0x072b4,
415    0x07d20,  0x0b003, 0x073b5,  0x07be6,  0x0d180,  0x07bd1,  0x07cb8,  0x07d06,
416    0x07d25,  0x0d2f2, 0x0d19a,  0x0d334,  0x0e1dc,  0x0d529,  0x0d584,  0x0e1d2,
417    0x0e5e3,  0x0eec4, 0x0e564,  0x0fa49,  0x16001,  0x0eedc,  0x0f7fa,  0x1a32c,
418    0x16131,  0x16003, 0x0f9c8,  0x1ef80,  0x1d2a0,  0x1aa4b,  0x0f7ce,  0x1abfe,
419    0x1aa50,  0x1a458, 0x1a816,  0x1cae4,  0x1d2fe,  0x1d52e,  0x1aa4c,  0x2c245,
420    0x1d2a1,  0x1a35d, 0x1ca1b,  0x1d5d8,  0x1f531,  0x1ca1c,  0x1f389,  0x1f4af,
421    0x3a5e7,  0x351fb, 0x2c24b,  0x34bce,  0x2c24d,  0x2c249,  0x2c24a,  0x72dfc,
422    0x357ef,  0x35002, 0x3a5e6,  0x39431,  0x5843b,  0x34a77,  0x58431,  0x3a5f3,
423    0x3a5dd,  0x3e5e5, 0x356bd,  0x3976e,  0x6a3d2,  0x3500d,  0x694c4,  0x580bd,
424    0x3e5e8,  0x74b95, 0x34a6e,  0x3977c,  0x39432,  0x5b0d2,  0x6a3d8,  0x580b8,
425    0x5b0cb,  0x5b0d7, 0x72dee,  0x72ded,  0x72dec,  0x74b9c,  0x3977f,  0x72dea,
426    0x74b9e,  0x7be7d, 0x580bf,  0x5b0d5,  0x7cba8,  0x74b91,  0x3e5dd,  0xb6171,
427    0xd46b3,  0xd46b9, 0x7cba1,  0x74b9f,  0x72de1,  0xe59f5,  0x3e5eb,  0x00004,
428    0x00015,  0x00038, 0x00075,  0x000e8,  0x001d3,  0x00347,  0x0039c,  0x00690,
429    0x0074a,  0x00b60, 0x00e93,  0x00f74,  0x0163d,  0x01a5a,  0x01d24,  0x01cbe,
430    0x01f4b,  0x03468, 0x03562,  0x03947,  0x03e82,  0x05804,  0x05b12,  0x05803,
431    0x0696d,  0x06a9e, 0x0697c,  0x06978,  0x06afb,  0x074b2,  0x072f5,  0x073c0,
432    0x07541,  0x06944, 0x074b7,  0x070d3,  0x07ba9,  0x0b0b1,  0x0d1af,  0x0e1dd,
433    0x0e5e2,  0x0e1a3, 0x0eec3,  0x1612f,  0x0e961,  0x0eeda,  0x0e78e,  0x0fa48,
434    0x1612c,  0x0e511, 0x0e565,  0x0e953,  0x1aa4a,  0x0e59d,  0x1d52c,  0x1a811,
435    0x1cae7,  0x1abfc, 0x1d52d,  0x1cacf,  0x1cf05,  0x2c254,  0x34a72,  0x1f4ac,
436    0x3976b,  0x34a71, 0x2c6d9,  0x2d873,  0x34a6a,  0x357e7,  0x3464c,  0x3e5f5,
437    0x58433,  0x1f53a, 0x3500a,  0x357ea,  0x34a73,  0x3942f,  0x357e5,  0x39775,
438    0x694cd,  0x39772, 0x7cba5,  0x6a3ef,  0x35483,  0x74b98,  0x5b0c1,  0x39770,
439    0x3a5d7,  0x39433, 0x39434,  0x694ce,  0x580be,  0x3e5ff,  0x6a3ec,  0xb616f,
440    0xd46b1,  0x6a3d1, 0x72de5,  0x74b6e,  0x72de9,  0x3e700,  0xd46b6,  0x6a3e9,
441    0x74b69,  0xe5675, 0xd46b8,  0x7cbaa,  0x3a5d1,  0x0000c,  0x0003c,  0x000eb,
442    0x001f1,  0x003a4, 0x006a8,  0x007d5,  0x00d43,  0x00e77,  0x016c5,  0x01cb1,
443    0x02c5d,  0x03a55, 0x03a56,  0x03e51,  0x03bb5,  0x05b0a,  0x06a9f,  0x074b8,
444    0x07d28,  0x0d187, 0x0d40e,  0x0d52e,  0x0d425,  0x0eae3,  0x0e1d3,  0x1612e,
445    0x0e59e,  0x0eec2, 0x0e578,  0x0e51a,  0x0e579,  0x0e515,  0x0e960,  0x0d183,
446    0x0d220,  0x0d2cb, 0x0e512,  0x16c3e,  0x16002,  0x16c42,  0x1cae9,  0x3461a,
447    0x1d2fa,  0x1a308, 0x1a849,  0x1cf07,  0x1f38f,  0x34b65,  0x2c253,  0x1ef9e,
448    0x1cbc3,  0x1cbc1, 0x2c255,  0x1f384,  0x58435,  0x2c5cd,  0x3a5f7,  0x2c252,
449    0x3959c,  0x2c6d8, 0x3a5d3,  0x6ad78,  0x6a3f2,  0x7cba9,  0xb6176,  0x72deb,
450    0x39764,  0x3e5f6, 0x3a5d8,  0x74a8c,  0x6a3e6,  0x694d1,  0x6ad79, 0x1a4592,
451    0xe59fb,  0x7cbb3, 0x5b0cd,  0x00017,  0x000b5,  0x002c3,  0x005b7,  0x00b1c,
452    0x00e5c,  0x0163f, 0x01ab2,  0x01efa,  0x0348a,  0x0396e,  0x058da,  0x06963,
453    0x06a30,  0x072cd, 0x073cf,  0x07ce7,  0x0d2ca,  0x0d2d8,  0x0e764,  0x0e794,
454    0x16008,  0x16167, 0x1617e,  0x1aa49,  0x1a30b,  0x1a813,  0x2c6da,  0x1a580,
455    0x1cbc2,  0x0f9ca, 0x1617f,  0x1d2fe,  0x0f7fc,  0x16c40,  0x0e513,  0x0eec5,
456    0x0f7c3,  0x1d508, 0x1a81e,  0x1d2fd,  0x39430,  0x35486,  0x3e5fd,  0x2c24c,
457    0x2c75a,  0x34a74, 0x3a5f4,  0x3464d,  0x694ca,  0x3a5f1,  0x1d509,  0x1d5c0,
458    0x34648,  0x3464e, 0x6a3d5,  0x6a3e8,  0x6a3e7,  0x5b0c3,  0x2c248,  0x1f38a,
459    0x3a5f2,  0x6a3e5, 0x00029,  0x00168,  0x0058c,  0x00b67,  0x00f9d,  0x01c3d,
460    0x01cbf,  0x02c20, 0x0351d,  0x03df6,  0x06af9,  0x072b5,  0x0b1d7,  0x0b0b2,
461    0x0d40a,  0x0d52b, 0x0e952,  0x0e797,  0x163c3,  0x1c3a0,  0x1f386,  0x1ca21,
462    0x34655,  0x2c247, 0x1f53b,  0x2c250,  0x2c24f,  0x1f385,  0x1ef5d,  0x1cf15,
463    0x1caea,  0x1ab0a, 0x1cf19,  0x1f53d,  0x1d5c2,  0x1d2fb,  0x1ef58,  0x34a78,
464    0x357ec,  0x1f533, 0x3a5e1,  0x694d2,  0x58482,  0x3a5ee,  0x2c6dc,  0x357eb,
465    0x5b0c4,  0x39778, 0x6a3e1,  0x7cbb4,  0x3a5e1,  0x74b68,  0x3a5ef,  0x3a5d2,
466    0x39424,  0x72de2, 0xe59f6,  0xe59f7,  0x3e702,  0x3e5ec,  0x1f38b,  0x0003b,
467    0x001f0,  0x00777, 0x00fa8,  0x01cb2,  0x02d84,  0x03a57,  0x03dd6,  0x06917,
468    0x06a11,  0x07d07, 0x0eae2,  0x0e796,  0x0f9c9,  0x0f7fb,  0x16166,  0x16160,
469    0x1ab1b,  0x1abfa, 0x2d87b,  0x1d2f7,  0x39768,  0x1f38c,  0x34653,  0x34651,
470    0x6a3d9,  0x35001, 0x3abbd,  0x38742,  0x39426,  0x34a76,  0x3a5ec,  0x34a75,
471    0x35000,  0x35488, 0x1cf10,  0x2c6db,  0x357ed,  0x357e8,  0x357e9,  0x3a5f0,
472    0x694c2,  0xb6178, 0x72df5,  0x39425,  0x3942b,  0x74b6d,  0x74b6f,  0xb6177,
473    0xb6179,  0x74b6a, 0xb6172,  0x58487,  0x3e5ee,  0x3e5ed,  0x72df2,  0x72df4,
474    0x7cbae,  0x6a3ca, 0x70e86,  0x34bcf,  0x6a3c8,  0x00059,  0x00384,  0x00d5b,
475    0x01c38,  0x03560, 0x0395b,  0x0584e,  0x06964,  0x073cd,  0x0b1e7,  0x0e798,
476    0x0e78d,  0x0fa43, 0x1a848,  0x1a32f,  0x1aa4e,  0x3464a,  0x1f4ab,  0x1f38d,
477    0x3a5eb,  0x3a5d4, 0x3548a,  0x6a3c7,  0x5b0d0,  0x6a3c5,  0x7cbb0,  0x694cb,
478    0x3a5e5,  0x3e5e2, 0x3942c,  0x2d872,  0x1f4ae,  0x3a5d5,  0x694d3,  0x58481,
479    0x35009,  0x39774, 0x58432,  0xb616c,  0x5b0db,  0x3548b,  0xb6174, 0x1d5d95,
480    0xb004c,  0x7cbb2, 0x3a5e5,  0x74a8f,  0xe59f9,  0x72df6,  0xe59fd,  0x7cbad,
481    0xd427d,  0x72cff, 0x3977a,  0x5b0d9,  0xb616d,  0xb616b, 0x1a4593,  0x7cbaf,
482    0x5b0da,  0x00071, 0x003eb,  0x01603,  0x02c6c,  0x03961,  0x068c8,  0x06a31,
483    0x072bd,  0x0d2c2, 0x0e51b,  0x0e5e6,  0x1abfb,  0x1d2ff,  0x1cae5,  0x1ef5c,
484    0x1ef5e,  0x1cf13, 0x34a6d,  0x3976d,  0xb616a,  0x3e5f2,  0x6a3c4,  0xb6169,
485    0x3e5dc,  0x580b9, 0x74b99,  0x75764,  0x58434,  0x3a5d9,  0x6945a,  0x69459,
486    0x3548c,  0x3a5e9, 0x69457,  0x72df1,  0x6945e,  0x6a35e,  0x3e701,  0xb6168,
487    0x5b0dd,  0x3a5de, 0x6a3c2,  0xd4278,  0x6a3cc,  0x72dfd,  0xb6165, 0x16009a,
488    0x7cbb1,  0xd427c, 0xb6162,  0xe765e, 0x1cecbe,  0x7cbb6,  0x69454,  0xb6160,
489    0xd427a, 0x1d5d96, 0xb1d6d,  0xe59f4,  0x72de8,  0x3a5db,  0x0007a,  0x006ae,
490    0x01c3c,  0x03aba, 0x058e9,  0x072cc,  0x0d2dd,  0x0d22d,  0x0eec1,  0x0eedb,
491    0x1d2a2,  0x1ef5b, 0x357e2,  0x3abbf,  0x1d2f9,  0x35004,  0x3a5dc,  0x351fc,
492    0x3976c,  0x6a3c6, 0x6a3cb,  0x3e5ea,  0xe59f3,  0x6a3ce,  0x69452,  0xe59f0,
493    0x74b90,  0xd4279, 0xd427b,  0x7cbb5,  0x5b0c5,  0x3a5e3,  0x3a5e2,  0x000d0,
494    0x00775,  0x01efe, 0x03dd5,  0x0728c,  0x07cb9,  0x0e1a2,  0x0ea85,  0x0eed8,
495    0x1a30a,  0x1aa4f, 0x3a5df,  0x35008,  0x3a5e0,  0x3e5f4,  0x3e5f7,  0xb1d6c,
496    0x5843e,  0x34a70, 0x72df8,  0x74b6b,  0xd427f,  0x72df0,  0x5b0bf,  0x5b0c0,
497    0xd46b0,  0x72def, 0xe59f8, 0x162e64,  0xb1d6f,  0x3a5e0,  0x39427,  0x69166,
498    0x6a3e2,  0x6a3e3, 0x74a8d,  0xd427e, 0x1d5d97,  0xd46b4,  0x5b0d8,  0x6a3d3,
499    0x000e0,  0x00b63, 0x034cc,  0x06a33,  0x073c9,  0x0e1a0,  0x0f7fd,  0x0f9cc,
500    0x1617d,  0x1caeb, 0x1f4a9,  0x3abb3,  0x69450,  0x39420,  0x39777,  0x3e5e0,
501    0x6a3d4,  0x6a3ed, 0xb6166,  0xe59f1,  0xb1d6e,  0xe5676,  0x6a3ea,  0xe5674,
502    0xb6163,  0xd46b7, 0x7cba6,  0xd46ba, 0x1d5d94,  0xb6164,  0x6a3f1,  0x7cba2,
503    0x69451,  0x72dfa, 0xd46bb,  0x72df7,  0x74b94, 0x1cecbf,  0xe59fa, 0x16009b,
504    0x6a3e4,  0x000e6, 0x00e94,  0x03876,  0x070ef,  0x0d52a,  0x16015,  0x16014,
505    0x1abf9,  0x1cf17, 0x34a79,  0x34650,  0x3e705,  0x6a3d0,  0x58430,  0x74b9d,
506    0x7be7e,  0x5b0be, 0x39773,  0x6a3de,  0x000fb,  0x00f7b,  0x03dd7,  0x07bd0,
507    0x0e59c,  0x0f9cd, 0x1cf18,  0x1d2ff,  0x34a7a,  0x39429,  0x3500c,  0x72de0,
508    0x69456,  0x7be7c, 0xd46b5,  0xd46b2,  0x6a3dd,  0x001a2,  0x0163b,  0x06913,
509    0x0b016,  0x0fa42, 0x1a32d,  0x1cf06,  0x34a7c,  0x34a7d,  0xb6161,  0x35481,
510    0x3e5fa,  0x7cba0, 0x7be7f,  0x7cba3,  0x7cba7,  0x5b0d3,  0x72de6,  0x6a3dc,
511    0x001a9,  0x01ab4, 0x06a34,  0x0d46a,  0x16130,  0x1ef5f,  0x1f532,  0x1f536,
512    0x3942e,  0x58436, 0x6a3db,  0x6945b,  0x001c9,  0x01ca0,  0x0728b,  0x0eed9,
513    0x1f539,  0x1ca1d, 0x39765,  0x39766,  0x58439,  0x6945d,  0x39767,  0x001d3,
514    0x01f2c,  0x07bfc, 0x16161,  0x34652,  0x3a5ed,  0x3548d,  0x58438,  0x6a3da,
515    0x002c1,  0x02c5e, 0x0d335,  0x1ab1a,  0x2d874,  0x35006,  0x35484,  0x5b0cc,
516    0x74b9a,  0x72df3, 0x6a3d6,  0x002da,  0x034b3,  0x0d5ae,  0x1caee,  0x2d871,
517    0x357e3,  0x74b97, 0x72df9,  0x580ba,  0x5b0d4,  0x0034d,  0x0354e,  0x0f750,
518    0x1cbc0,  0x3a5e7, 0x3a5e4,  0x00385,  0x03a58,  0x16c41,  0x2c5cf,  0x3e5e1,
519    0x74b6c,  0xe5677, 0x6a3df,  0x00390,  0x03e50,  0x163c2,  0x2d876,  0x35482,
520    0x5b0d6,  0x5843a, 0x0039f,  0x0585e,  0x1a583,  0x3500f,  0x74b93,  0x39771,
521    0x003e4,  0x06912, 0x16c43,  0x357e1,  0x0058a,  0x0696f,  0x1f538,  0x5b0c9,
522    0x6a3cf,  0x005b6, 0x06af8,  0x1f534,  0x58483,  0x6a3e0,  0x00695,  0x07d02,
523    0x1cae8,  0x58485, 0x006a2,  0x0754a,  0x357ee,  0x3977b,  0x00748,  0x074b2,
524    0x34a7b,  0x00729, 0x0b1e0,  0x34649,  0x3e5e3,  0x0073d,  0x0d2c4,  0x3e5e6,
525    0x007bb,  0x0b099, 0x39762,  0x5b0ce,  0x6945f,  0x007d1,  0x0d5ab,  0x39779,
526    0x007d3,  0x0d52f, 0x39763,  0x6945c,  0x00b1a,  0x0d2c5,  0x35489,  0x00d23,
527    0x0eaed,  0x3e5f8, 0x00d32,  0x16016,  0x3e5fb,  0x00d41,  0x0e768,  0x3a5ed,
528    0x00e1f,  0x16017, 0x58027,  0x00ead,  0x0fa07,  0x69455,  0x00e54,  0x1612b,
529    0x00e55,  0x1a581, 0x00f78,  0x1a32b,  0x580bc,  0x6a3ee,  0x00f79,  0x1abfd,
530    0x00f95,  0x1ab18, 0x6a3f0,  0x01637,  0x1aa4d,  0x0162d,  0x1f53c,  0x6a3f3,
531    0x01a31,  0x1a810, 0x39769,  0x01a50,  0x1caef,  0x01a36,  0x1a32e,  0x01a67,
532    0x1f38e,  0x01a85, 0x1ef59,  0x01aa6,  0x1ef83,  0x01d51,  0x2c012,  0x01d53,
533    0x2d879,  0x01d5e, 0x35005,  0x01cba,  0x1cf04,  0x69453,  0x01d2d,  0x351ff,
534    0x01f2d,  0x2d86f, 0x01f29,  0x35007,  0x02c22,  0x351fa,  0x02c03,  0x3a5ec,
535    0x02c5f,  0x3a5eb, 0x02c58,  0x34a6b,  0x03469,  0x356be,  0x02c59,  0x34a6c,
536    0x0346a,  0x3a5ea, 0x034bd,  0x034bf,  0x356bf,  0x0386a,  0x03ab9,  0x5843f,
537    0x0386b,  0x3a5f5, 0x03a4b,  0x39421,  0x03aa4,  0x3a5e9,  0x03a5a,  0x03960,
538    0x3977e,  0x03de9, 0x03958,  0x03df7,  0x039e1,  0x3e5e4,  0x0395f,  0x69458,
539    0x03e91,  0x03df2, 0x39428,  0x058f2,  0x03e80,  0x6a3c3,  0x03e93,  0x694c0,
540    0x058b8,  0x5b0ca, 0x0584f,  0x694c1,  0x058f1,  0x068d6,  0x06a10,  0x06ac3,
541    0x06a32,  0x070d2, 0x06911,  0x074b1,  0x07494,  0x06ad4,  0x06ad6,  0x072b8,
542    0x06afa,  0x074b3, 0x07540,  0x073ce,  0x0b005,  0x074b3,  0x07495,  0x074b9,
543    0x0d336,  0x07bff, 0x07763,  0x073c8,  0x07d29,  0x0b622,  0x0d221,  0x0d181,
544    0x0b1d1,  0x074b8, 0x0b1d0,  0x0d19b,  0x0d2c3,  0x0b172,  0x0d2dc,  0x0b623,
545    0x0d5aa,  0x0d426, 0x0d182,  0x0e795,  0x0e1d1,  0x0d337,  0x0e96c,  0x0e5e4,
546    0x0e514,  0x0eaee, 0x16000,  0x0e767,  0x0e1a1,  0x0e78f,  0x16004,  0x0f7c2,
547    0x0e799,  0x0e5e7, 0x0e566,  0x0e769,  0x0f751,  0x0eede,  0x0fa06,  0x16005,
548    0x0fa9f,  0x1a5e6, 0x0e766,  0x1636f,  0x0eedd,  0x0eec0,  0x1a309,  0x1ceca,
549    0x163cd,  0x0f9cb, 0x0eedf,  0x1a582,  0x1612d,  0x0e5e5,  0x1abf8,  0x1a30c,
550    0x1ca1f,  0x163cc, 0x1a35c,  0x1ca1e,  0x1aa51,  0x163ac,  0x1a84e,  0x1a53f,
551    0x1cf16,  0x1d2fc, 0x1a5b3,  0x1ab19,  0x1a81f,  0x1d5c3,  0x16c3f,  0x1d5c1,
552    0x1d2fc,  0x1f4aa, 0x1a812,  0x1f535,  0x1cf12,  0x1a817,  0x1617c,  0x1ab0b,
553    0x1d2f8,  0x1ef82, 0x2d87a,  0x1d52f,  0x1f530,  0x1aa48,  0x35487,  0x1d2fd,
554    0x1f4ad,  0x1cf11, 0x3461b,  0x35485,  0x1ca20,  0x1caed,  0x1cae6,  0x1abff,
555    0x3464f,  0x34a6f, 0x1ef81,  0x3464b,  0x39d96,  0x1f383,  0x1f537,  0x1cf14,
556    0x2c5ce,  0x3500e, 0x2c251,  0x1caec,  0x1f387,  0x34654,  0x357e4,  0x2d878,
557    0x3500b,  0x35480, 0x3a5e8,  0x3548e,  0x34b64,  0x1f4a8,  0x35003,  0x3e5df,
558    0x2d870,  0x357e6, 0x3e5f0,  0x1ef5a,  0x3a5ea,  0x1f388,  0x3e703,  0x2c24e,
559    0x3a5e2,  0x351fd, 0x2c6dd,  0x3e704,  0x351fe,  0x2d875,  0x5b0c7,  0x3976a,
560    0x3a5e6,  0x39423, 0x58480,  0x2c246,  0x3a5e3,  0x2d877,  0x3e5f1,  0x3abbe,
561    0x58489,  0x3e5f9, 0x357e0,  0x3abbc,  0x5b0c6,  0x69167,  0x69165,  0x3e5e9,
562    0x39422,  0x3976f, 0x3977d,  0x3e5de,  0x6a3c9,  0x58b98,  0x3a5f6,  0x3a5d0,
563    0x58486,  0x6a3c1, 0x3e5fc,  0x5b0dc,  0x3548f,  0x3942d,  0x694c9,  0x58484,
564    0x3a5e8,  0x74b9b, 0x74b96,  0x694d0,  0x58488,  0x3a5e4,  0x3942a,  0x72ec2,
565    0x39776,  0x5b0d1, 0x5b0cf,  0x3a5d6,  0xe59fc,  0x5b0c8,  0x3e5e7,  0x7cbb7,
566    0x70e87,  0x7cbab, 0x5b0c2,  0x694c3,  0x74a8e,  0x3e5f3,  0x6a3cd,  0x72dfe,
567    0x73b2e,  0x72ec0, 0x694c5,  0x58437,  0x694c8,  0x72dff,  0x39435,  0x5843d,
568    0x6a3d7,  0x72ec1, 0xd22c8,  0x694cf,  0xb6173,  0x3e5fe,  0x580bb,  0xe59f2,
569    0xb616e,  0xb6175, 0x3a5da,  0x5b0bd,  0x694cc,  0x5843c,  0x694c7,  0x74b92,
570    0x72ec3,  0x694c6, 0xb6170,  0x7cbac,  0xb1733,  0x7cba4,  0xb6167,  0x72de7,
571    0x72de4,  0x6a3c0, 0x3e5ef, 0x162e65,  0x72de3,  0x72dfb,  0x6a35f,  0x6a3eb,
572};
573
574static const uint8_t coef2_huffbits[1336] = {
575    11,  9,  2,  3,  4,  4,  5,  6,
576     6,  7,  7,  8,  8,  8,  9,  9,
577     9,  9, 10, 10, 10, 10, 11, 11,
578    11, 11, 11, 11, 11, 12, 12, 12,
579    12, 12, 12, 12, 12, 12, 13, 13,
580    13, 13, 13, 13, 13, 13, 13, 14,
581    14, 14, 14, 14, 14, 14, 14, 14,
582    14, 14, 14, 14, 14, 15, 15, 15,
583    15, 15, 15, 15, 15, 15, 15, 15,
584    15, 15, 15, 15, 15, 16, 15, 16,
585    16, 16, 16, 16, 16, 16, 16, 16,
586    16, 16, 16, 16, 16, 16, 16, 16,
587    17, 17, 17, 17, 17, 17, 17, 17,
588    17, 17, 17, 18, 17, 17, 17, 17,
589    17, 17, 17, 18, 18, 17, 17, 18,
590    17, 17, 18, 17, 18, 18, 18, 18,
591    19, 18, 18, 18, 18, 18, 18, 20,
592    18, 18, 18, 19, 19, 18, 19, 18,
593    19, 19, 18, 19, 19, 18, 19, 19,
594    19, 19, 18, 19, 19, 19, 19, 19,
595    19, 19, 20, 20, 20, 19, 19, 20,
596    19, 20, 19, 19, 20, 19, 19, 20,
597    20, 20, 20, 19, 20, 21, 19,  3,
598     5,  7,  8,  9,  9, 10, 11, 11,
599    12, 12, 12, 13, 13, 13, 13, 14,
600    14, 14, 14, 15, 15, 15, 15, 15,
601    15, 15, 15, 15, 15, 15, 16, 16,
602    15, 15, 15, 15, 16, 16, 16, 16,
603    17, 16, 17, 17, 16, 17, 17, 17,
604    17, 17, 17, 16, 17, 17, 17, 17,
605    18, 17, 17, 18, 18, 18, 18, 18,
606    19, 18, 18, 18, 18, 18, 18, 19,
607    19, 18, 18, 18, 18, 19, 18, 19,
608    19, 19, 20, 19, 18, 19, 19, 19,
609    19, 19, 19, 19, 19, 19, 19, 20,
610    20, 19, 20, 19, 20, 19, 20, 19,
611    19, 21, 20, 20, 19,  4,  7,  8,
612    10, 11, 11, 12, 12, 13, 13, 14,
613    14, 14, 14, 15, 15, 15, 15, 15,
614    16, 16, 16, 16, 16, 16, 16, 17,
615    17, 17, 17, 17, 17, 17, 16, 16,
616    16, 16, 17, 17, 17, 17, 18, 18,
617    18, 17, 17, 18, 18, 18, 18, 18,
618    18, 18, 18, 18, 19, 18, 18, 18,
619    19, 18, 19, 19, 19, 20, 20, 20,
620    19, 19, 19, 19, 19, 19, 19, 21,
621    21, 20, 19,  5,  8, 10, 11, 12,
622    13, 13, 13, 14, 14, 15, 15, 15,
623    15, 16, 16, 16, 16, 16, 17, 17,
624    17, 17, 17, 17, 17, 17, 18, 17,
625    18, 17, 17, 17, 17, 17, 17, 17,
626    17, 17, 17, 17, 19, 18, 19, 18,
627    18, 18, 18, 18, 19, 18, 17, 17,
628    18, 18, 19, 19, 19, 19, 18, 18,
629    18, 19,  6,  9, 11, 12, 13, 13,
630    14, 14, 14, 15, 15, 16, 16, 16,
631    16, 16, 16, 17, 17, 17, 18, 18,
632    18, 18, 18, 18, 18, 18, 18, 18,
633    18, 17, 18, 18, 17, 18, 18, 18,
634    18, 18, 18, 19, 19, 18, 18, 18,
635    19, 19, 19, 20, 19, 19, 18, 19,
636    19, 20, 21, 21, 19, 19, 18,  6,
637    10, 12, 13, 14, 14, 14, 15, 15,
638    15, 16, 16, 17, 17, 17, 17, 17,
639    17, 17, 18, 18, 19, 18, 18, 18,
640    19, 18, 18, 18, 19, 18, 18, 18,
641    18, 18, 18, 18, 18, 18, 18, 18,
642    19, 20, 20, 19, 19, 19, 19, 20,
643    20, 19, 20, 19, 19, 19, 20, 20,
644    20, 19, 19, 18, 19,  7, 10, 12,
645    13, 14, 15, 15, 15, 16, 16, 17,
646    17, 17, 17, 17, 17, 18, 18, 18,
647    18, 19, 18, 19, 19, 19, 20, 19,
648    18, 19, 19, 18, 18, 19, 19, 19,
649    18, 19, 19, 20, 19, 18, 20, 21,
650    20, 20, 19, 19, 21, 20, 21, 20,
651    20, 20, 19, 19, 20, 20, 21, 20,
652    19,  7, 11, 13, 14, 15, 15, 15,
653    16, 16, 17, 17, 17, 17, 18, 18,
654    18, 18, 18, 19, 20, 19, 19, 20,
655    19, 19, 19, 19, 19, 19, 19, 19,
656    18, 18, 19, 20, 19, 19, 19, 20,
657    19, 19, 19, 20, 19, 20, 20, 21,
658    20, 20, 20, 21, 22, 20, 19, 20,
659    20, 21, 20, 21, 20, 19,  8, 11,
660    13, 14, 15, 16, 16, 16, 17, 17,
661    17, 18, 18, 18, 18, 18, 19, 18,
662    19, 19, 19, 19, 21, 19, 19, 21,
663    19, 20, 20, 20, 19, 18, 18,  8,
664    12, 14, 15, 16, 16, 16, 16, 17,
665    17, 17, 19, 18, 18, 19, 19, 20,
666    19, 18, 20, 19, 20, 20, 19, 19,
667    20, 20, 21, 21, 20, 19, 19, 19,
668    19, 19, 19, 20, 21, 20, 19, 19,
669     8, 12, 14, 15, 16, 16, 17, 17,
670    17, 18, 18, 18, 19, 19, 19, 19,
671    19, 19, 20, 21, 20, 21, 19, 21,
672    20, 20, 20, 20, 21, 20, 19, 20,
673    19, 20, 20, 20, 19, 22, 21, 21,
674    19,  9, 12, 14, 15, 16, 17, 17,
675    17, 18, 18, 18, 19, 19, 19, 19,
676    20, 19, 19, 19,  9, 13, 15, 16,
677    17, 17, 18, 18, 18, 19, 18, 20,
678    19, 20, 20, 20, 19,  9, 13, 15,
679    16, 17, 17, 18, 18, 18, 20, 18,
680    19, 20, 20, 20, 20, 19, 20, 19,
681     9, 13, 15, 16, 17, 18, 18, 18,
682    19, 19, 19, 19, 10, 14, 16, 17,
683    18, 18, 19, 19, 19, 19, 19, 10,
684    14, 16, 17, 18, 18, 18, 19, 19,
685    10, 14, 16, 17, 18, 18, 18, 19,
686    19, 20, 19, 10, 14, 16, 18, 18,
687    18, 19, 20, 19, 19, 10, 14, 17,
688    18, 18, 18, 10, 15, 17, 18, 19,
689    19, 21, 19, 11, 15, 17, 18, 18,
690    19, 19, 11, 15, 17, 18, 19, 19,
691    11, 15, 17, 18, 11, 15, 18, 19,
692    19, 11, 15, 18, 19, 19, 11, 16,
693    18, 19, 11, 15, 18, 19, 11, 16,
694    18, 12, 16, 18, 19, 12, 16, 19,
695    12, 16, 19, 19, 19, 12, 16, 19,
696    12, 16, 19, 19, 12, 16, 18, 12,
697    16, 19, 12, 17, 19, 12, 17, 19,
698    12, 17, 19, 12, 17, 19, 13, 17,
699    13, 17, 13, 17, 19, 19, 13, 17,
700    13, 17, 19, 13, 17, 13, 18, 19,
701    13, 17, 19, 13, 18, 13, 17, 13,
702    18, 13, 18, 13, 18, 13, 18, 13,
703    18, 13, 18, 14, 18, 19, 14, 18,
704    14, 18, 14, 18, 14, 18, 14, 19,
705    14, 19, 14, 18, 14, 18, 14, 18,
706    14, 19, 14, 14, 18, 14, 14, 19,
707    14, 18, 14, 19, 14, 19, 14, 15,
708    19, 15, 15, 15, 15, 19, 15, 19,
709    15, 15, 19, 15, 15, 19, 15, 19,
710    15, 19, 15, 19, 15, 15, 15, 15,
711    15, 15, 15, 15, 15, 15, 15, 16,
712    15, 15, 15, 16, 16, 16, 15, 16,
713    16, 16, 16, 16, 16, 16, 16, 16,
714    16, 16, 16, 16, 16, 16, 16, 16,
715    16, 16, 16, 17, 16, 16, 16, 17,
716    17, 16, 17, 17, 16, 17, 17, 17,
717    17, 17, 17, 17, 17, 17, 17, 17,
718    17, 17, 17, 17, 17, 17, 17, 18,
719    17, 17, 17, 17, 17, 17, 17, 17,
720    18, 17, 17, 18, 17, 17, 17, 17,
721    18, 18, 17, 17, 17, 17, 17, 17,
722    17, 18, 17, 18, 18, 17, 17, 17,
723    18, 18, 18, 17, 18, 17, 18, 18,
724    18, 18, 18, 18, 18, 18, 18, 17,
725    18, 18, 18, 18, 19, 18, 18, 18,
726    18, 18, 18, 18, 18, 18, 18, 18,
727    18, 18, 18, 18, 18, 18, 18, 19,
728    18, 18, 19, 18, 18, 18, 19, 18,
729    19, 18, 18, 19, 18, 18, 19, 19,
730    19, 19, 19, 18, 19, 18, 19, 18,
731    19, 19, 18, 18, 19, 19, 19, 19,
732    19, 19, 19, 19, 19, 19, 18, 19,
733    19, 19, 19, 19, 18, 19, 19, 19,
734    19, 19, 19, 19, 19, 19, 19, 20,
735    19, 19, 19, 19, 21, 19, 19, 20,
736    19, 20, 19, 19, 19, 19, 19, 20,
737    20, 20, 19, 19, 19, 20, 19, 19,
738    19, 20, 20, 19, 20, 19, 19, 21,
739    20, 20, 19, 19, 19, 19, 19, 19,
740    20, 19, 20, 20, 20, 20, 20, 20,
741    20, 19, 19, 21, 20, 20, 19, 19,
742};
743
744static const uint32_t coef3_huffcodes[1072] = {
745    0x001b2, 0x00069, 0x00000, 0x00004, 0x00006, 0x0000e, 0x00014, 0x00019,
746    0x00016, 0x0002b, 0x00030, 0x0003d, 0x0003c, 0x0005a, 0x0005f, 0x0006d,
747    0x0007e, 0x0005f, 0x0007f, 0x000b6, 0x000bc, 0x000d8, 0x000f2, 0x000fe,
748    0x000bc, 0x000fc, 0x00161, 0x0016e, 0x00174, 0x00176, 0x001a2, 0x001e3,
749    0x001f3, 0x00174, 0x0017a, 0x001ea, 0x002a8, 0x002c4, 0x002e6, 0x00314,
750    0x00346, 0x00367, 0x003e9, 0x002e5, 0x002ee, 0x003d6, 0x00555, 0x00554,
751    0x00557, 0x005c3, 0x005d6, 0x006e0, 0x0062f, 0x006e2, 0x00799, 0x00789,
752    0x007fa, 0x005ce, 0x007fe, 0x005ec, 0x007cc, 0x007af, 0x00aa7, 0x00b19,
753    0x00b94, 0x00b85, 0x00b9f, 0x00c48, 0x00c45, 0x00dd8, 0x00c4c, 0x00c4b,
754    0x00d99, 0x00d1f, 0x00dc2, 0x00f95, 0x00fa2, 0x00bb5, 0x00b9f, 0x00f5d,
755    0x00bbf, 0x00f47, 0x0154a, 0x00fd5, 0x00f45, 0x00f7f, 0x0160d, 0x01889,
756    0x01757, 0x01722, 0x018b3, 0x0172d, 0x01a39, 0x01a18, 0x01bb3, 0x01b30,
757    0x01e63, 0x0173c, 0x01b35, 0x01723, 0x01e80, 0x01fee, 0x01761, 0x01ffc,
758    0x01f7f, 0x02c7c, 0x01fa1, 0x0177b, 0x01755, 0x0175a, 0x01fa6, 0x02eab,
759    0x0310a, 0x02c69, 0x03669, 0x03127, 0x03103, 0x02e43, 0x03662, 0x03165,
760    0x03124, 0x0313b, 0x03111, 0x03668, 0x0343b, 0x03c52, 0x03efc, 0x02e6c,
761    0x03fda, 0x03ef8, 0x02e7b, 0x03ee2, 0x03cc5, 0x03d72, 0x058c0, 0x03df8,
762    0x02ea9, 0x03e7e, 0x0556d, 0x05c82, 0x03d71, 0x03e7b, 0x03c42, 0x058d7,
763    0x03f4e, 0x06200, 0x03d70, 0x05cb2, 0x05c96, 0x05cb0, 0x03f45, 0x05cb1,
764    0x02e6d, 0x03110, 0x02f68, 0x05c90, 0x07ca6, 0x07c88, 0x06204, 0x062c8,
765    0x078a6, 0x07986, 0x079d5, 0x0b1ad, 0x07989, 0x0b079, 0x05cdd, 0x0aad4,
766    0x05de8, 0x07dcd, 0x07987, 0x05d67, 0x05d99, 0x0b91d, 0x07cf1, 0x05d9b,
767    0x079d7, 0x0b07b, 0x05c85, 0x05d9a, 0x07dcc, 0x07ebf, 0x07dce, 0x07dfb,
768    0x07ec0, 0x07d1a, 0x07a07, 0x05c84, 0x0c471, 0x07cf2, 0x0baef, 0x0b9d2,
769    0x05deb, 0x07bd6, 0x0b845, 0x05d98, 0x0b91a, 0x0bae8, 0x0c4e0, 0x0dc31,
770    0x0f93d, 0x0bbce, 0x0d1d2, 0x0f7a9, 0x0d9b9, 0x0bbcb, 0x0b900, 0x0aad7,
771    0x0babd, 0x0c4e1, 0x0f46f, 0x0c588, 0x0c58b, 0x160e6, 0x0bbcf, 0x0bac3,
772    0x0f945, 0x0f7a3, 0x0d1c1, 0x0fb8e, 0x0f7a4, 0x0fb8c, 0x0f40c, 0x0c473,
773    0x0fd72, 0x0bbcd, 0x0fffa, 0x0f940, 0x0bbc9, 0x0f7a8, 0x1a1ed, 0x0bbc5,
774    0x1f26f, 0x163fd, 0x160c7, 0x1a1f5, 0x0f947, 0x163fc, 0x154b3, 0x0fff6,
775    0x163f6, 0x160e9, 0x1a1f0, 0x0bab9, 0x0baba, 0x17086, 0x0b903, 0x0fd75,
776    0x0f308, 0x176f3, 0x163ff, 0x0fd7d, 0x1bb78, 0x163fb, 0x188db, 0x1a1f7,
777    0x154b2, 0x172fd, 0x163f4, 0x1bb73, 0x172ff, 0x0babc, 0x0f97d, 0x1a1f3,
778    0x1bb6d, 0x1ffd5, 0x1a1f4, 0x1f272, 0x17380, 0x17382, 0x1ffe7, 0x0bac8,
779    0x0bbc4, 0x188d3, 0x160e0, 0x0fd7b, 0x1725f, 0x172f5, 0x1bb79, 0x1fad9,
780    0x1f269, 0x188d0, 0x0bac4, 0x0bac5, 0x31185, 0x188d2, 0x188cc, 0x31187,
781    0x3e7fe, 0x188d1, 0x1bb6c, 0x1f268, 0x1fad2, 0x1ffd9, 0x1a1ea, 0x1bb68,
782    0x1facb, 0x3fdb2, 0x1e81a, 0x188ce, 0x172fb, 0x1a1ef, 0x1face, 0x1bb70,
783    0x0bac1, 0x1bb6b, 0x172f8, 0x1bb66, 0x1ffdf, 0x1bb6a, 0x1ffd7, 0x1f266,
784    0x176f8, 0x37653, 0x1fa7e, 0x31182, 0x1fac8, 0x2c7e3, 0x370ee, 0x176ec,
785    0x176e9, 0x2e4bc, 0x160c5, 0x3765a, 0x3ce9c, 0x17373, 0x176e8, 0x188d4,
786    0x176f1, 0x176ef, 0x37659, 0x1bb7c, 0x1ffde, 0x176f2, 0x3118b, 0x2c7d4,
787    0x37651, 0x5ce9f, 0x37650, 0x31191, 0x3f4f6, 0x3f4f5, 0x7a06c, 0x1fac1,
788    0x5c97b, 0x2c7e0, 0x79d3a, 0x3e7fd, 0x2c7df, 0x3f4f0, 0x7a06d, 0x376c1,
789    0x79d3b, 0x00004, 0x00014, 0x00059, 0x000ab, 0x000b8, 0x00177, 0x001f5,
790    0x001f2, 0x00315, 0x003fc, 0x005bd, 0x0062d, 0x006e8, 0x007dd, 0x00b04,
791    0x007cd, 0x00b1e, 0x00d1e, 0x00f15, 0x00f3b, 0x00f41, 0x01548, 0x018b0,
792    0x0173b, 0x01884, 0x01a1c, 0x01bb4, 0x01f25, 0x017b5, 0x0176d, 0x01ef8,
793    0x02e73, 0x03107, 0x03125, 0x03105, 0x02e49, 0x03ce8, 0x03ef9, 0x03e5e,
794    0x02e72, 0x03471, 0x03fd9, 0x0623f, 0x078a0, 0x06867, 0x05cb3, 0x06272,
795    0x068ec, 0x06e9a, 0x079d4, 0x06e98, 0x0b1aa, 0x06e1a, 0x07985, 0x068ee,
796    0x06e9b, 0x05c88, 0x0b1ac, 0x07dfa, 0x05d65, 0x07cf0, 0x07cbf, 0x0c475,
797    0x160eb, 0x1bb7e, 0x0f7a6, 0x1fedd, 0x160e3, 0x0fffb, 0x0fb8d, 0x0fff9,
798    0x0d1c0, 0x0c58c, 0x1a1e9, 0x0bab8, 0x0f5cf, 0x0fff5, 0x376c5, 0x1a1ec,
799    0x160ed, 0x1fede, 0x1fac9, 0x1a1eb, 0x1f224, 0x176ee, 0x0fd79, 0x17080,
800    0x17387, 0x1bb7a, 0x1ffe9, 0x176f7, 0x17385, 0x17781, 0x2c7d5, 0x17785,
801    0x1ffe3, 0x163f5, 0x1fac2, 0x3e7f9, 0x3118d, 0x3fdb1, 0x1ffe2, 0x1f226,
802    0x3118a, 0x2c7d9, 0x31190, 0x3118c, 0x3f4f3, 0x1bb7f, 0x1bb72, 0x31184,
803    0xb92f4, 0x3e7fb, 0x6e1d9, 0x1faca, 0x62300, 0x3fdb8, 0x3d037, 0x3e7fc,
804    0x62301, 0x3f4f2, 0x1f26a, 0x0000e, 0x00063, 0x000f8, 0x001ee, 0x00377,
805    0x003f7, 0x006e3, 0x005cc, 0x00b05, 0x00dd2, 0x00fd4, 0x0172e, 0x0172a,
806    0x01e23, 0x01f2d, 0x01763, 0x01769, 0x0176c, 0x02e75, 0x03104, 0x02ec1,
807    0x03e58, 0x0583f, 0x03f62, 0x03f44, 0x058c5, 0x0623c, 0x05cf4, 0x07bd7,
808    0x05d9d, 0x0aad2, 0x05d66, 0x0b1a9, 0x0b078, 0x07cfe, 0x0b918, 0x0c46f,
809    0x0b919, 0x0b847, 0x06e1b, 0x0b84b, 0x0aad8, 0x0fd74, 0x172f4, 0x17081,
810    0x0f97c, 0x1f273, 0x0f7a0, 0x0fd7c, 0x172f7, 0x0fd7a, 0x1bb77, 0x172fe,
811    0x1f270, 0x0fd73, 0x1bb7b, 0x1a1bc, 0x1bb7d, 0x0bbc3, 0x172f6, 0x0baeb,
812    0x0fb8f, 0x3f4f4, 0x3fdb4, 0x376c8, 0x3e7fa, 0x1ffd0, 0x62303, 0xb92f5,
813    0x1f261, 0x31189, 0x3fdb5, 0x2c7db, 0x376c9, 0x1fad6, 0x1fad1, 0x00015,
814    0x000f0, 0x002e0, 0x0058e, 0x005d7, 0x00c4d, 0x00fa1, 0x00bdb, 0x01756,
815    0x01f70, 0x02c19, 0x0313c, 0x0370f, 0x03cc0, 0x02ea8, 0x058c6, 0x058c7,
816    0x02eb7, 0x058d0, 0x07d18, 0x0aa58, 0x0b848, 0x05d9e, 0x05d6c, 0x0b84c,
817    0x0c589, 0x0b901, 0x163f8, 0x0bac9, 0x0b9c5, 0x0f93c, 0x188d8, 0x0bbc7,
818    0x160ec, 0x0fd6f, 0x188d9, 0x160ea, 0x0f7a7, 0x0f944, 0x0baab, 0x0dc3a,
819    0x188cf, 0x176fb, 0x2c7d8, 0x2c7d7, 0x1bb75, 0x5ce9e, 0x62302, 0x370ed,
820    0x176f4, 0x1ffd1, 0x370ef, 0x3f4f8, 0x376c7, 0x1ffe1, 0x376c6, 0x176ff,
821    0x6e1d8, 0x176f6, 0x17087, 0x0f5cd, 0x00035, 0x001a0, 0x0058b, 0x00aac,
822    0x00b9a, 0x0175f, 0x01e22, 0x01e8c, 0x01fb2, 0x0310b, 0x058d1, 0x0552e,
823    0x05c27, 0x0686e, 0x07ca7, 0x0c474, 0x0dc33, 0x07bf2, 0x05de9, 0x07a35,
824    0x0baaa, 0x0b9eb, 0x0fb95, 0x0b9b8, 0x17381, 0x1f262, 0x188cd, 0x17088,
825    0x172fa, 0x0f7a2, 0x1fad3, 0x0bac0, 0x3765c, 0x1fedf, 0x1f225, 0x1fad4,
826    0x2c7da, 0x5ce9d, 0x3e7f8, 0x1e203, 0x188d7, 0x00054, 0x002c0, 0x007a1,
827    0x00f78, 0x01b36, 0x01fa3, 0x0313a, 0x03436, 0x0343a, 0x07d1d, 0x07bd8,
828    0x05cdf, 0x0b846, 0x0b189, 0x0d9b8, 0x0fff8, 0x0d9be, 0x0c58a, 0x05dea,
829    0x0d1d3, 0x160e4, 0x1f26b, 0x188da, 0x1e202, 0x2c7d2, 0x163fe, 0x31193,
830    0x17782, 0x376c2, 0x2c7d1, 0x3fdb0, 0x3765d, 0x2c7d0, 0x1fad0, 0x1e201,
831    0x188dd, 0x2c7e2, 0x37657, 0x37655, 0x376c4, 0x376c0, 0x176ea, 0x0006f,
832    0x003cf, 0x00dd5, 0x01f23, 0x02c61, 0x02ed0, 0x05d54, 0x0552d, 0x07883,
833    0x0b1a8, 0x0b91c, 0x0babf, 0x0b902, 0x0f7aa, 0x0f7a5, 0x1a1e8, 0x1ffd6,
834    0x0babe, 0x1a1bf, 0x163f3, 0x1ffd8, 0x1fad7, 0x1f275, 0x1ffdc, 0x0007d,
835    0x005bc, 0x01549, 0x02a99, 0x03def, 0x06273, 0x079d6, 0x07d1b, 0x0aad3,
836    0x0d0fc, 0x2c7dd, 0x188d6, 0x0bac2, 0x2c7e1, 0x1bb76, 0x1a1bd, 0x31186,
837    0x0fd78, 0x1a1be, 0x31183, 0x3fdb6, 0x3f4f1, 0x37652, 0x1fad5, 0x3f4f9,
838    0x3e7ff, 0x5ce9c, 0x3765b, 0x31188, 0x17372, 0x000bd, 0x0078b, 0x01f21,
839    0x03c43, 0x03ded, 0x0aad6, 0x07ec1, 0x0f942, 0x05c86, 0x17089, 0x0babb,
840    0x1ffe8, 0x2c7de, 0x1f26e, 0x1fac4, 0x3f4f7, 0x37656, 0x1fa7d, 0x376c3,
841    0x3fdb3, 0x3118f, 0x1fac6, 0x000f8, 0x007ed, 0x01efd, 0x03e7a, 0x05c91,
842    0x0aad9, 0x0baec, 0x0dc32, 0x0f46e, 0x1e200, 0x176fa, 0x3765e, 0x3fdb7,
843    0x2c7d6, 0x3fdb9, 0x37654, 0x37658, 0x3118e, 0x1ffdb, 0x000f6, 0x00c43,
844    0x03106, 0x068ef, 0x0b84d, 0x0b188, 0x0bbcc, 0x1f264, 0x1bb69, 0x17386,
845    0x1fac0, 0x00171, 0x00f39, 0x03e41, 0x068ed, 0x0d9bc, 0x0f7a1, 0x1bb67,
846    0x1ffdd, 0x176f9, 0x001b9, 0x00f7d, 0x03f63, 0x0d0fd, 0x0b9ea, 0x188dc,
847    0x1fac3, 0x1a1f2, 0x31192, 0x1ffe4, 0x001f6, 0x01754, 0x06865, 0x0f309,
848    0x160e5, 0x176f5, 0x3765f, 0x1facc, 0x001e9, 0x01a1a, 0x06201, 0x0f105,
849    0x176f0, 0x002df, 0x01756, 0x05d6d, 0x163fa, 0x176ed, 0x00342, 0x02e40,
850    0x0d0ff, 0x17082, 0x003cd, 0x02a98, 0x0fffc, 0x2c7dc, 0x1fa7f, 0x003fe,
851    0x03764, 0x0fffd, 0x176fc, 0x1fac5, 0x002f7, 0x02ed1, 0x0fb97, 0x0058a,
852    0x02edc, 0x0bbc8, 0x005d4, 0x0623d, 0x160e8, 0x0062e, 0x05830, 0x163f9,
853    0x006eb, 0x06205, 0x1f274, 0x007de, 0x062c9, 0x1f265, 0x005c9, 0x05cde,
854    0x1ffd3, 0x005d4, 0x07988, 0x007ce, 0x0b849, 0x00b1b, 0x05c89, 0x1fac7,
855    0x00b93, 0x05c83, 0x00b9e, 0x0f14f, 0x00c4a, 0x0b9c7, 0x00dd4, 0x0c470,
856    0x1f271, 0x00f38, 0x0fb96, 0x176eb, 0x00fa0, 0x163f7, 0x00bb2, 0x0b91b,
857    0x00bbe, 0x0f102, 0x00f44, 0x0f946, 0x1facd, 0x00f79, 0x0d9bd, 0x0154d,
858    0x0bbc6, 0x00fd2, 0x160e7, 0x0172b, 0x188cb, 0x0175e, 0x0fd76, 0x0175c,
859    0x1bb71, 0x0189f, 0x1a1ee, 0x01f24, 0x1a1f6, 0x01ba7, 0x0bbca, 0x01f7d,
860    0x0ffff, 0x01f2e, 0x1bb65, 0x01bb5, 0x172f9, 0x01fef, 0x1f26c, 0x01f3e,
861    0x0fd77, 0x01762, 0x1bb6e, 0x01ef9, 0x172fc, 0x01fa0, 0x02ab7, 0x02e4a,
862    0x1f267, 0x01fb3, 0x1ffda, 0x02e42, 0x03101, 0x17780, 0x0313d, 0x03475,
863    0x17784, 0x03126, 0x1facf, 0x03c51, 0x17783, 0x03e40, 0x1ffe5, 0x03663,
864    0x1ffe0, 0x03e8f, 0x1f26d, 0x0343c, 0x03cc1, 0x176fd, 0x03e45, 0x02ec0,
865    0x03f61, 0x03dee, 0x03fd8, 0x0583e, 0x02e45, 0x03e59, 0x03d02, 0x05ce8,
866    0x05568, 0x176fe, 0x02f69, 0x1fad8, 0x058c1, 0x05c83, 0x1ffe6, 0x06271,
867    0x06e1c, 0x062c7, 0x068e1, 0x0552f, 0x06864, 0x06866, 0x06e99, 0x05cbc,
868    0x07ca5, 0x078a1, 0x05c82, 0x07dcf, 0x0623b, 0x0623e, 0x068e8, 0x07a36,
869    0x05d9c, 0x0b077, 0x07cf3, 0x07a34, 0x07ca4, 0x07d19, 0x079d2, 0x07d1c,
870    0x07bd9, 0x0b84a, 0x0fb94, 0x0aad5, 0x0dc30, 0x07bf3, 0x0baee, 0x0b07a,
871    0x0c472, 0x0b91e, 0x0d9ba, 0x05d9f, 0x0d0fe, 0x0b9c6, 0x05c87, 0x0f14e,
872    0x0baed, 0x0b92e, 0x0f103, 0x0b9c4, 0x0fb91, 0x0d9bb, 0x0b1ab, 0x0c58d,
873    0x0fffe, 0x0f93b, 0x0f941, 0x0baea, 0x0b91f, 0x0f5cc, 0x0d9bf, 0x0f943,
874    0x0f104, 0x1f260, 0x0fb92, 0x0f93f, 0x0f3a6, 0x0bac7, 0x0f7ab, 0x0bac6,
875    0x17383, 0x0fd6d, 0x0bae9, 0x0fd6e, 0x1e74f, 0x188ca, 0x1f227, 0x0fb93,
876    0x0fb90, 0x0fff7, 0x17085, 0x17083, 0x160e1, 0x17084, 0x0f93e, 0x160e2,
877    0x160c6, 0x1a1f1, 0x1bb6f, 0x17384, 0x0fd70, 0x1f263, 0x188d5, 0x173a6,
878    0x0f5ce, 0x163f2, 0x0fd71, 0x1ffd2, 0x160c4, 0x1ffd4, 0x2c7d3, 0x1bb74,
879};
880
881static const uint8_t coef3_huffbits[1072] = {
882     9,  7,  2,  3,  4,  4,  5,  5,
883     6,  6,  6,  6,  7,  7,  7,  7,
884     7,  8,  8,  8,  8,  8,  8,  8,
885     9,  9,  9,  9,  9,  9,  9,  9,
886     9, 10, 10, 10, 10, 10, 10, 10,
887    10, 10, 10, 11, 11, 11, 11, 11,
888    11, 11, 11, 11, 11, 11, 11, 11,
889    11, 12, 11, 12, 12, 12, 12, 12,
890    12, 12, 12, 12, 12, 12, 12, 12,
891    12, 12, 12, 12, 12, 13, 13, 13,
892    13, 13, 13, 13, 13, 13, 13, 13,
893    13, 13, 13, 13, 13, 13, 13, 13,
894    13, 14, 13, 14, 14, 13, 14, 13,
895    13, 14, 14, 14, 14, 14, 14, 14,
896    14, 14, 14, 14, 14, 14, 14, 14,
897    14, 14, 14, 14, 14, 14, 14, 15,
898    14, 14, 15, 14, 14, 15, 15, 15,
899    15, 15, 15, 15, 15, 15, 14, 15,
900    15, 15, 15, 15, 15, 15, 15, 15,
901    15, 14, 15, 15, 15, 15, 15, 15,
902    15, 15, 15, 16, 15, 16, 16, 16,
903    16, 15, 15, 16, 16, 16, 16, 16,
904    15, 16, 16, 16, 15, 16, 15, 15,
905    16, 15, 16, 16, 16, 16, 16, 16,
906    16, 16, 16, 16, 16, 16, 16, 16,
907    16, 17, 16, 17, 16, 17, 17, 16,
908    17, 16, 17, 16, 16, 17, 17, 17,
909    16, 17, 16, 16, 17, 16, 17, 16,
910    17, 17, 16, 16, 17, 17, 17, 17,
911    17, 17, 17, 17, 16, 17, 17, 16,
912    17, 17, 17, 17, 17, 17, 17, 17,
913    16, 18, 17, 17, 17, 17, 17, 17,
914    17, 17, 17, 17, 17, 17, 16, 17,
915    17, 17, 17, 17, 17, 17, 17, 17,
916    17, 17, 17, 17, 17, 17, 17, 18,
917    17, 17, 17, 17, 18, 17, 17, 18,
918    19, 17, 17, 17, 18, 17, 17, 17,
919    18, 18, 18, 17, 17, 17, 18, 17,
920    17, 17, 17, 17, 17, 17, 17, 17,
921    18, 18, 18, 18, 18, 18, 18, 18,
922    18, 18, 17, 18, 18, 18, 18, 17,
923    18, 18, 18, 17, 17, 18, 18, 18,
924    18, 19, 18, 18, 19, 19, 20, 18,
925    19, 18, 19, 19, 18, 19, 20, 18,
926    19,  4,  6,  7,  8,  9,  9,  9,
927    10, 10, 10, 11, 11, 11, 11, 12,
928    12, 12, 12, 12, 12, 13, 13, 13,
929    13, 13, 13, 13, 13, 14, 14, 14,
930    14, 14, 14, 14, 14, 14, 14, 14,
931    14, 14, 14, 15, 15, 15, 15, 15,
932    15, 15, 15, 15, 16, 15, 15, 15,
933    15, 16, 16, 15, 16, 16, 15, 16,
934    17, 17, 17, 17, 17, 16, 16, 16,
935    16, 16, 17, 17, 17, 16, 18, 17,
936    17, 17, 18, 17, 17, 18, 17, 17,
937    17, 17, 17, 18, 17, 18, 18, 18,
938    17, 17, 18, 19, 18, 18, 17, 17,
939    18, 18, 18, 18, 19, 17, 17, 18,
940    20, 19, 19, 18, 19, 18, 19, 19,
941    19, 19, 17,  5,  7,  9, 10, 10,
942    11, 11, 12, 12, 12, 13, 13, 13,
943    13, 13, 14, 14, 14, 14, 14, 15,
944    14, 15, 15, 15, 15, 15, 16, 16,
945    16, 16, 16, 16, 16, 16, 16, 16,
946    16, 16, 15, 16, 16, 17, 17, 17,
947    16, 17, 17, 17, 17, 17, 17, 17,
948    17, 17, 17, 17, 17, 17, 17, 16,
949    16, 19, 18, 18, 19, 17, 19, 20,
950    17, 18, 18, 18, 18, 18, 18,  6,
951     8, 10, 11, 12, 12, 12, 13, 13,
952    13, 14, 14, 14, 14, 15, 15, 15,
953    15, 15, 15, 16, 16, 16, 16, 16,
954    16, 17, 17, 17, 16, 16, 17, 17,
955    17, 17, 17, 17, 17, 16, 16, 16,
956    17, 18, 18, 18, 17, 19, 19, 18,
957    18, 17, 18, 19, 18, 17, 18, 18,
958    19, 18, 17, 17,  6,  9, 11, 12,
959    13, 13, 13, 14, 14, 14, 15, 15,
960    15, 15, 15, 16, 16, 16, 16, 16,
961    16, 17, 16, 17, 17, 17, 17, 17,
962    17, 17, 18, 17, 18, 17, 17, 18,
963    18, 19, 19, 17, 17,  7, 10, 12,
964    13, 13, 14, 14, 14, 14, 15, 16,
965    16, 16, 16, 16, 16, 16, 16, 16,
966    16, 17, 17, 17, 17, 18, 17, 18,
967    18, 18, 18, 18, 18, 18, 18, 17,
968    17, 18, 18, 18, 18, 18, 18,  7,
969    10, 12, 13, 14, 15, 15, 15, 15,
970    16, 16, 17, 17, 17, 17, 17, 17,
971    17, 17, 17, 17, 18, 17, 17,  8,
972    11, 13, 14, 15, 15, 15, 15, 16,
973    16, 18, 17, 17, 18, 17, 17, 18,
974    17, 17, 18, 18, 19, 18, 18, 19,
975    19, 19, 18, 18, 18,  8, 11, 13,
976    14, 15, 16, 16, 16, 16, 17, 17,
977    17, 18, 17, 18, 19, 18, 18, 18,
978    18, 18, 18,  8, 12, 14, 15, 15,
979    16, 16, 16, 17, 17, 18, 18, 18,
980    18, 18, 18, 18, 18, 17,  9, 12,
981    14, 15, 16, 16, 17, 17, 17, 17,
982    18,  9, 12, 14, 15, 16, 17, 17,
983    17, 18,  9, 13, 15, 16, 17, 17,
984    18, 17, 18, 17,  9, 13, 15, 16,
985    17, 18, 18, 18, 10, 13, 15, 16,
986    18, 10, 14, 16, 17, 18, 10, 14,
987    16, 17, 10, 14, 16, 18, 18, 10,
988    14, 16, 18, 18, 11, 15, 16, 11,
989    15, 17, 11, 15, 17, 11, 15, 17,
990    11, 15, 17, 11, 15, 17, 12, 16,
991    17, 12, 15, 12, 16, 12, 16, 18,
992    12, 16, 12, 16, 12, 16, 12, 16,
993    17, 12, 16, 18, 12, 17, 13, 16,
994    13, 16, 13, 16, 18, 13, 16, 13,
995    17, 13, 17, 13, 17, 13, 17, 13,
996    17, 13, 17, 13, 17, 13, 17, 13,
997    16, 13, 17, 13, 17, 13, 17, 14,
998    17, 14, 17, 14, 17, 14, 14, 14,
999    17, 14, 17, 14, 14, 18, 14, 14,
1000    18, 14, 18, 14, 18, 14, 17, 14,
1001    17, 14, 17, 14, 14, 18, 14, 15,
1002    15, 15, 14, 15, 15, 14, 15, 15,
1003    15, 18, 15, 18, 15, 15, 17, 15,
1004    15, 15, 15, 15, 15, 15, 15, 15,
1005    15, 15, 16, 15, 15, 15, 15, 16,
1006    16, 16, 16, 16, 15, 15, 15, 15,
1007    16, 16, 16, 16, 16, 16, 16, 16,
1008    16, 16, 16, 16, 16, 16, 16, 16,
1009    16, 16, 16, 16, 16, 16, 16, 16,
1010    16, 16, 16, 16, 16, 17, 16, 16,
1011    16, 17, 16, 16, 16, 17, 17, 17,
1012    17, 17, 16, 17, 17, 17, 17, 16,
1013    16, 16, 17, 17, 17, 17, 16, 17,
1014    17, 17, 17, 17, 17, 17, 17, 17,
1015    17, 17, 17, 17, 17, 17, 18, 17,
1016};
1017
1018static const uint32_t coef4_huffcodes[476] = {
1019    0x00f01, 0x0001e, 0x00000, 0x00004, 0x00006, 0x0000d, 0x0000a, 0x00017,
1020    0x0001d, 0x00017, 0x0002c, 0x00031, 0x00039, 0x0003e, 0x00039, 0x0005a,
1021    0x00066, 0x00070, 0x0007b, 0x00070, 0x00077, 0x000af, 0x000c9, 0x000f2,
1022    0x000f4, 0x000b2, 0x000e3, 0x0015b, 0x0015d, 0x00181, 0x0019d, 0x001e3,
1023    0x001c5, 0x002b5, 0x002db, 0x00338, 0x003c3, 0x003cc, 0x003f0, 0x002cd,
1024    0x003fa, 0x003a1, 0x005b4, 0x00657, 0x007ab, 0x0074d, 0x0074c, 0x00ac1,
1025    0x00ac5, 0x0076b, 0x00ca8, 0x00f04, 0x00f00, 0x00fe3, 0x00f3c, 0x00f10,
1026    0x00f39, 0x00fe6, 0x00e26, 0x00e90, 0x016c5, 0x01827, 0x01954, 0x015c5,
1027    0x01958, 0x01f8a, 0x01c4a, 0x02b0f, 0x02b41, 0x02b0e, 0x033c6, 0x03050,
1028    0x01c4f, 0x02d88, 0x0305c, 0x03c18, 0x02b4f, 0x02cc2, 0x03a47, 0x05680,
1029    0x0569d, 0x06442, 0x06443, 0x06446, 0x0656e, 0x06444, 0x07120, 0x0748a,
1030    0x0c1ba, 0x07e22, 0x07aa6, 0x07f25, 0x07aa7, 0x07e20, 0x0c11b, 0x0c118,
1031    0x07aa5, 0x0ad0a, 0x0f389, 0x19ebb, 0x0caad, 0x0fe42, 0x0fe40, 0x16c34,
1032    0x2b4e5, 0x33d65, 0x16c30, 0x1e7ae, 0x1e25c, 0x18370, 0x1e703, 0x19eba,
1033    0x16c37, 0x0e234, 0x16c6e, 0x00004, 0x0002a, 0x00061, 0x00075, 0x000cb,
1034    0x000ff, 0x00190, 0x001eb, 0x001d1, 0x002b9, 0x00307, 0x00339, 0x0033f,
1035    0x003fb, 0x003b4, 0x0060c, 0x00679, 0x00645, 0x0067d, 0x0078a, 0x007e3,
1036    0x00749, 0x00ac4, 0x00ad2, 0x00ae3, 0x00c10, 0x00c16, 0x00ad1, 0x00cf4,
1037    0x00fe2, 0x01586, 0x00e9d, 0x019f1, 0x01664, 0x01e26, 0x01d38, 0x02b4d,
1038    0x033c5, 0x01fc2, 0x01fc3, 0x01d28, 0x03c1d, 0x0598e, 0x0f094, 0x07aa4,
1039    0x0ad38, 0x0ac0c, 0x0c11a, 0x079ea, 0x0c881, 0x0fe44, 0x0b635, 0x0ac0d,
1040    0x0b61e, 0x05987, 0x07121, 0x0f382, 0x0f387, 0x0e237, 0x0fe47, 0x0f383,
1041    0x0f091, 0x0f385, 0x0e233, 0x182ee, 0x19eb8, 0x1663e, 0x0f093, 0x00014,
1042    0x00058, 0x00159, 0x00167, 0x00300, 0x003d4, 0x005b5, 0x0079d, 0x0076a,
1043    0x00b67, 0x00b60, 0x00f05, 0x00cf0, 0x00f17, 0x00e95, 0x01822, 0x01913,
1044    0x016c2, 0x0182f, 0x01959, 0x01fcb, 0x01e27, 0x01c40, 0x033c7, 0x01e7b,
1045    0x01c49, 0x02d89, 0x01e23, 0x01660, 0x03f12, 0x02cc6, 0x033e1, 0x05b34,
1046    0x0609a, 0x06569, 0x07488, 0x07e21, 0x0cf5f, 0x0712c, 0x0389d, 0x067cf,
1047    0x07f28, 0x1663f, 0x33d67, 0x1663d, 0x1e25d, 0x3c1ab, 0x15c44, 0x16c36,
1048    0x0001f, 0x000ec, 0x00323, 0x005b2, 0x0079f, 0x00ac2, 0x00f16, 0x00e9e,
1049    0x01956, 0x01e0f, 0x019ea, 0x01666, 0x02b89, 0x02b02, 0x02d8c, 0x03c1b,
1050    0x03c19, 0x032b5, 0x03f9c, 0x02ccf, 0x03897, 0x05b35, 0x0ad02, 0x07f29,
1051    0x06441, 0x03884, 0x07888, 0x0784e, 0x06568, 0x0c1bb, 0x05986, 0x067cc,
1052    0x0fe49, 0x0fe48, 0x0c1bc, 0x0fe41, 0x18371, 0x1663c, 0x0e231, 0x0711e,
1053    0x0ad09, 0x0f092, 0x0002d, 0x001db, 0x00781, 0x00c1a, 0x00f55, 0x01580,
1054    0x01ea8, 0x02d9b, 0x032af, 0x03f16, 0x03c1c, 0x07834, 0x03c45, 0x0389c,
1055    0x067ce, 0x06445, 0x0c1b9, 0x07889, 0x07f3a, 0x0784f, 0x07f2b, 0x0ad0b,
1056    0x0f090, 0x0c11d, 0x0e94e, 0x0711f, 0x0e9f1, 0x0f38e, 0x079e9, 0x0ad03,
1057    0x0f09b, 0x0caae, 0x0fe46, 0x2b4e6, 0x0e9f0, 0x19eb6, 0x67ac1, 0x67ac0,
1058    0x33d66, 0x0f388, 0x00071, 0x003a0, 0x00ca9, 0x01829, 0x01d39, 0x02b43,
1059    0x02cc4, 0x06554, 0x0f09a, 0x0b61f, 0x067cd, 0x0711c, 0x0b636, 0x07f2a,
1060    0x0b634, 0x0c11f, 0x0cf5e, 0x0b61d, 0x0f06b, 0x0caab, 0x0c1be, 0x0e94c,
1061    0x0f099, 0x182ed, 0x0e94f, 0x0c119, 0x0e232, 0x2b4e4, 0x0f38a, 0x19eb4,
1062    0x1e25f, 0x0e94d, 0x000b7, 0x00785, 0x016cc, 0x03051, 0x033c4, 0x0656f,
1063    0x03891, 0x0711d, 0x0caaf, 0x0f097, 0x07489, 0x0f098, 0x0c880, 0x0caaa,
1064    0x0f386, 0x19eb7, 0x16c6f, 0x0f384, 0x182e8, 0x182e9, 0x0e230, 0x1e700,
1065    0x33d62, 0x33d63, 0x33d64, 0x16c33, 0x0e216, 0x000fd, 0x00c15, 0x01665,
1066    0x03c4a, 0x07f3b, 0x07896, 0x0c11c, 0x0e215, 0x16c32, 0x0f38b, 0x0f38d,
1067    0x182ea, 0x1e701, 0x712df, 0x15c46, 0x00194, 0x00fe0, 0x03f13, 0x0748b,
1068    0x0f096, 0x0cf80, 0x1e25e, 0xe25bd, 0x33d61, 0x16c31, 0x001f9, 0x01912,
1069    0x05710, 0x0f3d0, 0x0c1bf, 0x00301, 0x01e24, 0x0ad08, 0x003cd, 0x01c41,
1070    0x0c1bd, 0x00563, 0x03a52, 0x0f3d1, 0x00570, 0x02cce, 0x0e217, 0x0067b,
1071    0x0655d, 0x0074b, 0x06447, 0x00c12, 0x074fb, 0x00f08, 0x0b61c, 0x00e22,
1072    0x0fe43, 0x016c7, 0x01836, 0x019f2, 0x01c43, 0x01d3f, 0x01fcf, 0x02b4c,
1073    0x0304c, 0x032b6, 0x03a46, 0x05607, 0x03f17, 0x02cc5, 0x0609b, 0x0655c,
1074    0x07e23, 0x067c1, 0x07f26, 0x07f27, 0x0f095, 0x0e9f3, 0x0cf81, 0x0c11e,
1075    0x0caac, 0x0f38f, 0x0e9f2, 0x074fa, 0x0e236, 0x0fe45, 0x1c428, 0x0e235,
1076    0x182ef, 0x19eb5, 0x0f3d6, 0x182ec, 0x16c35, 0x0f38c, 0x2b4e7, 0x15c47,
1077    0xe25bc, 0x1e702, 0x1c4b6, 0x0e25a, 0x3c1aa, 0x15c45, 0x1c429, 0x19eb9,
1078    0x1e7af, 0x182eb, 0x1e0d4, 0x3896e,
1079};
1080
1081static const uint8_t coef4_huffbits[476] = {
1082    12,  6,  2,  3,  4,  4,  5,  5,
1083     5,  6,  6,  6,  6,  6,  7,  7,
1084     7,  7,  7,  8,  8,  8,  8,  8,
1085     8,  9,  9,  9,  9,  9,  9,  9,
1086    10, 10, 10, 10, 10, 10, 10, 11,
1087    10, 11, 11, 11, 11, 12, 12, 12,
1088    12, 12, 12, 12, 12, 12, 12, 12,
1089    12, 12, 13, 13, 13, 13, 13, 13,
1090    13, 13, 14, 14, 14, 14, 14, 14,
1091    14, 14, 14, 14, 14, 15, 15, 15,
1092    15, 15, 15, 15, 15, 15, 16, 16,
1093    16, 15, 15, 15, 15, 15, 16, 16,
1094    15, 16, 16, 17, 16, 16, 16, 17,
1095    18, 18, 17, 17, 17, 17, 17, 17,
1096    17, 17, 17,  4,  6,  7,  8,  8,
1097     8,  9,  9, 10, 10, 10, 10, 10,
1098    10, 11, 11, 11, 11, 11, 11, 11,
1099    12, 12, 12, 12, 12, 12, 12, 12,
1100    12, 13, 13, 13, 14, 13, 14, 14,
1101    14, 13, 13, 14, 14, 16, 16, 15,
1102    16, 16, 16, 15, 16, 16, 16, 16,
1103    16, 16, 16, 16, 16, 17, 16, 16,
1104    16, 16, 17, 17, 17, 18, 16,  5,
1105     8,  9, 10, 10, 10, 11, 11, 12,
1106    12, 12, 12, 12, 12, 13, 13, 13,
1107    13, 13, 13, 13, 13, 14, 14, 13,
1108    14, 14, 13, 14, 14, 15, 14, 15,
1109    15, 15, 16, 15, 16, 16, 15, 15,
1110    15, 18, 18, 18, 17, 18, 17, 17,
1111     6,  9, 10, 11, 11, 12, 12, 13,
1112    13, 13, 13, 14, 14, 14, 14, 14,
1113    14, 14, 14, 15, 15, 15, 16, 15,
1114    15, 15, 15, 15, 15, 16, 16, 15,
1115    16, 16, 16, 16, 17, 18, 17, 16,
1116    16, 16,  7, 10, 11, 12, 12, 13,
1117    13, 14, 14, 14, 14, 15, 14, 15,
1118    15, 15, 16, 15, 15, 15, 15, 16,
1119    16, 16, 17, 16, 17, 16, 15, 16,
1120    16, 16, 16, 18, 17, 17, 19, 19,
1121    18, 16,  7, 11, 12, 13, 14, 14,
1122    15, 15, 16, 16, 15, 16, 16, 15,
1123    16, 16, 16, 16, 16, 16, 16, 17,
1124    16, 17, 17, 16, 17, 18, 16, 17,
1125    17, 17,  8, 11, 13, 14, 14, 15,
1126    15, 16, 16, 16, 16, 16, 16, 16,
1127    16, 17, 17, 16, 17, 17, 17, 17,
1128    18, 18, 18, 17, 17,  8, 12, 14,
1129    14, 15, 15, 16, 17, 17, 16, 16,
1130    17, 17, 20, 17,  9, 12, 14, 16,
1131    16, 16, 17, 21, 18, 17,  9, 13,
1132    15, 16, 16, 10, 13, 16, 10, 14,
1133    16, 11, 15, 16, 11, 15, 17, 11,
1134    15, 12, 15, 12, 16, 12, 16, 13,
1135    16, 13, 13, 13, 14, 14, 13, 14,
1136    14, 14, 15, 15, 14, 15, 15, 15,
1137    15, 15, 15, 15, 16, 17, 16, 16,
1138    16, 16, 17, 16, 17, 16, 18, 17,
1139    17, 17, 16, 17, 17, 16, 18, 17,
1140    21, 17, 18, 17, 18, 17, 18, 17,
1141    17, 17, 17, 19,
1142};
1143
1144static const uint32_t coef5_huffcodes[435] = {
1145    0x00347, 0x0000b, 0x00001, 0x00001, 0x0000c, 0x00004, 0x00010, 0x00015,
1146    0x0001f, 0x0000b, 0x00023, 0x00026, 0x00029, 0x00035, 0x00037, 0x00001,
1147    0x00015, 0x0001a, 0x0001d, 0x0001c, 0x0001e, 0x0004e, 0x00049, 0x00051,
1148    0x00078, 0x00004, 0x00000, 0x00008, 0x0000d, 0x0007b, 0x00005, 0x00032,
1149    0x00095, 0x00091, 0x00096, 0x000a1, 0x000d9, 0x00003, 0x00019, 0x00061,
1150    0x00066, 0x00060, 0x00017, 0x0000e, 0x00063, 0x001a0, 0x001b7, 0x001e6,
1151    0x001e7, 0x001b6, 0x00018, 0x001e8, 0x00038, 0x00031, 0x00005, 0x0003d,
1152    0x00027, 0x001ea, 0x0001a, 0x000c5, 0x000f9, 0x000ff, 0x000db, 0x00250,
1153    0x000fc, 0x0025c, 0x00008, 0x00075, 0x003d7, 0x003d3, 0x001b0, 0x0007c,
1154    0x003ca, 0x00036, 0x00189, 0x004a6, 0x004a2, 0x004fb, 0x000c0, 0x0007f,
1155    0x0009a, 0x00311, 0x0006e, 0x0009b, 0x0068c, 0x006c0, 0x00484, 0x00012,
1156    0x000c3, 0x0094f, 0x00979, 0x009f9, 0x00d09, 0x00da6, 0x00da8, 0x00901,
1157    0x000c1, 0x00373, 0x00d08, 0x009fa, 0x00d8b, 0x00d85, 0x00d86, 0x000df,
1158    0x006e2, 0x000ce, 0x00f24, 0x009fe, 0x001f7, 0x007c1, 0x000cf, 0x009fc,
1159    0x009ff, 0x00d89, 0x00da9, 0x009fd, 0x001f8, 0x01a36, 0x0128c, 0x0129d,
1160    0x01a37, 0x00196, 0x003ea, 0x00f8b, 0x00d93, 0x01e45, 0x01e58, 0x01e4b,
1161    0x01e59, 0x013f1, 0x00309, 0x00265, 0x00308, 0x0243a, 0x027e1, 0x00f89,
1162    0x00324, 0x03cbc, 0x03c86, 0x03695, 0x0243c, 0x0243b, 0x0243e, 0x01e4a,
1163    0x003a5, 0x03468, 0x03428, 0x03c84, 0x027e0, 0x025e2, 0x01880, 0x00197,
1164    0x00325, 0x03cb7, 0x0791e, 0x007ec, 0x06c75, 0x004c8, 0x04bc7, 0x004c6,
1165    0x00983, 0x0481e, 0x01b53, 0x0251b, 0x01b58, 0x00984, 0x04fa8, 0x03cbb,
1166    0x00f8a, 0x00322, 0x0346a, 0x0243d, 0x00326, 0x03469, 0x0481f, 0x0481d,
1167    0x00746, 0x09032, 0x01b50, 0x01d13, 0x0d8e4, 0x0481b, 0x06c74, 0x0796b,
1168    0x07969, 0x00985, 0x0d8e3, 0x00986, 0x00fa2, 0x01301, 0x06c7c, 0x00987,
1169    0x03cb8, 0x0f4af, 0x00e88, 0x1b1c0, 0x00fce, 0x033eb, 0x03f6a, 0x03f69,
1170    0x00fcf, 0x0791f, 0x004c9, 0x04871, 0x00fcd, 0x00982, 0x00fcc, 0x00fa3,
1171    0x01d12, 0x0796c, 0x01b47, 0x00321, 0x0796a, 0x0d8e2, 0x04872, 0x04873,
1172    0x0000e, 0x00014, 0x0000a, 0x000a0, 0x00012, 0x0007d, 0x001a2, 0x0003b,
1173    0x0025f, 0x000dd, 0x0027c, 0x00343, 0x00368, 0x0036b, 0x0003e, 0x001fa,
1174    0x00485, 0x001b3, 0x0007f, 0x001b1, 0x0019e, 0x004ba, 0x007ad, 0x00339,
1175    0x00066, 0x007a4, 0x00793, 0x006c6, 0x0007e, 0x000f1, 0x00372, 0x009fb,
1176    0x00d83, 0x00d8a, 0x00947, 0x009f4, 0x001d0, 0x01b09, 0x01b4b, 0x007ec,
1177    0x003e1, 0x000ca, 0x003ec, 0x02539, 0x04fa9, 0x01b57, 0x03429, 0x03d2a,
1178    0x00d97, 0x003a7, 0x00dc0, 0x00d96, 0x00dc1, 0x007eb, 0x03cba, 0x00c43,
1179    0x00c41, 0x01b52, 0x007ef, 0x00323, 0x03cb9, 0x03c83, 0x007d0, 0x007ed,
1180    0x06c7f, 0x09033, 0x03f6c, 0x36383, 0x1e95d, 0x06c78, 0x00747, 0x01b51,
1181    0x00022, 0x00016, 0x00039, 0x00252, 0x00079, 0x00486, 0x00338, 0x00369,
1182    0x00d88, 0x00026, 0x00d87, 0x00f4b, 0x00d82, 0x00027, 0x001e1, 0x01a15,
1183    0x007c7, 0x012f0, 0x001e0, 0x006d0, 0x01a16, 0x01e44, 0x01e5f, 0x03690,
1184    0x00d90, 0x00c42, 0x00daf, 0x00d92, 0x00f80, 0x00cfb, 0x0342f, 0x0487f,
1185    0x01b46, 0x07968, 0x00d95, 0x00d91, 0x01b55, 0x03f68, 0x04bc6, 0x03cbd,
1186    0x00f81, 0x00320, 0x00069, 0x000fe, 0x006d5, 0x0033f, 0x000de, 0x007c6,
1187    0x01e40, 0x00d94, 0x00f88, 0x03c8e, 0x03694, 0x00dae, 0x00dad, 0x00267,
1188    0x003a6, 0x00327, 0x0487e, 0x007ee, 0x00749, 0x004c7, 0x03692, 0x01b56,
1189    0x00fd1, 0x07a56, 0x06c77, 0x09031, 0x00748, 0x06c7a, 0x0796d, 0x033ea,
1190    0x06c76, 0x00fd0, 0x36382, 0x1e417, 0x00745, 0x04faf, 0x0d8e1, 0x03f6b,
1191    0x1e95c, 0x04fad, 0x0009e, 0x004bd, 0x0067c, 0x01b08, 0x003eb, 0x01b45,
1192    0x03691, 0x0d8e5, 0x07904, 0x00981, 0x007ea, 0x019f4, 0x06c7d, 0x04fab,
1193    0x04fac, 0x06c7e, 0x01300, 0x06c7b, 0x0006f, 0x003f7, 0x03c85, 0x004c4,
1194    0x0001e, 0x006e1, 0x03693, 0x01b44, 0x00241, 0x01e46, 0x0019d, 0x00266,
1195    0x004bb, 0x02538, 0x007ac, 0x01b54, 0x00902, 0x04870, 0x00da7, 0x00900,
1196    0x00185, 0x06c79, 0x006e3, 0x003e9, 0x01e94, 0x003ed, 0x003f2, 0x0342e,
1197    0x0346b, 0x0251a, 0x004c5, 0x01881, 0x0481c, 0x01b59, 0x03c87, 0x04fae,
1198    0x007e9, 0x03f6d, 0x0f20a, 0x09030, 0x04faa, 0x0d8e6, 0x03f6f, 0x0481a,
1199    0x03f6e, 0x1e416, 0x0d8e7,
1200};
1201
1202static const uint8_t coef5_huffbits[435] = {
1203    10,  4,  2,  4,  4,  5,  5,  5,
1204     5,  6,  6,  6,  6,  6,  6,  7,
1205     7,  7,  7,  7,  7,  7,  7,  7,
1206     7,  8,  8,  8,  8,  7,  8,  8,
1207     8,  8,  8,  8,  8,  9,  9,  9,
1208     9,  9,  9,  9,  9,  9,  9,  9,
1209     9,  9, 10,  9, 10, 10, 10, 10,
1210    10,  9, 10, 10, 10, 10, 10, 10,
1211    10, 10, 11, 11, 10, 10, 11, 11,
1212    10, 11, 11, 11, 11, 11, 12, 12,
1213    12, 12, 12, 12, 11, 11, 11, 12,
1214    12, 12, 12, 12, 12, 12, 12, 12,
1215    12, 12, 12, 12, 12, 12, 12, 13,
1216    13, 13, 12, 12, 13, 13, 13, 12,
1217    12, 12, 12, 12, 13, 13, 13, 13,
1218    13, 14, 14, 14, 14, 13, 13, 13,
1219    13, 13, 14, 14, 14, 14, 14, 14,
1220    15, 14, 14, 14, 14, 14, 14, 13,
1221    14, 14, 14, 14, 14, 14, 15, 14,
1222    15, 14, 15, 15, 15, 15, 15, 15,
1223    16, 15, 15, 14, 15, 16, 15, 14,
1224    14, 15, 14, 14, 15, 14, 15, 15,
1225    15, 16, 15, 17, 16, 15, 15, 15,
1226    15, 16, 16, 16, 16, 17, 15, 16,
1227    14, 16, 16, 17, 16, 16, 16, 16,
1228    16, 15, 15, 15, 16, 16, 16, 16,
1229    17, 15, 15, 15, 15, 16, 15, 15,
1230     4,  7,  8,  8,  9,  9,  9, 10,
1231    10, 10, 10, 10, 10, 10, 11, 11,
1232    11, 11, 11, 11, 11, 11, 11, 12,
1233    12, 11, 11, 11, 12, 12, 12, 12,
1234    12, 12, 12, 12, 13, 13, 13, 13,
1235    12, 13, 14, 14, 15, 15, 14, 14,
1236    14, 14, 14, 14, 14, 15, 14, 14,
1237    14, 15, 15, 15, 14, 14, 15, 15,
1238    15, 16, 16, 18, 17, 15, 15, 15,
1239     6,  9, 10, 10, 11, 11, 12, 12,
1240    12, 13, 12, 12, 12, 13, 13, 13,
1241    13, 13, 13, 13, 13, 13, 13, 14,
1242    14, 14, 14, 14, 14, 14, 14, 15,
1243    15, 15, 14, 14, 15, 16, 15, 14,
1244    14, 15,  7, 10, 11, 12, 13, 13,
1245    13, 14, 14, 14, 14, 14, 14, 14,
1246    14, 15, 15, 15, 15, 15, 14, 15,
1247    16, 15, 15, 16, 15, 15, 15, 16,
1248    15, 16, 18, 17, 15, 15, 16, 16,
1249    17, 15,  8, 11, 13, 13, 14, 15,
1250    14, 16, 15, 16, 15, 15, 15, 15,
1251    15, 15, 17, 15,  9, 12, 14, 15,
1252    10, 13, 14, 15, 10, 13, 11, 14,
1253    11, 14, 11, 15, 12, 15, 12, 12,
1254    13, 15, 13, 14, 13, 14, 14, 14,
1255    14, 14, 15, 15, 15, 15, 14, 15,
1256    15, 16, 16, 16, 15, 16, 16, 15,
1257    16, 17, 16,
1258};
1259
1260static const uint16_t levels0[60] = {
1261    317, 92, 62, 60, 19, 17, 10, 7,
1262      6,  5,  5,  3,  3,  3,  2, 2,
1263      2,  2,  2,  2,  2,  1,  2, 2,
1264      1,  1,  1,  1,  1,  1,  1, 1,
1265      1,  1,  1,  1,  1,  1,  1, 1,
1266      1,  1,  1,  1,  1,  1,  1, 1,
1267      1,  1,  1,  1,  1,  1,  1, 1,
1268      1,  1,  1,  1,
1269};
1270
1271static const uint16_t levels1[40] = {
1272    311, 91, 61, 28, 10, 6, 5, 2,
1273      2,  2,  2,  2,  2, 2, 2, 1,
1274      1,  1,  1,  1,  1, 1, 1, 1,
1275      1,  1,  1,  1,  1, 1, 1, 1,
1276      1,  1,  1,  1,  1, 1, 1, 1,
1277};
1278
1279static const uint16_t levels2[340] = {
1280    181, 110, 78, 63, 61, 62, 60, 61,
1281     33,  41, 41, 19, 17, 19, 12, 11,
1282      9,  11, 10,  6,  8,  7,  6,  4,
1283      5,   5,  4,  4,  3,  4,  3,  5,
1284      3,   4,  3,  3,  3,  3,  3,  3,
1285      2,   2,  4,  2,  3,  2,  3,  3,
1286      2,   2,  2,  2,  2,  2,  2,  2,
1287      3,   2,  2,  2,  2,  2,  2,  2,
1288      2,   2,  2,  1,  2,  1,  2,  2,
1289      2,   2,  1,  2,  1,  1,  1,  2,
1290      2,   1,  2,  1,  2,  2,  2,  2,
1291      1,   1,  1,  1,  1,  1,  1,  1,
1292      1,   1,  1,  1,  1,  1,  1,  1,
1293      1,   1,  1,  1,  1,  1,  1,  1,
1294      1,   1,  1,  1,  1,  1,  1,  1,
1295      1,   1,  1,  1,  1,  1,  1,  1,
1296      1,   1,  1,  1,  1,  1,  1,  1,
1297      1,   1,  1,  1,  1,  1,  1,  1,
1298      1,   1,  1,  1,  1,  1,  1,  1,
1299      1,   1,  1,  1,  1,  1,  1,  1,
1300      1,   1,  1,  1,  1,  1,  1,  1,
1301      1,   1,  1,  1,  1,  1,  1,  1,
1302      1,   1,  1,  1,  1,  1,  1,  1,
1303      1,   1,  1,  1,  1,  1,  1,  1,
1304      1,   1,  1,  1,  1,  1,  1,  1,
1305      1,   1,  1,  1,  1,  1,  1,  1,
1306      1,   1,  1,  1,  1,  1,  1,  1,
1307      1,   1,  1,  1,  1,  1,  1,  1,
1308      1,   1,  1,  1,  1,  1,  1,  1,
1309      1,   1,  1,  1,  1,  1,  1,  1,
1310      1,   1,  1,  1,  1,  1,  1,  1,
1311      1,   1,  1,  1,  1,  1,  1,  1,
1312      1,   1,  1,  1,  1,  1,  1,  1,
1313      1,   1,  1,  1,  1,  1,  1,  1,
1314      1,   1,  1,  1,  1,  1,  1,  1,
1315      1,   1,  1,  1,  1,  1,  1,  1,
1316      1,   1,  1,  1,  1,  1,  1,  1,
1317      1,   1,  1,  1,  1,  1,  1,  1,
1318      1,   1,  1,  1,  1,  1,  1,  1,
1319      1,   1,  1,  1,  1,  1,  1,  1,
1320      1,   1,  1,  1,  1,  1,  1,  1,
1321      1,   1,  1,  1,  1,  1,  1,  1,
1322      1,   1,  1,  1,
1323};
1324
1325static const uint16_t levels3[180] = {
1326    351, 122, 76, 61, 41, 42, 24, 30,
1327     22,  19, 11,  9, 10,  8,  5,  5,
1328      4,   5,  5,  3,  3,  3,  3,  3,
1329      3,   3,  2,  2,  3,  2,  2,  2,
1330      3,   3,  2,  2,  2,  3,  2,  2,
1331      2,   2,  2,  2,  2,  2,  2,  2,
1332      2,   2,  2,  2,  2,  2,  1,  1,
1333      2,   2,  1,  2,  1,  2,  2,  2,
1334      2,   2,  2,  1,  2,  1,  1,  1,
1335      1,   1,  1,  1,  1,  1,  1,  2,
1336      2,   1,  2,  1,  1,  1,  1,  1,
1337      1,   1,  1,  1,  1,  1,  1,  1,
1338      1,   1,  1,  1,  1,  1,  1,  1,
1339      1,   1,  1,  1,  1,  1,  1,  1,
1340      1,   1,  1,  1,  1,  1,  1,  1,
1341      1,   1,  1,  1,  1,  1,  1,  1,
1342      1,   1,  1,  1,  1,  1,  1,  1,
1343      1,   1,  1,  1,  1,  1,  1,  1,
1344      1,   1,  1,  1,  1,  1,  1,  1,
1345      1,   1,  1,  1,  1,  1,  1,  1,
1346      1,   1,  1,  1,  1,  1,  1,  1,
1347      1,   1,  1,  1,  1,  1,  1,  1,
1348      1,   1,  1,  1,
1349};
1350
1351static const uint16_t levels4[70] = {
1352    113, 68, 49, 42, 40, 32, 27, 15,
1353     10,  5,  3,  3,  3,  3,  2,  2,
1354      2,  2,  2,  1,  1,  1,  1,  1,
1355      1,  1,  1,  1,  1,  1,  1,  1,
1356      1,  1,  1,  1,  1,  1,  1,  1,
1357      1,  1,  1,  1,  1,  1,  1,  1,
1358      1,  1,  1,  1,  1,  1,  1,  1,
1359      1,  1,  1,  1,  1,  1,  1,  1,
1360      1,  1,  1,  1,  1,  1,
1361};
1362
1363static const uint16_t levels5[40] = {
1364    214, 72, 42, 40, 18, 4, 4, 2,
1365      2,  2,  2,  2,  1, 1, 2, 1,
1366      1,  1,  1,  1,  1, 1, 1, 1,
1367      1,  1,  1,  1,  1, 1, 1, 1,
1368      1,  1,  1,  1,  1, 1, 1, 1,
1369};
1370
1371static const CoefVLCTable coef_vlcs[6] = {
1372    { sizeof(coef0_huffbits), sizeof(levels0) / 2, coef0_huffcodes, coef0_huffbits, levels0, },
1373    { sizeof(coef1_huffbits), sizeof(levels1) / 2, coef1_huffcodes, coef1_huffbits, levels1, },
1374    { sizeof(coef2_huffbits), sizeof(levels2) / 2, coef2_huffcodes, coef2_huffbits, levels2, },
1375    { sizeof(coef3_huffbits), sizeof(levels3) / 2, coef3_huffcodes, coef3_huffbits, levels3, },
1376    { sizeof(coef4_huffbits), sizeof(levels4) / 2, coef4_huffcodes, coef4_huffbits, levels4, },
1377    { sizeof(coef5_huffbits), sizeof(levels5) / 2, coef5_huffcodes, coef5_huffbits, levels5, },
1378};
1379
1380#endif /* AVCODEC_WMADATA_H */
1381