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