]> git.sesse.net Git - ffmpeg/blob - libavcodec/wmadata.h
hwcontext_vulkan: dlopen libvulkan
[ffmpeg] / libavcodec / wmadata.h
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 */
35 static 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
42 static 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
48 static 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
54 const 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
64 const 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
84 static 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
171 static 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
258 static 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
331 static 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
404 static 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
574 static 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
744 static 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
881 static 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
1018 static 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
1081 static 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
1144 static 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
1202 static 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
1260 static 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
1271 static 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
1279 static 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
1325 static 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
1351 static 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
1363 static 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
1371 static 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 */