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