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