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