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#include "wma.h"
32
33const 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 */
41static 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
47static 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
53static 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
59const 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
67const 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
75const 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
95static 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
182static 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
269static 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
342static 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
415static 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
585static 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
755static 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
892static 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
1029static 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
1092static 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
1155static 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
1213static 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
1271static const uint16_t levels0[60] = {
1272317, 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
1282static const uint16_t levels1[40] = {
1283311, 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
1290static const uint16_t levels2[340] = {
1291181,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
1336static const uint16_t levels3[180] = {
1337351,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
1362static const uint16_t levels4[70] = {
1363113, 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
1374static const uint16_t levels5[40] = {
1375214, 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
1382static 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 */
1404