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