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