comparison Plugins/Input/wma/libffwma/wmadata.h @ 137:b8d4c1faa6d7 trunk

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