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