comparison wmadata.h @ 783:b6eefd714bf3 libavcodec

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