Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.
Vittorio Giovara authored on 2015/02/23 03:38:31... | ... |
@@ -222,6 +222,7 @@ library: |
222 | 222 |
@item Delphine Software International CIN @tab @tab X |
223 | 223 |
@tab Multimedia format used by Delphine Software games. |
224 | 224 |
@item Digital Speech Standard (DSS) @tab @tab X |
225 |
+@item Canopus HQX @tab @tab X |
|
225 | 226 |
@item CD+G @tab @tab X |
226 | 227 |
@tab Video format used by CD+G karaoke disks |
227 | 228 |
@item Commodore CDXL @tab @tab X |
... | ... |
@@ -227,6 +227,7 @@ OBJS-$(CONFIG_HEVC_DECODER) += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o |
227 | 227 |
hevc_cabac.o hevc_refs.o hevcpred.o \ |
228 | 228 |
hevcdsp.o hevc_filter.o |
229 | 229 |
OBJS-$(CONFIG_HNM4_VIDEO_DECODER) += hnm4video.o |
230 |
+OBJS-$(CONFIG_HQX_DECODER) += hqx.o hqxvlc.o |
|
230 | 231 |
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o huffyuvdec.o |
231 | 232 |
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o huffyuvenc.o |
232 | 233 |
OBJS-$(CONFIG_IDCIN_DECODER) += idcinvideo.o |
... | ... |
@@ -164,6 +164,7 @@ void avcodec_register_all(void) |
164 | 164 |
REGISTER_DECODER(H264_QSV, h264_qsv); |
165 | 165 |
REGISTER_DECODER(HEVC, hevc); |
166 | 166 |
REGISTER_DECODER(HNM4_VIDEO, hnm4_video); |
167 |
+ REGISTER_DECODER(HQX, hqx); |
|
167 | 168 |
REGISTER_ENCDEC (HUFFYUV, huffyuv); |
168 | 169 |
REGISTER_DECODER(IDCIN, idcin); |
169 | 170 |
REGISTER_DECODER(IFF_BYTERUN1, iff_byterun1); |
... | ... |
@@ -1134,6 +1134,13 @@ static const AVCodecDescriptor codec_descriptors[] = { |
1134 | 1134 |
.long_name = NULL_IF_CONFIG_SMALL("SGI RLE 8-bit"), |
1135 | 1135 |
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, |
1136 | 1136 |
}, |
1137 |
+ { |
|
1138 |
+ .id = AV_CODEC_ID_HQX, |
|
1139 |
+ .type = AVMEDIA_TYPE_VIDEO, |
|
1140 |
+ .name = "hqx", |
|
1141 |
+ .long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"), |
|
1142 |
+ .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY, |
|
1143 |
+ }, |
|
1137 | 1144 |
|
1138 | 1145 |
/* image codecs */ |
1139 | 1146 |
{ |
1140 | 1147 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,645 @@ |
0 |
+/* |
|
1 |
+ * Canopus HQX decoder |
|
2 |
+ * |
|
3 |
+ * This file is part of Libav. |
|
4 |
+ * |
|
5 |
+ * Libav is free software; you can redistribute it and/or |
|
6 |
+ * modify it under the terms of the GNU Lesser General Public |
|
7 |
+ * License as published by the Free Software Foundation; either |
|
8 |
+ * version 2.1 of the License, or (at your option) any later version. |
|
9 |
+ * |
|
10 |
+ * Libav is distributed in the hope that it will be useful, |
|
11 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
13 |
+ * Lesser General Public License for more details. |
|
14 |
+ * |
|
15 |
+ * You should have received a copy of the GNU Lesser General Public |
|
16 |
+ * License along with Libav; if not, write to the Free Software |
|
17 |
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
18 |
+ */ |
|
19 |
+ |
|
20 |
+#include <inttypes.h> |
|
21 |
+ |
|
22 |
+#include "libavutil/imgutils.h" |
|
23 |
+#include "libavutil/intreadwrite.h" |
|
24 |
+ |
|
25 |
+#include "avcodec.h" |
|
26 |
+#include "get_bits.h" |
|
27 |
+#include "internal.h" |
|
28 |
+ |
|
29 |
+#include "hqx.h" |
|
30 |
+ |
|
31 |
+/* HQX has four modes - 422, 444, 422alpha and 444alpha - all 12-bit */ |
|
32 |
+enum HQXFormat { |
|
33 |
+ HQX_422 = 0, |
|
34 |
+ HQX_444, |
|
35 |
+ HQX_422A, |
|
36 |
+ HQX_444A, |
|
37 |
+}; |
|
38 |
+ |
|
39 |
+#define HQX_HEADER_SIZE 59 |
|
40 |
+ |
|
41 |
+typedef int (*mb_decode_func)(HQXContext *ctx, AVFrame *pic, |
|
42 |
+ GetBitContext *gb, int x, int y); |
|
43 |
+ |
|
44 |
+/* macroblock selects a group of 4 possible quants and |
|
45 |
+ * a block can use any of those four quantisers |
|
46 |
+ * one column is powers of 2, the other one is powers of 2 * 3, |
|
47 |
+ * then there is the special one, powers of 2 * 5 */ |
|
48 |
+static const int hqx_quants[16][4] = { |
|
49 |
+ { 0x1, 0x2, 0x4, 0x8 }, { 0x1, 0x3, 0x6, 0xC }, |
|
50 |
+ { 0x2, 0x4, 0x8, 0x10 }, { 0x3, 0x6, 0xC, 0x18 }, |
|
51 |
+ { 0x4, 0x8, 0x10, 0x20 }, { 0x6, 0xC, 0x18, 0x30 }, |
|
52 |
+ { 0x8, 0x10, 0x20, 0x40 }, |
|
53 |
+ { 0xA, 0x14, 0x28, 0x50 }, |
|
54 |
+ { 0xC, 0x18, 0x30, 0x60 }, |
|
55 |
+ { 0x10, 0x20, 0x40, 0x80 }, { 0x18, 0x30, 0x60, 0xC0 }, |
|
56 |
+ { 0x20, 0x40, 0x80, 0x100 }, { 0x30, 0x60, 0xC0, 0x180 }, |
|
57 |
+ { 0x40, 0x80, 0x100, 0x200 }, { 0x60, 0xC0, 0x180, 0x300 }, |
|
58 |
+ { 0x80, 0x100, 0x200, 0x400 } |
|
59 |
+}; |
|
60 |
+ |
|
61 |
+static const uint8_t hqx_quant_luma[64] = { |
|
62 |
+ 16, 16, 16, 19, 19, 19, 42, 44, |
|
63 |
+ 16, 16, 19, 19, 19, 38, 43, 45, |
|
64 |
+ 16, 19, 19, 19, 40, 41, 45, 48, |
|
65 |
+ 19, 19, 19, 40, 41, 42, 46, 49, |
|
66 |
+ 19, 19, 40, 41, 42, 43, 48, 101, |
|
67 |
+ 19, 38, 41, 42, 43, 44, 98, 104, |
|
68 |
+ 42, 43, 45, 46, 48, 98, 109, 116, |
|
69 |
+ 44, 45, 48, 49, 101, 104, 116, 123, |
|
70 |
+}; |
|
71 |
+ |
|
72 |
+static const uint8_t hqx_quant_chroma[64] = { |
|
73 |
+ 16, 16, 19, 25, 26, 26, 42, 44, |
|
74 |
+ 16, 19, 25, 25, 26, 38, 43, 91, |
|
75 |
+ 19, 25, 26, 27, 40, 41, 91, 96, |
|
76 |
+ 25, 25, 27, 40, 41, 84, 93, 197, |
|
77 |
+ 26, 26, 40, 41, 84, 86, 191, 203, |
|
78 |
+ 26, 38, 41, 84, 86, 177, 197, 209, |
|
79 |
+ 42, 43, 91, 93, 191, 197, 219, 232, |
|
80 |
+ 44, 91, 96, 197, 203, 209, 232, 246, |
|
81 |
+}; |
|
82 |
+ |
|
83 |
+static inline void idct_col(int16_t *blk, const uint8_t *quant) |
|
84 |
+{ |
|
85 |
+ int t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, tA, tB, tC, tD, tE, tF; |
|
86 |
+ int t10, t11, t12, t13; |
|
87 |
+ int s0, s1, s2, s3, s4, s5, s6, s7; |
|
88 |
+ |
|
89 |
+ s0 = (int) blk[0 * 8] * quant[0 * 8]; |
|
90 |
+ s1 = (int) blk[1 * 8] * quant[1 * 8]; |
|
91 |
+ s2 = (int) blk[2 * 8] * quant[2 * 8]; |
|
92 |
+ s3 = (int) blk[3 * 8] * quant[3 * 8]; |
|
93 |
+ s4 = (int) blk[4 * 8] * quant[4 * 8]; |
|
94 |
+ s5 = (int) blk[5 * 8] * quant[5 * 8]; |
|
95 |
+ s6 = (int) blk[6 * 8] * quant[6 * 8]; |
|
96 |
+ s7 = (int) blk[7 * 8] * quant[7 * 8]; |
|
97 |
+ |
|
98 |
+ t0 = (s3 * 19266 + s5 * 12873) >> 15; |
|
99 |
+ t1 = (s5 * 19266 - s3 * 12873) >> 15; |
|
100 |
+ t2 = ((s7 * 4520 + s1 * 22725) >> 15) - t0; |
|
101 |
+ t3 = ((s1 * 4520 - s7 * 22725) >> 15) - t1; |
|
102 |
+ t4 = t0 * 2 + t2; |
|
103 |
+ t5 = t1 * 2 + t3; |
|
104 |
+ t6 = t2 - t3; |
|
105 |
+ t7 = t3 * 2 + t6; |
|
106 |
+ t8 = (t6 * 11585) >> 14; |
|
107 |
+ t9 = (t7 * 11585) >> 14; |
|
108 |
+ tA = (s2 * 8867 - s6 * 21407) >> 14; |
|
109 |
+ tB = (s6 * 8867 + s2 * 21407) >> 14; |
|
110 |
+ tC = (s0 >> 1) - (s4 >> 1); |
|
111 |
+ tD = (s4 >> 1) * 2 + tC; |
|
112 |
+ tE = tC - (tA >> 1); |
|
113 |
+ tF = tD - (tB >> 1); |
|
114 |
+ t10 = tF - t5; |
|
115 |
+ t11 = tE - t8; |
|
116 |
+ t12 = tE + (tA >> 1) * 2 - t9; |
|
117 |
+ t13 = tF + (tB >> 1) * 2 - t4; |
|
118 |
+ |
|
119 |
+ blk[0 * 8] = t13 + t4 * 2; |
|
120 |
+ blk[1 * 8] = t12 + t9 * 2; |
|
121 |
+ blk[2 * 8] = t11 + t8 * 2; |
|
122 |
+ blk[3 * 8] = t10 + t5 * 2; |
|
123 |
+ blk[4 * 8] = t10; |
|
124 |
+ blk[5 * 8] = t11; |
|
125 |
+ blk[6 * 8] = t12; |
|
126 |
+ blk[7 * 8] = t13; |
|
127 |
+} |
|
128 |
+ |
|
129 |
+static inline void idct_row(int16_t *blk) |
|
130 |
+{ |
|
131 |
+ int t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, tA, tB, tC, tD, tE, tF; |
|
132 |
+ int t10, t11, t12, t13; |
|
133 |
+ |
|
134 |
+ t0 = (blk[3] * 19266 + blk[5] * 12873) >> 14; |
|
135 |
+ t1 = (blk[5] * 19266 - blk[3] * 12873) >> 14; |
|
136 |
+ t2 = ((blk[7] * 4520 + blk[1] * 22725) >> 14) - t0; |
|
137 |
+ t3 = ((blk[1] * 4520 - blk[7] * 22725) >> 14) - t1; |
|
138 |
+ t4 = t0 * 2 + t2; |
|
139 |
+ t5 = t1 * 2 + t3; |
|
140 |
+ t6 = t2 - t3; |
|
141 |
+ t7 = t3 * 2 + t6; |
|
142 |
+ t8 = (t6 * 11585) >> 14; |
|
143 |
+ t9 = (t7 * 11585) >> 14; |
|
144 |
+ tA = (blk[2] * 8867 - blk[6] * 21407) >> 14; |
|
145 |
+ tB = (blk[6] * 8867 + blk[2] * 21407) >> 14; |
|
146 |
+ tC = blk[0] - blk[4]; |
|
147 |
+ tD = blk[4] * 2 + tC; |
|
148 |
+ tE = tC - tA; |
|
149 |
+ tF = tD - tB; |
|
150 |
+ t10 = tF - t5; |
|
151 |
+ t11 = tE - t8; |
|
152 |
+ t12 = tE + tA * 2 - t9; |
|
153 |
+ t13 = tF + tB * 2 - t4; |
|
154 |
+ |
|
155 |
+ blk[0] = (t13 + t4 * 2 + 4) >> 3; |
|
156 |
+ blk[1] = (t12 + t9 * 2 + 4) >> 3; |
|
157 |
+ blk[2] = (t11 + t8 * 2 + 4) >> 3; |
|
158 |
+ blk[3] = (t10 + t5 * 2 + 4) >> 3; |
|
159 |
+ blk[4] = (t10 + 4) >> 3; |
|
160 |
+ blk[5] = (t11 + 4) >> 3; |
|
161 |
+ blk[6] = (t12 + 4) >> 3; |
|
162 |
+ blk[7] = (t13 + 4) >> 3; |
|
163 |
+} |
|
164 |
+ |
|
165 |
+static void hqx_idct(int16_t *block, const uint8_t *quant) |
|
166 |
+{ |
|
167 |
+ int i; |
|
168 |
+ |
|
169 |
+ for (i = 0; i < 8; i++) |
|
170 |
+ idct_col(block + i, quant + i); |
|
171 |
+ for (i = 0; i < 8; i++) |
|
172 |
+ idct_row(block + i * 8); |
|
173 |
+} |
|
174 |
+ |
|
175 |
+static void hqx_idct_put(uint16_t *dst, ptrdiff_t stride, |
|
176 |
+ int16_t *block, const uint8_t *quant) |
|
177 |
+{ |
|
178 |
+ int i, j; |
|
179 |
+ |
|
180 |
+ hqx_idct(block, quant); |
|
181 |
+ |
|
182 |
+ for (i = 0; i < 8; i++) { |
|
183 |
+ for (j = 0; j < 8; j++) { |
|
184 |
+ int v = av_clip(block[j + i * 8] + 0x800, 0, 0x1000); |
|
185 |
+ dst[j] = (v << 4) | (v >> 8); |
|
186 |
+ } |
|
187 |
+ dst += stride >> 1; |
|
188 |
+ } |
|
189 |
+} |
|
190 |
+ |
|
191 |
+static inline void put_blocks(AVFrame *pic, int plane, |
|
192 |
+ int x, int y, int ilace, |
|
193 |
+ int16_t *block0, int16_t *block1, |
|
194 |
+ const uint8_t *quant) |
|
195 |
+{ |
|
196 |
+ int fields = ilace ? 2 : 1; |
|
197 |
+ int lsize = pic->linesize[plane]; |
|
198 |
+ uint8_t *p = pic->data[plane] + x * 2; |
|
199 |
+ |
|
200 |
+ hqx_idct_put((uint16_t *)(p + y * lsize), lsize * fields, block0, quant); |
|
201 |
+ hqx_idct_put((uint16_t *)(p + (y + (ilace ? 1 : 8)) * lsize), |
|
202 |
+ lsize * fields, block1, quant); |
|
203 |
+} |
|
204 |
+ |
|
205 |
+static inline void hqx_get_ac(GetBitContext *gb, const HQXAC *ac, |
|
206 |
+ int *run, int *lev) |
|
207 |
+{ |
|
208 |
+ int val; |
|
209 |
+ |
|
210 |
+ val = show_bits(gb, ac->lut_bits); |
|
211 |
+ if (ac->lut[val].bits == -1) { |
|
212 |
+ GetBitContext gb2 = *gb; |
|
213 |
+ skip_bits(&gb2, ac->lut_bits); |
|
214 |
+ val = ac->lut[val].lev + show_bits(&gb2, ac->extra_bits); |
|
215 |
+ } |
|
216 |
+ *run = ac->lut[val].run; |
|
217 |
+ *lev = ac->lut[val].lev; |
|
218 |
+ skip_bits(gb, ac->lut[val].bits); |
|
219 |
+} |
|
220 |
+ |
|
221 |
+static int decode_block(GetBitContext *gb, VLC *vlc, |
|
222 |
+ const int *quants, int dcb, |
|
223 |
+ int16_t block[64], int *last_dc) |
|
224 |
+{ |
|
225 |
+ int q, dc; |
|
226 |
+ int ac_idx; |
|
227 |
+ int run, lev, pos = 1; |
|
228 |
+ |
|
229 |
+ memset(block, 0, 64 * sizeof(*block)); |
|
230 |
+ dc = get_vlc2(gb, vlc->table, HQX_DC_VLC_BITS, 2); |
|
231 |
+ if (dc < 0) |
|
232 |
+ return AVERROR_INVALIDDATA; |
|
233 |
+ *last_dc += dc; |
|
234 |
+ |
|
235 |
+ block[0] = sign_extend(*last_dc << (12 - dcb), 12); |
|
236 |
+ |
|
237 |
+ q = quants[get_bits(gb, 2)]; |
|
238 |
+ if (q >= 128) |
|
239 |
+ ac_idx = HQX_AC_Q128; |
|
240 |
+ else if (q >= 64) |
|
241 |
+ ac_idx = HQX_AC_Q64; |
|
242 |
+ else if (q >= 32) |
|
243 |
+ ac_idx = HQX_AC_Q32; |
|
244 |
+ else if (q >= 16) |
|
245 |
+ ac_idx = HQX_AC_Q16; |
|
246 |
+ else if (q >= 8) |
|
247 |
+ ac_idx = HQX_AC_Q8; |
|
248 |
+ else |
|
249 |
+ ac_idx = HQX_AC_Q0; |
|
250 |
+ |
|
251 |
+ do { |
|
252 |
+ hqx_get_ac(gb, &ff_hqx_ac[ac_idx], &run, &lev); |
|
253 |
+ pos += run; |
|
254 |
+ if (pos >= 64) |
|
255 |
+ break; |
|
256 |
+ block[ff_zigzag_direct[pos++]] = lev * q; |
|
257 |
+ } while (pos < 64); |
|
258 |
+ |
|
259 |
+ return 0; |
|
260 |
+} |
|
261 |
+ |
|
262 |
+static int hqx_decode_422(HQXContext *ctx, AVFrame *pic, |
|
263 |
+ GetBitContext *gb, int x, int y) |
|
264 |
+{ |
|
265 |
+ const int *quants; |
|
266 |
+ int flag; |
|
267 |
+ int last_dc; |
|
268 |
+ int i, ret; |
|
269 |
+ |
|
270 |
+ if (ctx->interlaced) |
|
271 |
+ flag = get_bits1(gb); |
|
272 |
+ else |
|
273 |
+ flag = 0; |
|
274 |
+ |
|
275 |
+ quants = hqx_quants[get_bits(gb, 4)]; |
|
276 |
+ |
|
277 |
+ for (i = 0; i < 8; i++) { |
|
278 |
+ int vlc_index = ctx->dcb - 9; |
|
279 |
+ if (i == 0 || i == 4 || i == 6) |
|
280 |
+ last_dc = 0; |
|
281 |
+ ret = decode_block(gb, &ctx->dc_vlc[vlc_index], quants, |
|
282 |
+ ctx->dcb, ctx->block[i], &last_dc); |
|
283 |
+ if (ret < 0) |
|
284 |
+ return ret; |
|
285 |
+ } |
|
286 |
+ |
|
287 |
+ put_blocks(pic, 0, x, y, flag, ctx->block[0], ctx->block[2], hqx_quant_luma); |
|
288 |
+ put_blocks(pic, 0, x + 8, y, flag, ctx->block[1], ctx->block[3], hqx_quant_luma); |
|
289 |
+ put_blocks(pic, 2, x >> 1, y, flag, ctx->block[4], ctx->block[5], hqx_quant_chroma); |
|
290 |
+ put_blocks(pic, 1, x >> 1, y, flag, ctx->block[6], ctx->block[7], hqx_quant_chroma); |
|
291 |
+ |
|
292 |
+ return 0; |
|
293 |
+} |
|
294 |
+ |
|
295 |
+static int hqx_decode_422a(HQXContext *ctx, AVFrame *pic, |
|
296 |
+ GetBitContext *gb, int x, int y) |
|
297 |
+{ |
|
298 |
+ const int *quants; |
|
299 |
+ int flag = 0; |
|
300 |
+ int last_dc; |
|
301 |
+ int i, ret; |
|
302 |
+ int cbp; |
|
303 |
+ |
|
304 |
+ cbp = get_vlc2(gb, ctx->cbp_vlc.table, ctx->cbp_vlc.bits, 1); |
|
305 |
+ |
|
306 |
+ for (i = 0; i < 12; i++) |
|
307 |
+ memset(ctx->block[i], 0, sizeof(**ctx->block) * 64); |
|
308 |
+ for (i = 0; i < 12; i++) |
|
309 |
+ ctx->block[i][0] = -0x800; |
|
310 |
+ if (cbp) { |
|
311 |
+ if (ctx->interlaced) |
|
312 |
+ flag = get_bits1(gb); |
|
313 |
+ |
|
314 |
+ quants = hqx_quants[get_bits(gb, 4)]; |
|
315 |
+ |
|
316 |
+ cbp |= cbp << 4; // alpha CBP |
|
317 |
+ if (cbp & 0x3) // chroma CBP - top |
|
318 |
+ cbp |= 0x500; |
|
319 |
+ if (cbp & 0xC) // chroma CBP - bottom |
|
320 |
+ cbp |= 0xA00; |
|
321 |
+ for (i = 0; i < 12; i++) { |
|
322 |
+ if (i == 0 || i == 4 || i == 8 || i == 10) |
|
323 |
+ last_dc = 0; |
|
324 |
+ if (cbp & (1 << i)) { |
|
325 |
+ int vlc_index = ctx->dcb - 9; |
|
326 |
+ ret = decode_block(gb, &ctx->dc_vlc[vlc_index], quants, |
|
327 |
+ ctx->dcb, ctx->block[i], &last_dc); |
|
328 |
+ if (ret < 0) |
|
329 |
+ return ret; |
|
330 |
+ } |
|
331 |
+ } |
|
332 |
+ } |
|
333 |
+ |
|
334 |
+ put_blocks(pic, 3, x, y, flag, ctx->block[ 0], ctx->block[ 2], hqx_quant_luma); |
|
335 |
+ put_blocks(pic, 3, x + 8, y, flag, ctx->block[ 1], ctx->block[ 3], hqx_quant_luma); |
|
336 |
+ put_blocks(pic, 0, x, y, flag, ctx->block[ 4], ctx->block[ 6], hqx_quant_luma); |
|
337 |
+ put_blocks(pic, 0, x + 8, y, flag, ctx->block[ 5], ctx->block[ 7], hqx_quant_luma); |
|
338 |
+ put_blocks(pic, 2, x >> 1, y, flag, ctx->block[ 8], ctx->block[ 9], hqx_quant_chroma); |
|
339 |
+ put_blocks(pic, 1, x >> 1, y, flag, ctx->block[10], ctx->block[11], hqx_quant_chroma); |
|
340 |
+ |
|
341 |
+ return 0; |
|
342 |
+} |
|
343 |
+ |
|
344 |
+static int hqx_decode_444(HQXContext *ctx, AVFrame *pic, |
|
345 |
+ GetBitContext *gb, int x, int y) |
|
346 |
+{ |
|
347 |
+ const int *quants; |
|
348 |
+ int flag; |
|
349 |
+ int last_dc; |
|
350 |
+ int i, ret; |
|
351 |
+ |
|
352 |
+ if (ctx->interlaced) |
|
353 |
+ flag = get_bits1(gb); |
|
354 |
+ else |
|
355 |
+ flag = 0; |
|
356 |
+ |
|
357 |
+ quants = hqx_quants[get_bits(gb, 4)]; |
|
358 |
+ |
|
359 |
+ for (i = 0; i < 12; i++) { |
|
360 |
+ int vlc_index = ctx->dcb - 9; |
|
361 |
+ if (i == 0 || i == 4 || i == 8) |
|
362 |
+ last_dc = 0; |
|
363 |
+ ret = decode_block(gb, &ctx->dc_vlc[vlc_index], quants, |
|
364 |
+ ctx->dcb, ctx->block[i], &last_dc); |
|
365 |
+ if (ret < 0) |
|
366 |
+ return ret; |
|
367 |
+ } |
|
368 |
+ |
|
369 |
+ put_blocks(pic, 0, x, y, flag, ctx->block[0], ctx->block[ 2], hqx_quant_luma); |
|
370 |
+ put_blocks(pic, 0, x + 8, y, flag, ctx->block[1], ctx->block[ 3], hqx_quant_luma); |
|
371 |
+ put_blocks(pic, 2, x, y, flag, ctx->block[4], ctx->block[ 6], hqx_quant_chroma); |
|
372 |
+ put_blocks(pic, 2, x + 8, y, flag, ctx->block[5], ctx->block[ 7], hqx_quant_chroma); |
|
373 |
+ put_blocks(pic, 1, x, y, flag, ctx->block[8], ctx->block[10], hqx_quant_chroma); |
|
374 |
+ put_blocks(pic, 1, x + 8, y, flag, ctx->block[9], ctx->block[11], hqx_quant_chroma); |
|
375 |
+ |
|
376 |
+ return 0; |
|
377 |
+} |
|
378 |
+ |
|
379 |
+static int hqx_decode_444a(HQXContext *ctx, AVFrame *pic, |
|
380 |
+ GetBitContext *gb, int x, int y) |
|
381 |
+{ |
|
382 |
+ const int *quants; |
|
383 |
+ int flag = 0; |
|
384 |
+ int last_dc; |
|
385 |
+ int i, ret; |
|
386 |
+ int cbp; |
|
387 |
+ |
|
388 |
+ cbp = get_vlc2(gb, ctx->cbp_vlc.table, ctx->cbp_vlc.bits, 1); |
|
389 |
+ |
|
390 |
+ for (i = 0; i < 16; i++) |
|
391 |
+ memset(ctx->block[i], 0, sizeof(**ctx->block) * 64); |
|
392 |
+ for (i = 0; i < 16; i++) |
|
393 |
+ ctx->block[i][0] = -0x800; |
|
394 |
+ if (cbp) { |
|
395 |
+ if (ctx->interlaced) |
|
396 |
+ flag = get_bits1(gb); |
|
397 |
+ |
|
398 |
+ quants = hqx_quants[get_bits(gb, 4)]; |
|
399 |
+ |
|
400 |
+ cbp |= cbp << 4; // alpha CBP |
|
401 |
+ cbp |= cbp << 8; // chroma CBP |
|
402 |
+ for (i = 0; i < 16; i++) { |
|
403 |
+ if (i == 0 || i == 4 || i == 8 || i == 12) |
|
404 |
+ last_dc = 0; |
|
405 |
+ if (cbp & (1 << i)) { |
|
406 |
+ int vlc_index = ctx->dcb - 9; |
|
407 |
+ ret = decode_block(gb, &ctx->dc_vlc[vlc_index], quants, |
|
408 |
+ ctx->dcb, ctx->block[i], &last_dc); |
|
409 |
+ if (ret < 0) |
|
410 |
+ return ret; |
|
411 |
+ } |
|
412 |
+ } |
|
413 |
+ } |
|
414 |
+ |
|
415 |
+ put_blocks(pic, 3, x, y, flag, ctx->block[ 0], ctx->block[ 2], hqx_quant_luma); |
|
416 |
+ put_blocks(pic, 3, x + 8, y, flag, ctx->block[ 1], ctx->block[ 3], hqx_quant_luma); |
|
417 |
+ put_blocks(pic, 0, x, y, flag, ctx->block[ 4], ctx->block[ 6], hqx_quant_luma); |
|
418 |
+ put_blocks(pic, 0, x + 8, y, flag, ctx->block[ 5], ctx->block[ 7], hqx_quant_luma); |
|
419 |
+ put_blocks(pic, 2, x, y, flag, ctx->block[ 8], ctx->block[10], hqx_quant_chroma); |
|
420 |
+ put_blocks(pic, 2, x + 8, y, flag, ctx->block[ 9], ctx->block[11], hqx_quant_chroma); |
|
421 |
+ put_blocks(pic, 1, x, y, flag, ctx->block[12], ctx->block[14], hqx_quant_chroma); |
|
422 |
+ put_blocks(pic, 1, x + 8, y, flag, ctx->block[13], ctx->block[15], hqx_quant_chroma); |
|
423 |
+ |
|
424 |
+ return 0; |
|
425 |
+} |
|
426 |
+ |
|
427 |
+static const int shuffle_16[16] = { |
|
428 |
+ 0, 5, 11, 14, 2, 7, 9, 13, 1, 4, 10, 15, 3, 6, 8, 12 |
|
429 |
+}; |
|
430 |
+ |
|
431 |
+static int decode_slice(HQXContext *ctx, AVFrame *pic, GetBitContext *gb, |
|
432 |
+ int slice_no, mb_decode_func decode_func) |
|
433 |
+{ |
|
434 |
+ int mb_w = (ctx->width + 15) >> 4; |
|
435 |
+ int mb_h = (ctx->height + 15) >> 4; |
|
436 |
+ int grp_w = (mb_w + 4) / 5; |
|
437 |
+ int grp_h = (mb_h + 4) / 5; |
|
438 |
+ int grp_h_edge = grp_w * (mb_w / grp_w); |
|
439 |
+ int grp_v_edge = grp_h * (mb_h / grp_h); |
|
440 |
+ int grp_v_rest = mb_w - grp_h_edge; |
|
441 |
+ int grp_h_rest = mb_h - grp_v_edge; |
|
442 |
+ int num_mbs = mb_w * mb_h; |
|
443 |
+ int num_tiles = (num_mbs + 479) / 480; |
|
444 |
+ int std_tile_blocks = num_mbs / (16 * num_tiles); |
|
445 |
+ int g_tile = slice_no * num_tiles; |
|
446 |
+ int blk_addr, loc_addr, mb_x, mb_y, pos, loc_row, i; |
|
447 |
+ int tile_blocks, tile_limit, tile_no; |
|
448 |
+ |
|
449 |
+ for (tile_no = 0; tile_no < num_tiles; tile_no++, g_tile++) { |
|
450 |
+ tile_blocks = std_tile_blocks; |
|
451 |
+ tile_limit = -1; |
|
452 |
+ if (g_tile < num_mbs - std_tile_blocks * 16 * num_tiles) { |
|
453 |
+ tile_limit = num_mbs / (16 * num_tiles); |
|
454 |
+ tile_blocks++; |
|
455 |
+ } |
|
456 |
+ for (i = 0; i < tile_blocks; i++) { |
|
457 |
+ if (i == tile_limit) |
|
458 |
+ blk_addr = g_tile + 16 * num_tiles * i; |
|
459 |
+ else |
|
460 |
+ blk_addr = tile_no + 16 * num_tiles * i + |
|
461 |
+ num_tiles * shuffle_16[(i + slice_no) & 0xF]; |
|
462 |
+ loc_row = grp_h * (blk_addr / (grp_h * mb_w)); |
|
463 |
+ loc_addr = blk_addr % (grp_h * mb_w); |
|
464 |
+ if (loc_row >= grp_v_edge) { |
|
465 |
+ mb_x = grp_w * (loc_addr / (grp_h_rest * grp_w)); |
|
466 |
+ pos = loc_addr % (grp_h_rest * grp_w); |
|
467 |
+ } else { |
|
468 |
+ mb_x = grp_w * (loc_addr / (grp_h * grp_w)); |
|
469 |
+ pos = loc_addr % (grp_h * grp_w); |
|
470 |
+ } |
|
471 |
+ if (mb_x >= grp_h_edge) { |
|
472 |
+ mb_x += pos % grp_v_rest; |
|
473 |
+ mb_y = loc_row + (pos / grp_v_rest); |
|
474 |
+ } else { |
|
475 |
+ mb_x += pos % grp_w; |
|
476 |
+ mb_y = loc_row + (pos / grp_w); |
|
477 |
+ } |
|
478 |
+ decode_func(ctx, pic, gb, mb_x * 16, mb_y * 16); |
|
479 |
+ } |
|
480 |
+ } |
|
481 |
+ |
|
482 |
+ return 0; |
|
483 |
+} |
|
484 |
+ |
|
485 |
+static int hqx_decode_frame(AVCodecContext *avctx, void *data, |
|
486 |
+ int *got_picture_ptr, AVPacket *avpkt) |
|
487 |
+{ |
|
488 |
+ HQXContext *ctx = avctx->priv_data; |
|
489 |
+ AVFrame *pic = data; |
|
490 |
+ uint8_t *src = avpkt->data; |
|
491 |
+ uint32_t info_tag, info_offset; |
|
492 |
+ int data_start; |
|
493 |
+ unsigned data_size; |
|
494 |
+ GetBitContext gb; |
|
495 |
+ int i, ret; |
|
496 |
+ int slice; |
|
497 |
+ uint32_t slice_off[17]; |
|
498 |
+ mb_decode_func decode_func = 0; |
|
499 |
+ |
|
500 |
+ if (avpkt->size < 8) |
|
501 |
+ return AVERROR_INVALIDDATA; |
|
502 |
+ |
|
503 |
+ /* Skip the INFO header if present */ |
|
504 |
+ info_offset = 0; |
|
505 |
+ info_tag = AV_RL32(src); |
|
506 |
+ if (info_tag == MKTAG('I', 'N', 'F', 'O')) { |
|
507 |
+ info_offset = AV_RL32(src + 4); |
|
508 |
+ if (info_offset > UINT32_MAX - 8 || info_offset + 8 > avpkt->size) { |
|
509 |
+ av_log(avctx, AV_LOG_ERROR, |
|
510 |
+ "Invalid INFO header offset: 0x%08"PRIX32" is too large.\n", |
|
511 |
+ info_offset); |
|
512 |
+ return AVERROR_INVALIDDATA; |
|
513 |
+ } |
|
514 |
+ |
|
515 |
+ info_offset += 8; |
|
516 |
+ src += info_offset; |
|
517 |
+ |
|
518 |
+ av_log(avctx, AV_LOG_DEBUG, "Skipping INFO chunk.\n"); |
|
519 |
+ } |
|
520 |
+ |
|
521 |
+ data_start = src - avpkt->data; |
|
522 |
+ data_size = avpkt->size - data_start; |
|
523 |
+ |
|
524 |
+ if (data_size < HQX_HEADER_SIZE) { |
|
525 |
+ av_log(avctx, AV_LOG_ERROR, "Frame too small.\n"); |
|
526 |
+ return AVERROR_INVALIDDATA; |
|
527 |
+ } |
|
528 |
+ |
|
529 |
+ if (src[0] != 'H' || src[1] != 'Q') { |
|
530 |
+ av_log(avctx, AV_LOG_ERROR, "Not an HQX frame.\n"); |
|
531 |
+ return AVERROR_INVALIDDATA; |
|
532 |
+ } |
|
533 |
+ ctx->interlaced = !(src[2] & 0x80); |
|
534 |
+ ctx->format = src[2] & 7; |
|
535 |
+ ctx->dcb = (src[3] & 3) + 8; |
|
536 |
+ ctx->width = AV_RB16(src + 4); |
|
537 |
+ ctx->height = AV_RB16(src + 6); |
|
538 |
+ for (i = 0; i < 17; i++) |
|
539 |
+ slice_off[i] = AV_RB24(src + 8 + i * 3); |
|
540 |
+ |
|
541 |
+ if (ctx->dcb == 8) { |
|
542 |
+ av_log(avctx, AV_LOG_ERROR, "Invalid DC precision %d.\n", ctx->dcb); |
|
543 |
+ return AVERROR_INVALIDDATA; |
|
544 |
+ } |
|
545 |
+ ret = av_image_check_size(ctx->width, ctx->height, 0, avctx); |
|
546 |
+ if (ret < 0) { |
|
547 |
+ av_log(avctx, AV_LOG_ERROR, "Invalid stored dimenstions %dx%d.\n", |
|
548 |
+ ctx->width, ctx->height); |
|
549 |
+ return AVERROR_INVALIDDATA; |
|
550 |
+ } |
|
551 |
+ |
|
552 |
+ avctx->coded_width = FFALIGN(ctx->width, 16); |
|
553 |
+ avctx->coded_height = FFALIGN(ctx->height, 16); |
|
554 |
+ avctx->width = ctx->width; |
|
555 |
+ avctx->height = ctx->height; |
|
556 |
+ avctx->bits_per_raw_sample = 10; |
|
557 |
+ |
|
558 |
+ switch (ctx->format) { |
|
559 |
+ case HQX_422: |
|
560 |
+ avctx->pix_fmt = AV_PIX_FMT_YUV422P16; |
|
561 |
+ decode_func = hqx_decode_422; |
|
562 |
+ break; |
|
563 |
+ case HQX_444: |
|
564 |
+ avctx->pix_fmt = AV_PIX_FMT_YUV444P16; |
|
565 |
+ decode_func = hqx_decode_444; |
|
566 |
+ break; |
|
567 |
+ case HQX_422A: |
|
568 |
+ avctx->pix_fmt = AV_PIX_FMT_YUVA422P16; |
|
569 |
+ decode_func = hqx_decode_422a; |
|
570 |
+ break; |
|
571 |
+ case HQX_444A: |
|
572 |
+ avctx->pix_fmt = AV_PIX_FMT_YUVA444P16; |
|
573 |
+ decode_func = hqx_decode_444a; |
|
574 |
+ break; |
|
575 |
+ } |
|
576 |
+ if (!decode_func) { |
|
577 |
+ av_log(avctx, AV_LOG_ERROR, "Invalid format: %d.\n", ctx->format); |
|
578 |
+ return AVERROR_INVALIDDATA; |
|
579 |
+ } |
|
580 |
+ |
|
581 |
+ ret = ff_get_buffer(avctx, pic, 0); |
|
582 |
+ if (ret < 0) { |
|
583 |
+ av_log(avctx, AV_LOG_ERROR, "Could not allocate buffer.\n"); |
|
584 |
+ return ret; |
|
585 |
+ } |
|
586 |
+ |
|
587 |
+ for (slice = 0; slice < 16; slice++) { |
|
588 |
+ if (slice_off[slice] < HQX_HEADER_SIZE || |
|
589 |
+ slice_off[slice] >= slice_off[slice + 1] || |
|
590 |
+ slice_off[slice + 1] > data_size) { |
|
591 |
+ av_log(avctx, AV_LOG_ERROR, "Invalid slice size.\n"); |
|
592 |
+ break; |
|
593 |
+ } |
|
594 |
+ ret = init_get_bits(&gb, src + slice_off[slice], |
|
595 |
+ (slice_off[slice + 1] - slice_off[slice]) * 8); |
|
596 |
+ if (ret < 0) |
|
597 |
+ return ret; |
|
598 |
+ ret = decode_slice(ctx, pic, &gb, slice, decode_func); |
|
599 |
+ if (ret < 0) { |
|
600 |
+ av_log(avctx, AV_LOG_ERROR, "Error decoding slice %d.\n", slice); |
|
601 |
+ } |
|
602 |
+ } |
|
603 |
+ |
|
604 |
+ pic->key_frame = 1; |
|
605 |
+ pic->pict_type = AV_PICTURE_TYPE_I; |
|
606 |
+ |
|
607 |
+ *got_picture_ptr = 1; |
|
608 |
+ |
|
609 |
+ return avpkt->size; |
|
610 |
+} |
|
611 |
+ |
|
612 |
+static av_cold int hqx_decode_close(AVCodecContext *avctx) |
|
613 |
+{ |
|
614 |
+ int i; |
|
615 |
+ HQXContext *ctx = avctx->priv_data; |
|
616 |
+ |
|
617 |
+ ff_free_vlc(&ctx->cbp_vlc); |
|
618 |
+ for (i = 0; i < 3; i++) { |
|
619 |
+ ff_free_vlc(&ctx->dc_vlc[i]); |
|
620 |
+ } |
|
621 |
+ |
|
622 |
+ return 0; |
|
623 |
+} |
|
624 |
+ |
|
625 |
+static av_cold int hqx_decode_init(AVCodecContext *avctx) |
|
626 |
+{ |
|
627 |
+ HQXContext *ctx = avctx->priv_data; |
|
628 |
+ int ret = ff_hqx_init_vlcs(ctx); |
|
629 |
+ if (ret < 0) |
|
630 |
+ hqx_decode_close(avctx); |
|
631 |
+ return ret; |
|
632 |
+} |
|
633 |
+ |
|
634 |
+AVCodec ff_hqx_decoder = { |
|
635 |
+ .name = "hqx", |
|
636 |
+ .long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"), |
|
637 |
+ .type = AVMEDIA_TYPE_VIDEO, |
|
638 |
+ .id = AV_CODEC_ID_HQX, |
|
639 |
+ .priv_data_size = sizeof(HQXContext), |
|
640 |
+ .init = hqx_decode_init, |
|
641 |
+ .decode = hqx_decode_frame, |
|
642 |
+ .close = hqx_decode_close, |
|
643 |
+ .capabilities = CODEC_CAP_DR1, |
|
644 |
+}; |
0 | 645 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,65 @@ |
0 |
+/* |
|
1 |
+ * Canopus HQX decoder |
|
2 |
+ * |
|
3 |
+ * This file is part of Libav. |
|
4 |
+ * |
|
5 |
+ * Libav is free software; you can redistribute it and/or |
|
6 |
+ * modify it under the terms of the GNU Lesser General Public |
|
7 |
+ * License as published by the Free Software Foundation; either |
|
8 |
+ * version 2.1 of the License, or (at your option) any later version. |
|
9 |
+ * |
|
10 |
+ * Libav is distributed in the hope that it will be useful, |
|
11 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
13 |
+ * Lesser General Public License for more details. |
|
14 |
+ * |
|
15 |
+ * You should have received a copy of the GNU Lesser General Public |
|
16 |
+ * License along with Libav; if not, write to the Free Software |
|
17 |
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
18 |
+ */ |
|
19 |
+ |
|
20 |
+#ifndef AVCODEC_HQX_H |
|
21 |
+#define AVCODEC_HQX_H |
|
22 |
+ |
|
23 |
+#include <stdint.h> |
|
24 |
+#include "libavutil/mem.h" |
|
25 |
+#include "get_bits.h" |
|
26 |
+ |
|
27 |
+enum HQXACMode { |
|
28 |
+ HQX_AC_Q0 = 0, |
|
29 |
+ HQX_AC_Q8, |
|
30 |
+ HQX_AC_Q16, |
|
31 |
+ HQX_AC_Q32, |
|
32 |
+ HQX_AC_Q64, |
|
33 |
+ HQX_AC_Q128, |
|
34 |
+ NUM_HQX_AC |
|
35 |
+}; |
|
36 |
+ |
|
37 |
+typedef struct HQXLUT { |
|
38 |
+ int16_t lev; |
|
39 |
+ uint8_t run; |
|
40 |
+ int8_t bits; |
|
41 |
+} HQXLUT; |
|
42 |
+ |
|
43 |
+typedef struct HQXAC { |
|
44 |
+ int lut_bits, extra_bits; |
|
45 |
+ const HQXLUT *lut; |
|
46 |
+} HQXAC; |
|
47 |
+ |
|
48 |
+typedef struct HQXContext { |
|
49 |
+ int format, dcb, width, height; |
|
50 |
+ int interlaced; |
|
51 |
+ |
|
52 |
+ DECLARE_ALIGNED(16, int16_t, block)[16][64]; |
|
53 |
+ |
|
54 |
+ VLC cbp_vlc; |
|
55 |
+ VLC dc_vlc[3]; |
|
56 |
+} HQXContext; |
|
57 |
+ |
|
58 |
+#define HQX_DC_VLC_BITS 9 |
|
59 |
+ |
|
60 |
+extern const HQXAC ff_hqx_ac[NUM_HQX_AC]; |
|
61 |
+ |
|
62 |
+int ff_hqx_init_vlcs(HQXContext *ctx); |
|
63 |
+ |
|
64 |
+#endif /* AVCODEC_HQX_H */ |
0 | 65 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,2167 @@ |
0 |
+/* |
|
1 |
+ * Canopus HQX decoder |
|
2 |
+ * |
|
3 |
+ * This file is part of Libav. |
|
4 |
+ * |
|
5 |
+ * Libav is free software; you can redistribute it and/or |
|
6 |
+ * modify it under the terms of the GNU Lesser General Public |
|
7 |
+ * License as published by the Free Software Foundation; either |
|
8 |
+ * version 2.1 of the License, or (at your option) any later version. |
|
9 |
+ * |
|
10 |
+ * Libav is distributed in the hope that it will be useful, |
|
11 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
13 |
+ * Lesser General Public License for more details. |
|
14 |
+ * |
|
15 |
+ * You should have received a copy of the GNU Lesser General Public |
|
16 |
+ * License along with Libav; if not, write to the Free Software |
|
17 |
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
18 |
+ */ |
|
19 |
+ |
|
20 |
+#include "hqx.h" |
|
21 |
+ |
|
22 |
+static const uint8_t cbp_vlc_bits[16] = { |
|
23 |
+ 0x04, 0x1C, 0x1D, 0x09, 0x1E, 0x0B, 0x1B, 0x08, |
|
24 |
+ 0x1F, 0x1A, 0x0C, 0x07, 0x0A, 0x06, 0x05, 0x00, |
|
25 |
+}; |
|
26 |
+ |
|
27 |
+static const uint8_t cbp_vlc_lens[16] = { |
|
28 |
+ 4, 5, 5, 4, 5, 4, 5, 4, 5, 5, 4, 4, 4, 4, 4, 2, |
|
29 |
+}; |
|
30 |
+ |
|
31 |
+static const uint16_t dc9_vlc_bits[512] = { |
|
32 |
+ 0x0010, 0x0008, 0x0022, 0x0024, 0x0026, 0x0028, 0x002A, 0x002C, |
|
33 |
+ 0x002E, 0x0030, 0x0032, 0x0034, 0x0074, 0x0076, 0x0078, 0x007A, |
|
34 |
+ 0x007C, 0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000A, 0x000C, |
|
35 |
+ 0x000E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C, |
|
36 |
+ 0x005E, 0x0020, 0x0022, 0x0024, 0x0026, 0x0028, 0x002A, 0x002C, |
|
37 |
+ 0x002E, 0x0030, 0x0032, 0x0034, 0x0036, 0x0038, 0x003A, 0x003C, |
|
38 |
+ 0x003E, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC, |
|
39 |
+ 0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC, |
|
40 |
+ 0x00DE, 0x01C0, 0x01C2, 0x01C4, 0x01C6, 0x01C8, 0x01CA, 0x01CC, |
|
41 |
+ 0x01CE, 0x01D0, 0x01D2, 0x01D4, 0x01D6, 0x01D8, 0x01DA, 0x01DC, |
|
42 |
+ 0x01DE, 0x01E0, 0x01E2, 0x01E4, 0x01E6, 0x01E8, 0x01EA, 0x01EC, |
|
43 |
+ 0x01EE, 0x01F0, 0x01F2, 0x01F4, 0x01F6, 0x01F8, 0x01FA, 0x01FC, |
|
44 |
+ 0x01FE, 0x06C0, 0x06C2, 0x06C4, 0x06C6, 0x06C8, 0x06CA, 0x06CC, |
|
45 |
+ 0x06CE, 0x06D0, 0x06D2, 0x06D4, 0x06D6, 0x06D8, 0x06DA, 0x06DC, |
|
46 |
+ 0x06DE, 0x06E0, 0x06E2, 0x06E4, 0x06E6, 0x06E8, 0x06EA, 0x06EC, |
|
47 |
+ 0x06EE, 0x06F0, 0x06F2, 0x06F4, 0x06F6, 0x06F8, 0x06FA, 0x06FC, |
|
48 |
+ 0x06FE, 0x0E00, 0x0E02, 0x0E04, 0x0E06, 0x0E08, 0x0E0A, 0x0E0C, |
|
49 |
+ 0x0E0E, 0x0E10, 0x0E12, 0x0E14, 0x0E16, 0x0E18, 0x0E1A, 0x0E1C, |
|
50 |
+ 0x0E1E, 0x0E20, 0x0E22, 0x0E24, 0x0E26, 0x0E28, 0x0E2A, 0x0E2C, |
|
51 |
+ 0x0E2E, 0x0E30, 0x0E32, 0x0E34, 0x0E36, 0x0E38, 0x0E3A, 0x0E3C, |
|
52 |
+ 0x0E3E, 0x0E40, 0x0E42, 0x0E44, 0x0E46, 0x0E48, 0x0E4A, 0x0E4C, |
|
53 |
+ 0x0E4E, 0x0E50, 0x0E52, 0x0E54, 0x0E56, 0x0E58, 0x0E5A, 0x0E5C, |
|
54 |
+ 0x0E5E, 0x0E60, 0x0E62, 0x0E64, 0x0E66, 0x0E68, 0x0E6A, 0x0E6C, |
|
55 |
+ 0x0E6E, 0x0E70, 0x0E72, 0x0E74, 0x0E76, 0x0E78, 0x0E7A, 0x0E7C, |
|
56 |
+ 0x0E7E, 0x1F80, 0x1F82, 0x1F84, 0x1F86, 0x1F88, 0x1F8A, 0x1F8C, |
|
57 |
+ 0x1F8E, 0x1F90, 0x1F92, 0x1F94, 0x1F96, 0x1F98, 0x1F9A, 0x1F9C, |
|
58 |
+ 0x1F9E, 0x1FA0, 0x1FA2, 0x1FA4, 0x1FA6, 0x1FA8, 0x1FAA, 0x1FAC, |
|
59 |
+ 0x1FAE, 0x1FB0, 0x1FB2, 0x1FB4, 0x1FB6, 0x1FB8, 0x1FBA, 0x1FBC, |
|
60 |
+ 0x1FBE, 0x1FC0, 0x1FC2, 0x1FC4, 0x1FC6, 0x1FC8, 0x1FCA, 0x1FCC, |
|
61 |
+ 0x1FCE, 0x1FD0, 0x1FD2, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FDA, 0x1FDC, |
|
62 |
+ 0x1FDE, 0x1FE0, 0x1FE2, 0x1FE4, 0x1FE6, 0x1FE8, 0x1FEA, 0x1FEC, |
|
63 |
+ 0x1FEE, 0x1FF0, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FF8, 0x1FFA, 0x1FFC, |
|
64 |
+ 0x0FFF, 0x1FFD, 0x1FFB, 0x1FF9, 0x1FF7, 0x1FF5, 0x1FF3, 0x1FF1, |
|
65 |
+ 0x1FEF, 0x1FED, 0x1FEB, 0x1FE9, 0x1FE7, 0x1FE5, 0x1FE3, 0x1FE1, |
|
66 |
+ 0x1FDF, 0x1FDD, 0x1FDB, 0x1FD9, 0x1FD7, 0x1FD5, 0x1FD3, 0x1FD1, |
|
67 |
+ 0x1FCF, 0x1FCD, 0x1FCB, 0x1FC9, 0x1FC7, 0x1FC5, 0x1FC3, 0x1FC1, |
|
68 |
+ 0x1FBF, 0x1FBD, 0x1FBB, 0x1FB9, 0x1FB7, 0x1FB5, 0x1FB3, 0x1FB1, |
|
69 |
+ 0x1FAF, 0x1FAD, 0x1FAB, 0x1FA9, 0x1FA7, 0x1FA5, 0x1FA3, 0x1FA1, |
|
70 |
+ 0x1F9F, 0x1F9D, 0x1F9B, 0x1F99, 0x1F97, 0x1F95, 0x1F93, 0x1F91, |
|
71 |
+ 0x1F8F, 0x1F8D, 0x1F8B, 0x1F89, 0x1F87, 0x1F85, 0x1F83, 0x1F81, |
|
72 |
+ 0x0E7F, 0x0E7D, 0x0E7B, 0x0E79, 0x0E77, 0x0E75, 0x0E73, 0x0E71, |
|
73 |
+ 0x0E6F, 0x0E6D, 0x0E6B, 0x0E69, 0x0E67, 0x0E65, 0x0E63, 0x0E61, |
|
74 |
+ 0x0E5F, 0x0E5D, 0x0E5B, 0x0E59, 0x0E57, 0x0E55, 0x0E53, 0x0E51, |
|
75 |
+ 0x0E4F, 0x0E4D, 0x0E4B, 0x0E49, 0x0E47, 0x0E45, 0x0E43, 0x0E41, |
|
76 |
+ 0x0E3F, 0x0E3D, 0x0E3B, 0x0E39, 0x0E37, 0x0E35, 0x0E33, 0x0E31, |
|
77 |
+ 0x0E2F, 0x0E2D, 0x0E2B, 0x0E29, 0x0E27, 0x0E25, 0x0E23, 0x0E21, |
|
78 |
+ 0x0E1F, 0x0E1D, 0x0E1B, 0x0E19, 0x0E17, 0x0E15, 0x0E13, 0x0E11, |
|
79 |
+ 0x0E0F, 0x0E0D, 0x0E0B, 0x0E09, 0x0E07, 0x0E05, 0x0E03, 0x0E01, |
|
80 |
+ 0x06FF, 0x06FD, 0x06FB, 0x06F9, 0x06F7, 0x06F5, 0x06F3, 0x06F1, |
|
81 |
+ 0x06EF, 0x06ED, 0x06EB, 0x06E9, 0x06E7, 0x06E5, 0x06E3, 0x06E1, |
|
82 |
+ 0x06DF, 0x06DD, 0x06DB, 0x06D9, 0x06D7, 0x06D5, 0x06D3, 0x06D1, |
|
83 |
+ 0x06CF, 0x06CD, 0x06CB, 0x06C9, 0x06C7, 0x06C5, 0x06C3, 0x06C1, |
|
84 |
+ 0x01FF, 0x01FD, 0x01FB, 0x01F9, 0x01F7, 0x01F5, 0x01F3, 0x01F1, |
|
85 |
+ 0x01EF, 0x01ED, 0x01EB, 0x01E9, 0x01E7, 0x01E5, 0x01E3, 0x01E1, |
|
86 |
+ 0x01DF, 0x01DD, 0x01DB, 0x01D9, 0x01D7, 0x01D5, 0x01D3, 0x01D1, |
|
87 |
+ 0x01CF, 0x01CD, 0x01CB, 0x01C9, 0x01C7, 0x01C5, 0x01C3, 0x01C1, |
|
88 |
+ 0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1, |
|
89 |
+ 0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1, |
|
90 |
+ 0x003F, 0x003D, 0x003B, 0x0039, 0x0037, 0x0035, 0x0033, 0x0031, |
|
91 |
+ 0x002F, 0x002D, 0x002B, 0x0029, 0x0027, 0x0025, 0x0023, 0x0021, |
|
92 |
+ 0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051, |
|
93 |
+ 0x000F, 0x000D, 0x000B, 0x0009, 0x0007, 0x0005, 0x0003, 0x0001, |
|
94 |
+ 0x007D, 0x007B, 0x0079, 0x0077, 0x0075, 0x0035, 0x0033, 0x0031, |
|
95 |
+ 0x002F, 0x002D, 0x002B, 0x0029, 0x0027, 0x0025, 0x0023, 0x0009, |
|
96 |
+}; |
|
97 |
+ |
|
98 |
+static const uint8_t dc9_vlc_lens[512] = { |
|
99 |
+ 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, |
|
100 |
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, |
|
101 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
102 |
+ 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
103 |
+ 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
104 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
105 |
+ 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
106 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
107 |
+ 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
108 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
109 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
110 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
111 |
+ 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
112 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
113 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
114 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
115 |
+ 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
116 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
117 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
118 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
119 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
120 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
121 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
122 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
123 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
124 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
125 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
126 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
127 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
128 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
129 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, |
|
130 |
+ 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, |
|
131 |
+}; |
|
132 |
+ |
|
133 |
+static const uint16_t dc10_vlc_bits[1024] = { |
|
134 |
+ 0x0014, 0x002A, 0x002C, 0x002E, 0x0064, 0x0066, 0x0068, 0x006A, |
|
135 |
+ 0x006C, 0x006E, 0x0070, 0x0072, 0x0074, 0x0076, 0x0078, 0x007A, |
|
136 |
+ 0x007C, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048, 0x004A, 0x004C, |
|
137 |
+ 0x004E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C, |
|
138 |
+ 0x005E, 0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000A, 0x000C, |
|
139 |
+ 0x000E, 0x0010, 0x0012, 0x0014, 0x0016, 0x0018, 0x001A, 0x001C, |
|
140 |
+ 0x001E, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC, |
|
141 |
+ 0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC, |
|
142 |
+ 0x00DE, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048, 0x004A, 0x004C, |
|
143 |
+ 0x004E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C, |
|
144 |
+ 0x005E, 0x0060, 0x0062, 0x0064, 0x0066, 0x0068, 0x006A, 0x006C, |
|
145 |
+ 0x006E, 0x0070, 0x0072, 0x0074, 0x0076, 0x0078, 0x007A, 0x007C, |
|
146 |
+ 0x007E, 0x01C0, 0x01C2, 0x01C4, 0x01C6, 0x01C8, 0x01CA, 0x01CC, |
|
147 |
+ 0x01CE, 0x01D0, 0x01D2, 0x01D4, 0x01D6, 0x01D8, 0x01DA, 0x01DC, |
|
148 |
+ 0x01DE, 0x01E0, 0x01E2, 0x01E4, 0x01E6, 0x01E8, 0x01EA, 0x01EC, |
|
149 |
+ 0x01EE, 0x01F0, 0x01F2, 0x01F4, 0x01F6, 0x01F8, 0x01FA, 0x01FC, |
|
150 |
+ 0x01FE, 0x0400, 0x0402, 0x0404, 0x0406, 0x0408, 0x040A, 0x040C, |
|
151 |
+ 0x040E, 0x0410, 0x0412, 0x0414, 0x0416, 0x0418, 0x041A, 0x041C, |
|
152 |
+ 0x041E, 0x0420, 0x0422, 0x0424, 0x0426, 0x0428, 0x042A, 0x042C, |
|
153 |
+ 0x042E, 0x0430, 0x0432, 0x0434, 0x0436, 0x0438, 0x043A, 0x043C, |
|
154 |
+ 0x043E, 0x0440, 0x0442, 0x0444, 0x0446, 0x0448, 0x044A, 0x044C, |
|
155 |
+ 0x044E, 0x0450, 0x0452, 0x0454, 0x0456, 0x0458, 0x045A, 0x045C, |
|
156 |
+ 0x045E, 0x0460, 0x0462, 0x0464, 0x0466, 0x0468, 0x046A, 0x046C, |
|
157 |
+ 0x046E, 0x0470, 0x0472, 0x0474, 0x0476, 0x0478, 0x047A, 0x047C, |
|
158 |
+ 0x047E, 0x0C00, 0x0C02, 0x0C04, 0x0C06, 0x0C08, 0x0C0A, 0x0C0C, |
|
159 |
+ 0x0C0E, 0x0C10, 0x0C12, 0x0C14, 0x0C16, 0x0C18, 0x0C1A, 0x0C1C, |
|
160 |
+ 0x0C1E, 0x0C20, 0x0C22, 0x0C24, 0x0C26, 0x0C28, 0x0C2A, 0x0C2C, |
|
161 |
+ 0x0C2E, 0x0C30, 0x0C32, 0x0C34, 0x0C36, 0x0C38, 0x0C3A, 0x0C3C, |
|
162 |
+ 0x0C3E, 0x0C40, 0x0C42, 0x0C44, 0x0C46, 0x0C48, 0x0C4A, 0x0C4C, |
|
163 |
+ 0x0C4E, 0x0C50, 0x0C52, 0x0C54, 0x0C56, 0x0C58, 0x0C5A, 0x0C5C, |
|
164 |
+ 0x0C5E, 0x0C60, 0x0C62, 0x0C64, 0x0C66, 0x0C68, 0x0C6A, 0x0C6C, |
|
165 |
+ 0x0C6E, 0x0C70, 0x0C72, 0x0C74, 0x0C76, 0x0C78, 0x0C7A, 0x0C7C, |
|
166 |
+ 0x0C7E, 0x0900, 0x0902, 0x0904, 0x0906, 0x0908, 0x090A, 0x090C, |
|
167 |
+ 0x090E, 0x0910, 0x0912, 0x0914, 0x0916, 0x0918, 0x091A, 0x091C, |
|
168 |
+ 0x091E, 0x0920, 0x0922, 0x0924, 0x0926, 0x0928, 0x092A, 0x092C, |
|
169 |
+ 0x092E, 0x0930, 0x0932, 0x0934, 0x0936, 0x0938, 0x093A, 0x093C, |
|
170 |
+ 0x093E, 0x0940, 0x0942, 0x0944, 0x0946, 0x0948, 0x094A, 0x094C, |
|
171 |
+ 0x094E, 0x0950, 0x0952, 0x0954, 0x0956, 0x0958, 0x095A, 0x095C, |
|
172 |
+ 0x095E, 0x0960, 0x0962, 0x0964, 0x0966, 0x0968, 0x096A, 0x096C, |
|
173 |
+ 0x096E, 0x0970, 0x0972, 0x0974, 0x0976, 0x0978, 0x097A, 0x097C, |
|
174 |
+ 0x097E, 0x0980, 0x0982, 0x0984, 0x0986, 0x0988, 0x098A, 0x098C, |
|
175 |
+ 0x098E, 0x0990, 0x0992, 0x0994, 0x0996, 0x0998, 0x099A, 0x099C, |
|
176 |
+ 0x099E, 0x09A0, 0x09A2, 0x09A4, 0x09A6, 0x09A8, 0x09AA, 0x09AC, |
|
177 |
+ 0x09AE, 0x09B0, 0x09B2, 0x09B4, 0x09B6, 0x09B8, 0x09BA, 0x09BC, |
|
178 |
+ 0x09BE, 0x09C0, 0x09C2, 0x09C4, 0x09C6, 0x09C8, 0x09CA, 0x09CC, |
|
179 |
+ 0x09CE, 0x09D0, 0x09D2, 0x09D4, 0x09D6, 0x09D8, 0x09DA, 0x09DC, |
|
180 |
+ 0x09DE, 0x09E0, 0x09E2, 0x09E4, 0x09E6, 0x09E8, 0x09EA, 0x09EC, |
|
181 |
+ 0x09EE, 0x09F0, 0x09F2, 0x09F4, 0x09F6, 0x09F8, 0x09FA, 0x09FC, |
|
182 |
+ 0x09FE, 0x3F00, 0x3F02, 0x3F04, 0x3F06, 0x3F08, 0x3F0A, 0x3F0C, |
|
183 |
+ 0x3F0E, 0x3F10, 0x3F12, 0x3F14, 0x3F16, 0x3F18, 0x3F1A, 0x3F1C, |
|
184 |
+ 0x3F1E, 0x3F20, 0x3F22, 0x3F24, 0x3F26, 0x3F28, 0x3F2A, 0x3F2C, |
|
185 |
+ 0x3F2E, 0x3F30, 0x3F32, 0x3F34, 0x3F36, 0x3F38, 0x3F3A, 0x3F3C, |
|
186 |
+ 0x3F3E, 0x3F40, 0x3F42, 0x3F44, 0x3F46, 0x3F48, 0x3F4A, 0x3F4C, |
|
187 |
+ 0x3F4E, 0x3F50, 0x3F52, 0x3F54, 0x3F56, 0x3F58, 0x3F5A, 0x3F5C, |
|
188 |
+ 0x3F5E, 0x3F60, 0x3F62, 0x3F64, 0x3F66, 0x3F68, 0x3F6A, 0x3F6C, |
|
189 |
+ 0x3F6E, 0x3F70, 0x3F72, 0x3F74, 0x3F76, 0x3F78, 0x3F7A, 0x3F7C, |
|
190 |
+ 0x3F7E, 0x3F80, 0x3F82, 0x3F84, 0x3F86, 0x3F88, 0x3F8A, 0x3F8C, |
|
191 |
+ 0x3F8E, 0x3F90, 0x3F92, 0x3F94, 0x3F96, 0x3F98, 0x3F9A, 0x3F9C, |
|
192 |
+ 0x3F9E, 0x3FA0, 0x3FA2, 0x3FA4, 0x3FA6, 0x3FA8, 0x3FAA, 0x3FAC, |
|
193 |
+ 0x3FAE, 0x3FB0, 0x3FB2, 0x3FB4, 0x3FB6, 0x3FB8, 0x3FBA, 0x3FBC, |
|
194 |
+ 0x3FBE, 0x3FC0, 0x3FC2, 0x3FC4, 0x3FC6, 0x3FC8, 0x3FCA, 0x3FCC, |
|
195 |
+ 0x3FCE, 0x3FD0, 0x3FD2, 0x3FD4, 0x3FD6, 0x3FD8, 0x3FDA, 0x3FDC, |
|
196 |
+ 0x3FDE, 0x3FE0, 0x3FE2, 0x3FE4, 0x3FE6, 0x3FE8, 0x3FEA, 0x3FEC, |
|
197 |
+ 0x3FEE, 0x3FF0, 0x3FF2, 0x3FF4, 0x3FF6, 0x3FF8, 0x3FFA, 0x3FFC, |
|
198 |
+ 0x1FFF, 0x3FFD, 0x3FFB, 0x3FF9, 0x3FF7, 0x3FF5, 0x3FF3, 0x3FF1, |
|
199 |
+ 0x3FEF, 0x3FED, 0x3FEB, 0x3FE9, 0x3FE7, 0x3FE5, 0x3FE3, 0x3FE1, |
|
200 |
+ 0x3FDF, 0x3FDD, 0x3FDB, 0x3FD9, 0x3FD7, 0x3FD5, 0x3FD3, 0x3FD1, |
|
201 |
+ 0x3FCF, 0x3FCD, 0x3FCB, 0x3FC9, 0x3FC7, 0x3FC5, 0x3FC3, 0x3FC1, |
|
202 |
+ 0x3FBF, 0x3FBD, 0x3FBB, 0x3FB9, 0x3FB7, 0x3FB5, 0x3FB3, 0x3FB1, |
|
203 |
+ 0x3FAF, 0x3FAD, 0x3FAB, 0x3FA9, 0x3FA7, 0x3FA5, 0x3FA3, 0x3FA1, |
|
204 |
+ 0x3F9F, 0x3F9D, 0x3F9B, 0x3F99, 0x3F97, 0x3F95, 0x3F93, 0x3F91, |
|
205 |
+ 0x3F8F, 0x3F8D, 0x3F8B, 0x3F89, 0x3F87, 0x3F85, 0x3F83, 0x3F81, |
|
206 |
+ 0x3F7F, 0x3F7D, 0x3F7B, 0x3F79, 0x3F77, 0x3F75, 0x3F73, 0x3F71, |
|
207 |
+ 0x3F6F, 0x3F6D, 0x3F6B, 0x3F69, 0x3F67, 0x3F65, 0x3F63, 0x3F61, |
|
208 |
+ 0x3F5F, 0x3F5D, 0x3F5B, 0x3F59, 0x3F57, 0x3F55, 0x3F53, 0x3F51, |
|
209 |
+ 0x3F4F, 0x3F4D, 0x3F4B, 0x3F49, 0x3F47, 0x3F45, 0x3F43, 0x3F41, |
|
210 |
+ 0x3F3F, 0x3F3D, 0x3F3B, 0x3F39, 0x3F37, 0x3F35, 0x3F33, 0x3F31, |
|
211 |
+ 0x3F2F, 0x3F2D, 0x3F2B, 0x3F29, 0x3F27, 0x3F25, 0x3F23, 0x3F21, |
|
212 |
+ 0x3F1F, 0x3F1D, 0x3F1B, 0x3F19, 0x3F17, 0x3F15, 0x3F13, 0x3F11, |
|
213 |
+ 0x3F0F, 0x3F0D, 0x3F0B, 0x3F09, 0x3F07, 0x3F05, 0x3F03, 0x3F01, |
|
214 |
+ 0x09FF, 0x09FD, 0x09FB, 0x09F9, 0x09F7, 0x09F5, 0x09F3, 0x09F1, |
|
215 |
+ 0x09EF, 0x09ED, 0x09EB, 0x09E9, 0x09E7, 0x09E5, 0x09E3, 0x09E1, |
|
216 |
+ 0x09DF, 0x09DD, 0x09DB, 0x09D9, 0x09D7, 0x09D5, 0x09D3, 0x09D1, |
|
217 |
+ 0x09CF, 0x09CD, 0x09CB, 0x09C9, 0x09C7, 0x09C5, 0x09C3, 0x09C1, |
|
218 |
+ 0x09BF, 0x09BD, 0x09BB, 0x09B9, 0x09B7, 0x09B5, 0x09B3, 0x09B1, |
|
219 |
+ 0x09AF, 0x09AD, 0x09AB, 0x09A9, 0x09A7, 0x09A5, 0x09A3, 0x09A1, |
|
220 |
+ 0x099F, 0x099D, 0x099B, 0x0999, 0x0997, 0x0995, 0x0993, 0x0991, |
|
221 |
+ 0x098F, 0x098D, 0x098B, 0x0989, 0x0987, 0x0985, 0x0983, 0x0981, |
|
222 |
+ 0x097F, 0x097D, 0x097B, 0x0979, 0x0977, 0x0975, 0x0973, 0x0971, |
|
223 |
+ 0x096F, 0x096D, 0x096B, 0x0969, 0x0967, 0x0965, 0x0963, 0x0961, |
|
224 |
+ 0x095F, 0x095D, 0x095B, 0x0959, 0x0957, 0x0955, 0x0953, 0x0951, |
|
225 |
+ 0x094F, 0x094D, 0x094B, 0x0949, 0x0947, 0x0945, 0x0943, 0x0941, |
|
226 |
+ 0x093F, 0x093D, 0x093B, 0x0939, 0x0937, 0x0935, 0x0933, 0x0931, |
|
227 |
+ 0x092F, 0x092D, 0x092B, 0x0929, 0x0927, 0x0925, 0x0923, 0x0921, |
|
228 |
+ 0x091F, 0x091D, 0x091B, 0x0919, 0x0917, 0x0915, 0x0913, 0x0911, |
|
229 |
+ 0x090F, 0x090D, 0x090B, 0x0909, 0x0907, 0x0905, 0x0903, 0x0901, |
|
230 |
+ 0x0C7F, 0x0C7D, 0x0C7B, 0x0C79, 0x0C77, 0x0C75, 0x0C73, 0x0C71, |
|
231 |
+ 0x0C6F, 0x0C6D, 0x0C6B, 0x0C69, 0x0C67, 0x0C65, 0x0C63, 0x0C61, |
|
232 |
+ 0x0C5F, 0x0C5D, 0x0C5B, 0x0C59, 0x0C57, 0x0C55, 0x0C53, 0x0C51, |
|
233 |
+ 0x0C4F, 0x0C4D, 0x0C4B, 0x0C49, 0x0C47, 0x0C45, 0x0C43, 0x0C41, |
|
234 |
+ 0x0C3F, 0x0C3D, 0x0C3B, 0x0C39, 0x0C37, 0x0C35, 0x0C33, 0x0C31, |
|
235 |
+ 0x0C2F, 0x0C2D, 0x0C2B, 0x0C29, 0x0C27, 0x0C25, 0x0C23, 0x0C21, |
|
236 |
+ 0x0C1F, 0x0C1D, 0x0C1B, 0x0C19, 0x0C17, 0x0C15, 0x0C13, 0x0C11, |
|
237 |
+ 0x0C0F, 0x0C0D, 0x0C0B, 0x0C09, 0x0C07, 0x0C05, 0x0C03, 0x0C01, |
|
238 |
+ 0x047F, 0x047D, 0x047B, 0x0479, 0x0477, 0x0475, 0x0473, 0x0471, |
|
239 |
+ 0x046F, 0x046D, 0x046B, 0x0469, 0x0467, 0x0465, 0x0463, 0x0461, |
|
240 |
+ 0x045F, 0x045D, 0x045B, 0x0459, 0x0457, 0x0455, 0x0453, 0x0451, |
|
241 |
+ 0x044F, 0x044D, 0x044B, 0x0449, 0x0447, 0x0445, 0x0443, 0x0441, |
|
242 |
+ 0x043F, 0x043D, 0x043B, 0x0439, 0x0437, 0x0435, 0x0433, 0x0431, |
|
243 |
+ 0x042F, 0x042D, 0x042B, 0x0429, 0x0427, 0x0425, 0x0423, 0x0421, |
|
244 |
+ 0x041F, 0x041D, 0x041B, 0x0419, 0x0417, 0x0415, 0x0413, 0x0411, |
|
245 |
+ 0x040F, 0x040D, 0x040B, 0x0409, 0x0407, 0x0405, 0x0403, 0x0401, |
|
246 |
+ 0x01FF, 0x01FD, 0x01FB, 0x01F9, 0x01F7, 0x01F5, 0x01F3, 0x01F1, |
|
247 |
+ 0x01EF, 0x01ED, 0x01EB, 0x01E9, 0x01E7, 0x01E5, 0x01E3, 0x01E1, |
|
248 |
+ 0x01DF, 0x01DD, 0x01DB, 0x01D9, 0x01D7, 0x01D5, 0x01D3, 0x01D1, |
|
249 |
+ 0x01CF, 0x01CD, 0x01CB, 0x01C9, 0x01C7, 0x01C5, 0x01C3, 0x01C1, |
|
250 |
+ 0x007F, 0x007D, 0x007B, 0x0079, 0x0077, 0x0075, 0x0073, 0x0071, |
|
251 |
+ 0x006F, 0x006D, 0x006B, 0x0069, 0x0067, 0x0065, 0x0063, 0x0061, |
|
252 |
+ 0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051, |
|
253 |
+ 0x004F, 0x004D, 0x004B, 0x0049, 0x0047, 0x0045, 0x0043, 0x0041, |
|
254 |
+ 0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1, |
|
255 |
+ 0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1, |
|
256 |
+ 0x001F, 0x001D, 0x001B, 0x0019, 0x0017, 0x0015, 0x0013, 0x0011, |
|
257 |
+ 0x000F, 0x000D, 0x000B, 0x0009, 0x0007, 0x0005, 0x0003, 0x0001, |
|
258 |
+ 0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051, |
|
259 |
+ 0x004F, 0x004D, 0x004B, 0x0049, 0x0047, 0x0045, 0x0043, 0x0041, |
|
260 |
+ 0x007D, 0x007B, 0x0079, 0x0077, 0x0075, 0x0073, 0x0071, 0x006F, |
|
261 |
+ 0x006D, 0x006B, 0x0069, 0x0067, 0x0065, 0x002F, 0x002D, 0x002B, |
|
262 |
+}; |
|
263 |
+ |
|
264 |
+static const uint8_t dc10_vlc_lens[1024] = { |
|
265 |
+ 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
|
266 |
+ 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
267 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
268 |
+ 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
269 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
270 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
271 |
+ 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
272 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
273 |
+ 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
274 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
275 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
276 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
277 |
+ 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
278 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
279 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
280 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
281 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
282 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
283 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
284 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
285 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
286 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
287 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
288 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
289 |
+ 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
290 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
291 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
292 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
293 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
294 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
295 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
296 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
297 |
+ 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
298 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
299 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
300 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
301 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
302 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
303 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
304 |
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
305 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
306 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
307 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
308 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
309 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
310 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
311 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
312 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
313 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
314 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
315 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
316 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
317 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
318 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
319 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
320 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
321 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
322 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
323 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
324 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
325 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
326 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
327 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
328 |
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, |
|
329 |
+}; |
|
330 |
+ |
|
331 |
+static const uint16_t dc11_vlc_bits[2048] = { |
|
332 |
+ 0x0032, 0x0066, 0x0068, 0x006A, 0x006C, 0x006E, 0x0070, 0x0072, |
|
333 |
+ 0x0074, 0x00F0, 0x00F2, 0x00F4, 0x00F6, 0x00F8, 0x00FA, 0x00FC, |
|
334 |
+ 0x00FE, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048, 0x004A, 0x004C, |
|
335 |
+ 0x004E, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005A, 0x005C, |
|
336 |
+ 0x005E, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC, |
|
337 |
+ 0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC, |
|
338 |
+ 0x00DE, 0x00E0, 0x00E2, 0x00E4, 0x00E6, 0x00E8, 0x00EA, 0x00EC, |
|
339 |
+ 0x00EE, 0x00F0, 0x00F2, 0x00F4, 0x00F6, 0x00F8, 0x00FA, 0x00FC, |
|
340 |
+ 0x00FE, 0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000A, 0x000C, |
|
341 |
+ 0x000E, 0x0010, 0x0012, 0x0014, 0x0016, 0x0018, 0x001A, 0x001C, |
|
342 |
+ 0x001E, 0x0020, 0x0022, 0x0024, 0x0026, 0x0028, 0x002A, 0x002C, |
|
343 |
+ 0x002E, 0x0030, 0x0032, 0x0034, 0x0036, 0x0038, 0x003A, 0x003C, |
|
344 |
+ 0x003E, 0x0200, 0x0202, 0x0204, 0x0206, 0x0208, 0x020A, 0x020C, |
|
345 |
+ 0x020E, 0x0210, 0x0212, 0x0214, 0x0216, 0x0218, 0x021A, 0x021C, |
|
346 |
+ 0x021E, 0x0220, 0x0222, 0x0224, 0x0226, 0x0228, 0x022A, 0x022C, |
|
347 |
+ 0x022E, 0x0230, 0x0232, 0x0234, 0x0236, 0x0238, 0x023A, 0x023C, |
|
348 |
+ 0x023E, 0x0080, 0x0082, 0x0084, 0x0086, 0x0088, 0x008A, 0x008C, |
|
349 |
+ 0x008E, 0x0090, 0x0092, 0x0094, 0x0096, 0x0098, 0x009A, 0x009C, |
|
350 |
+ 0x009E, 0x00A0, 0x00A2, 0x00A4, 0x00A6, 0x00A8, 0x00AA, 0x00AC, |
|
351 |
+ 0x00AE, 0x00B0, 0x00B2, 0x00B4, 0x00B6, 0x00B8, 0x00BA, 0x00BC, |
|
352 |
+ 0x00BE, 0x00C0, 0x00C2, 0x00C4, 0x00C6, 0x00C8, 0x00CA, 0x00CC, |
|
353 |
+ 0x00CE, 0x00D0, 0x00D2, 0x00D4, 0x00D6, 0x00D8, 0x00DA, 0x00DC, |
|
354 |
+ 0x00DE, 0x00E0, 0x00E2, 0x00E4, 0x00E6, 0x00E8, 0x00EA, 0x00EC, |
|
355 |
+ 0x00EE, 0x00F0, 0x00F2, 0x00F4, 0x00F6, 0x00F8, 0x00FA, 0x00FC, |
|
356 |
+ 0x00FE, 0x0480, 0x0482, 0x0484, 0x0486, 0x0488, 0x048A, 0x048C, |
|
357 |
+ 0x048E, 0x0490, 0x0492, 0x0494, 0x0496, 0x0498, 0x049A, 0x049C, |
|
358 |
+ 0x049E, 0x04A0, 0x04A2, 0x04A4, 0x04A6, 0x04A8, 0x04AA, 0x04AC, |
|
359 |
+ 0x04AE, 0x04B0, 0x04B2, 0x04B4, 0x04B6, 0x04B8, 0x04BA, 0x04BC, |
|
360 |
+ 0x04BE, 0x04C0, 0x04C2, 0x04C4, 0x04C6, 0x04C8, 0x04CA, 0x04CC, |
|
361 |
+ 0x04CE, 0x04D0, 0x04D2, 0x04D4, 0x04D6, 0x04D8, 0x04DA, 0x04DC, |
|
362 |
+ 0x04DE, 0x04E0, 0x04E2, 0x04E4, 0x04E6, 0x04E8, 0x04EA, 0x04EC, |
|
363 |
+ 0x04EE, 0x04F0, 0x04F2, 0x04F4, 0x04F6, 0x04F8, 0x04FA, 0x04FC, |
|
364 |
+ 0x04FE, 0x0A00, 0x0A02, 0x0A04, 0x0A06, 0x0A08, 0x0A0A, 0x0A0C, |
|
365 |
+ 0x0A0E, 0x0A10, 0x0A12, 0x0A14, 0x0A16, 0x0A18, 0x0A1A, 0x0A1C, |
|
366 |
+ 0x0A1E, 0x0A20, 0x0A22, 0x0A24, 0x0A26, 0x0A28, 0x0A2A, 0x0A2C, |
|
367 |
+ 0x0A2E, 0x0A30, 0x0A32, 0x0A34, 0x0A36, 0x0A38, 0x0A3A, 0x0A3C, |
|
368 |
+ 0x0A3E, 0x0A40, 0x0A42, 0x0A44, 0x0A46, 0x0A48, 0x0A4A, 0x0A4C, |
|
369 |
+ 0x0A4E, 0x0A50, 0x0A52, 0x0A54, 0x0A56, 0x0A58, 0x0A5A, 0x0A5C, |
|
370 |
+ 0x0A5E, 0x0A60, 0x0A62, 0x0A64, 0x0A66, 0x0A68, 0x0A6A, 0x0A6C, |
|
371 |
+ 0x0A6E, 0x0A70, 0x0A72, 0x0A74, 0x0A76, 0x0A78, 0x0A7A, 0x0A7C, |
|
372 |
+ 0x0A7E, 0x0A80, 0x0A82, 0x0A84, 0x0A86, 0x0A88, 0x0A8A, 0x0A8C, |
|
373 |
+ 0x0A8E, 0x0A90, 0x0A92, 0x0A94, 0x0A96, 0x0A98, 0x0A9A, 0x0A9C, |
|
374 |
+ 0x0A9E, 0x0AA0, 0x0AA2, 0x0AA4, 0x0AA6, 0x0AA8, 0x0AAA, 0x0AAC, |
|
375 |
+ 0x0AAE, 0x0AB0, 0x0AB2, 0x0AB4, 0x0AB6, 0x0AB8, 0x0ABA, 0x0ABC, |
|
376 |
+ 0x0ABE, 0x0AC0, 0x0AC2, 0x0AC4, 0x0AC6, 0x0AC8, 0x0ACA, 0x0ACC, |
|
377 |
+ 0x0ACE, 0x0AD0, 0x0AD2, 0x0AD4, 0x0AD6, 0x0AD8, 0x0ADA, 0x0ADC, |
|
378 |
+ 0x0ADE, 0x0AE0, 0x0AE2, 0x0AE4, 0x0AE6, 0x0AE8, 0x0AEA, 0x0AEC, |
|
379 |
+ 0x0AEE, 0x0AF0, 0x0AF2, 0x0AF4, 0x0AF6, 0x0AF8, 0x0AFA, 0x0AFC, |
|
380 |
+ 0x0AFE, 0x1800, 0x1802, 0x1804, 0x1806, 0x1808, 0x180A, 0x180C, |
|
381 |
+ 0x180E, 0x1810, 0x1812, 0x1814, 0x1816, 0x1818, 0x181A, 0x181C, |
|
382 |
+ 0x181E, 0x1820, 0x1822, 0x1824, 0x1826, 0x1828, 0x182A, 0x182C, |
|
383 |
+ 0x182E, 0x1830, 0x1832, 0x1834, 0x1836, 0x1838, 0x183A, 0x183C, |
|
384 |
+ 0x183E, 0x1840, 0x1842, 0x1844, 0x1846, 0x1848, 0x184A, 0x184C, |
|
385 |
+ 0x184E, 0x1850, 0x1852, 0x1854, 0x1856, 0x1858, 0x185A, 0x185C, |
|
386 |
+ 0x185E, 0x1860, 0x1862, 0x1864, 0x1866, 0x1868, 0x186A, 0x186C, |
|
387 |
+ 0x186E, 0x1870, 0x1872, 0x1874, 0x1876, 0x1878, 0x187A, 0x187C, |
|
388 |
+ 0x187E, 0x1880, 0x1882, 0x1884, 0x1886, 0x1888, 0x188A, 0x188C, |
|
389 |
+ 0x188E, 0x1890, 0x1892, 0x1894, 0x1896, 0x1898, 0x189A, 0x189C, |
|
390 |
+ 0x189E, 0x18A0, 0x18A2, 0x18A4, 0x18A6, 0x18A8, 0x18AA, 0x18AC, |
|
391 |
+ 0x18AE, 0x18B0, 0x18B2, 0x18B4, 0x18B6, 0x18B8, 0x18BA, 0x18BC, |
|
392 |
+ 0x18BE, 0x18C0, 0x18C2, 0x18C4, 0x18C6, 0x18C8, 0x18CA, 0x18CC, |
|
393 |
+ 0x18CE, 0x18D0, 0x18D2, 0x18D4, 0x18D6, 0x18D8, 0x18DA, 0x18DC, |
|
394 |
+ 0x18DE, 0x18E0, 0x18E2, 0x18E4, 0x18E6, 0x18E8, 0x18EA, 0x18EC, |
|
395 |
+ 0x18EE, 0x18F0, 0x18F2, 0x18F4, 0x18F6, 0x18F8, 0x18FA, 0x18FC, |
|
396 |
+ 0x18FE, 0x1600, 0x1602, 0x1604, 0x1606, 0x1608, 0x160A, 0x160C, |
|
397 |
+ 0x160E, 0x1610, 0x1612, 0x1614, 0x1616, 0x1618, 0x161A, 0x161C, |
|
398 |
+ 0x161E, 0x1620, 0x1622, 0x1624, 0x1626, 0x1628, 0x162A, 0x162C, |
|
399 |
+ 0x162E, 0x1630, 0x1632, 0x1634, 0x1636, 0x1638, 0x163A, 0x163C, |
|
400 |
+ 0x163E, 0x1640, 0x1642, 0x1644, 0x1646, 0x1648, 0x164A, 0x164C, |
|
401 |
+ 0x164E, 0x1650, 0x1652, 0x1654, 0x1656, 0x1658, 0x165A, 0x165C, |
|
402 |
+ 0x165E, 0x1660, 0x1662, 0x1664, 0x1666, 0x1668, 0x166A, 0x166C, |
|
403 |
+ 0x166E, 0x1670, 0x1672, 0x1674, 0x1676, 0x1678, 0x167A, 0x167C, |
|
404 |
+ 0x167E, 0x1680, 0x1682, 0x1684, 0x1686, 0x1688, 0x168A, 0x168C, |
|
405 |
+ 0x168E, 0x1690, 0x1692, 0x1694, 0x1696, 0x1698, 0x169A, 0x169C, |
|
406 |
+ 0x169E, 0x16A0, 0x16A2, 0x16A4, 0x16A6, 0x16A8, 0x16AA, 0x16AC, |
|
407 |
+ 0x16AE, 0x16B0, 0x16B2, 0x16B4, 0x16B6, 0x16B8, 0x16BA, 0x16BC, |
|
408 |
+ 0x16BE, 0x16C0, 0x16C2, 0x16C4, 0x16C6, 0x16C8, 0x16CA, 0x16CC, |
|
409 |
+ 0x16CE, 0x16D0, 0x16D2, 0x16D4, 0x16D6, 0x16D8, 0x16DA, 0x16DC, |
|
410 |
+ 0x16DE, 0x16E0, 0x16E2, 0x16E4, 0x16E6, 0x16E8, 0x16EA, 0x16EC, |
|
411 |
+ 0x16EE, 0x16F0, 0x16F2, 0x16F4, 0x16F6, 0x16F8, 0x16FA, 0x16FC, |
|
412 |
+ 0x16FE, 0x1700, 0x1702, 0x1704, 0x1706, 0x1708, 0x170A, 0x170C, |
|
413 |
+ 0x170E, 0x1710, 0x1712, 0x1714, 0x1716, 0x1718, 0x171A, 0x171C, |
|
414 |
+ 0x171E, 0x1720, 0x1722, 0x1724, 0x1726, 0x1728, 0x172A, 0x172C, |
|
415 |
+ 0x172E, 0x1730, 0x1732, 0x1734, 0x1736, 0x1738, 0x173A, 0x173C, |
|
416 |
+ 0x173E, 0x1740, 0x1742, 0x1744, 0x1746, 0x1748, 0x174A, 0x174C, |
|
417 |
+ 0x174E, 0x1750, 0x1752, 0x1754, 0x1756, 0x1758, 0x175A, 0x175C, |
|
418 |
+ 0x175E, 0x1760, 0x1762, 0x1764, 0x1766, 0x1768, 0x176A, 0x176C, |
|
419 |
+ 0x176E, 0x1770, 0x1772, 0x1774, 0x1776, 0x1778, 0x177A, 0x177C, |
|
420 |
+ 0x177E, 0x1780, 0x1782, 0x1784, 0x1786, 0x1788, 0x178A, 0x178C, |
|
421 |
+ 0x178E, 0x1790, 0x1792, 0x1794, 0x1796, 0x1798, 0x179A, 0x179C, |
|
422 |
+ 0x179E, 0x17A0, 0x17A2, 0x17A4, 0x17A6, 0x17A8, 0x17AA, 0x17AC, |
|
423 |
+ 0x17AE, 0x17B0, 0x17B2, 0x17B4, 0x17B6, 0x17B8, 0x17BA, 0x17BC, |
|
424 |
+ 0x17BE, 0x17C0, 0x17C2, 0x17C4, 0x17C6, 0x17C8, 0x17CA, 0x17CC, |
|
425 |
+ 0x17CE, 0x17D0, 0x17D2, 0x17D4, 0x17D6, 0x17D8, 0x17DA, 0x17DC, |
|
426 |
+ 0x17DE, 0x17E0, 0x17E2, 0x17E4, 0x17E6, 0x17E8, 0x17EA, 0x17EC, |
|
427 |
+ 0x17EE, 0x17F0, 0x17F2, 0x17F4, 0x17F6, 0x17F8, 0x17FA, 0x17FC, |
|
428 |
+ 0x17FE, 0x7600, 0x7602, 0x7604, 0x7606, 0x7608, 0x760A, 0x760C, |
|
429 |
+ 0x760E, 0x7610, 0x7612, 0x7614, 0x7616, 0x7618, 0x761A, 0x761C, |
|
430 |
+ 0x761E, 0x7620, 0x7622, 0x7624, 0x7626, 0x7628, 0x762A, 0x762C, |
|
431 |
+ 0x762E, 0x7630, 0x7632, 0x7634, 0x7636, 0x7638, 0x763A, 0x763C, |
|
432 |
+ 0x763E, 0x7640, 0x7642, 0x7644, 0x7646, 0x7648, 0x764A, 0x764C, |
|
433 |
+ 0x764E, 0x7650, 0x7652, 0x7654, 0x7656, 0x7658, 0x765A, 0x765C, |
|
434 |
+ 0x765E, 0x7660, 0x7662, 0x7664, 0x7666, 0x7668, 0x766A, 0x766C, |
|
435 |
+ 0x766E, 0x7670, 0x7672, 0x7674, 0x7676, 0x7678, 0x767A, 0x767C, |
|
436 |
+ 0x767E, 0x7680, 0x7682, 0x7684, 0x7686, 0x7688, 0x768A, 0x768C, |
|
437 |
+ 0x768E, 0x7690, 0x7692, 0x7694, 0x7696, 0x7698, 0x769A, 0x769C, |
|
438 |
+ 0x769E, 0x76A0, 0x76A2, 0x76A4, 0x76A6, 0x76A8, 0x76AA, 0x76AC, |
|
439 |
+ 0x76AE, 0x76B0, 0x76B2, 0x76B4, 0x76B6, 0x76B8, 0x76BA, 0x76BC, |
|
440 |
+ 0x76BE, 0x76C0, 0x76C2, 0x76C4, 0x76C6, 0x76C8, 0x76CA, 0x76CC, |
|
441 |
+ 0x76CE, 0x76D0, 0x76D2, 0x76D4, 0x76D6, 0x76D8, 0x76DA, 0x76DC, |
|
442 |
+ 0x76DE, 0x76E0, 0x76E2, 0x76E4, 0x76E6, 0x76E8, 0x76EA, 0x76EC, |
|
443 |
+ 0x76EE, 0x76F0, 0x76F2, 0x76F4, 0x76F6, 0x76F8, 0x76FA, 0x76FC, |
|
444 |
+ 0x76FE, 0x7700, 0x7702, 0x7704, 0x7706, 0x7708, 0x770A, 0x770C, |
|
445 |
+ 0x770E, 0x7710, 0x7712, 0x7714, 0x7716, 0x7718, 0x771A, 0x771C, |
|
446 |
+ 0x771E, 0x7720, 0x7722, 0x7724, 0x7726, 0x7728, 0x772A, 0x772C, |
|
447 |
+ 0x772E, 0x7730, 0x7732, 0x7734, 0x7736, 0x7738, 0x773A, 0x773C, |
|
448 |
+ 0x773E, 0x7740, 0x7742, 0x7744, 0x7746, 0x7748, 0x774A, 0x774C, |
|
449 |
+ 0x774E, 0x7750, 0x7752, 0x7754, 0x7756, 0x7758, 0x775A, 0x775C, |
|
450 |
+ 0x775E, 0x7760, 0x7762, 0x7764, 0x7766, 0x7768, 0x776A, 0x776C, |
|
451 |
+ 0x776E, 0x7770, 0x7772, 0x7774, 0x7776, 0x7778, 0x777A, 0x777C, |
|
452 |
+ 0x777E, 0x7780, 0x7782, 0x7784, 0x7786, 0x7788, 0x778A, 0x778C, |
|
453 |
+ 0x778E, 0x7790, 0x7792, 0x7794, 0x7796, 0x7798, 0x779A, 0x779C, |
|
454 |
+ 0x779E, 0x77A0, 0x77A2, 0x77A4, 0x77A6, 0x77A8, 0x77AA, 0x77AC, |
|
455 |
+ 0x77AE, 0x77B0, 0x77B2, 0x77B4, 0x77B6, 0x77B8, 0x77BA, 0x77BC, |
|
456 |
+ 0x77BE, 0x77C0, 0x77C2, 0x77C4, 0x77C6, 0x77C8, 0x77CA, 0x77CC, |
|
457 |
+ 0x77CE, 0x77D0, 0x77D2, 0x77D4, 0x77D6, 0x77D8, 0x77DA, 0x77DC, |
|
458 |
+ 0x77DE, 0x77E0, 0x77E2, 0x77E4, 0x77E6, 0x77E8, 0x77EA, 0x77EC, |
|
459 |
+ 0x77EE, 0x77F0, 0x77F2, 0x77F4, 0x77F6, 0x77F8, 0x77FA, 0x77FC, |
|
460 |
+ 0x3BFF, 0x77FD, 0x77FB, 0x77F9, 0x77F7, 0x77F5, 0x77F3, 0x77F1, |
|
461 |
+ 0x77EF, 0x77ED, 0x77EB, 0x77E9, 0x77E7, 0x77E5, 0x77E3, 0x77E1, |
|
462 |
+ 0x77DF, 0x77DD, 0x77DB, 0x77D9, 0x77D7, 0x77D5, 0x77D3, 0x77D1, |
|
463 |
+ 0x77CF, 0x77CD, 0x77CB, 0x77C9, 0x77C7, 0x77C5, 0x77C3, 0x77C1, |
|
464 |
+ 0x77BF, 0x77BD, 0x77BB, 0x77B9, 0x77B7, 0x77B5, 0x77B3, 0x77B1, |
|
465 |
+ 0x77AF, 0x77AD, 0x77AB, 0x77A9, 0x77A7, 0x77A5, 0x77A3, 0x77A1, |
|
466 |
+ 0x779F, 0x779D, 0x779B, 0x7799, 0x7797, 0x7795, 0x7793, 0x7791, |
|
467 |
+ 0x778F, 0x778D, 0x778B, 0x7789, 0x7787, 0x7785, 0x7783, 0x7781, |
|
468 |
+ 0x777F, 0x777D, 0x777B, 0x7779, 0x7777, 0x7775, 0x7773, 0x7771, |
|
469 |
+ 0x776F, 0x776D, 0x776B, 0x7769, 0x7767, 0x7765, 0x7763, 0x7761, |
|
470 |
+ 0x775F, 0x775D, 0x775B, 0x7759, 0x7757, 0x7755, 0x7753, 0x7751, |
|
471 |
+ 0x774F, 0x774D, 0x774B, 0x7749, 0x7747, 0x7745, 0x7743, 0x7741, |
|
472 |
+ 0x773F, 0x773D, 0x773B, 0x7739, 0x7737, 0x7735, 0x7733, 0x7731, |
|
473 |
+ 0x772F, 0x772D, 0x772B, 0x7729, 0x7727, 0x7725, 0x7723, 0x7721, |
|
474 |
+ 0x771F, 0x771D, 0x771B, 0x7719, 0x7717, 0x7715, 0x7713, 0x7711, |
|
475 |
+ 0x770F, 0x770D, 0x770B, 0x7709, 0x7707, 0x7705, 0x7703, 0x7701, |
|
476 |
+ 0x76FF, 0x76FD, 0x76FB, 0x76F9, 0x76F7, 0x76F5, 0x76F3, 0x76F1, |
|
477 |
+ 0x76EF, 0x76ED, 0x76EB, 0x76E9, 0x76E7, 0x76E5, 0x76E3, 0x76E1, |
|
478 |
+ 0x76DF, 0x76DD, 0x76DB, 0x76D9, 0x76D7, 0x76D5, 0x76D3, 0x76D1, |
|
479 |
+ 0x76CF, 0x76CD, 0x76CB, 0x76C9, 0x76C7, 0x76C5, 0x76C3, 0x76C1, |
|
480 |
+ 0x76BF, 0x76BD, 0x76BB, 0x76B9, 0x76B7, 0x76B5, 0x76B3, 0x76B1, |
|
481 |
+ 0x76AF, 0x76AD, 0x76AB, 0x76A9, 0x76A7, 0x76A5, 0x76A3, 0x76A1, |
|
482 |
+ 0x769F, 0x769D, 0x769B, 0x7699, 0x7697, 0x7695, 0x7693, 0x7691, |
|
483 |
+ 0x768F, 0x768D, 0x768B, 0x7689, 0x7687, 0x7685, 0x7683, 0x7681, |
|
484 |
+ 0x767F, 0x767D, 0x767B, 0x7679, 0x7677, 0x7675, 0x7673, 0x7671, |
|
485 |
+ 0x766F, 0x766D, 0x766B, 0x7669, 0x7667, 0x7665, 0x7663, 0x7661, |
|
486 |
+ 0x765F, 0x765D, 0x765B, 0x7659, 0x7657, 0x7655, 0x7653, 0x7651, |
|
487 |
+ 0x764F, 0x764D, 0x764B, 0x7649, 0x7647, 0x7645, 0x7643, 0x7641, |
|
488 |
+ 0x763F, 0x763D, 0x763B, 0x7639, 0x7637, 0x7635, 0x7633, 0x7631, |
|
489 |
+ 0x762F, 0x762D, 0x762B, 0x7629, 0x7627, 0x7625, 0x7623, 0x7621, |
|
490 |
+ 0x761F, 0x761D, 0x761B, 0x7619, 0x7617, 0x7615, 0x7613, 0x7611, |
|
491 |
+ 0x760F, 0x760D, 0x760B, 0x7609, 0x7607, 0x7605, 0x7603, 0x7601, |
|
492 |
+ 0x17FF, 0x17FD, 0x17FB, 0x17F9, 0x17F7, 0x17F5, 0x17F3, 0x17F1, |
|
493 |
+ 0x17EF, 0x17ED, 0x17EB, 0x17E9, 0x17E7, 0x17E5, 0x17E3, 0x17E1, |
|
494 |
+ 0x17DF, 0x17DD, 0x17DB, 0x17D9, 0x17D7, 0x17D5, 0x17D3, 0x17D1, |
|
495 |
+ 0x17CF, 0x17CD, 0x17CB, 0x17C9, 0x17C7, 0x17C5, 0x17C3, 0x17C1, |
|
496 |
+ 0x17BF, 0x17BD, 0x17BB, 0x17B9, 0x17B7, 0x17B5, 0x17B3, 0x17B1, |
|
497 |
+ 0x17AF, 0x17AD, 0x17AB, 0x17A9, 0x17A7, 0x17A5, 0x17A3, 0x17A1, |
|
498 |
+ 0x179F, 0x179D, 0x179B, 0x1799, 0x1797, 0x1795, 0x1793, 0x1791, |
|
499 |
+ 0x178F, 0x178D, 0x178B, 0x1789, 0x1787, 0x1785, 0x1783, 0x1781, |
|
500 |
+ 0x177F, 0x177D, 0x177B, 0x1779, 0x1777, 0x1775, 0x1773, 0x1771, |
|
501 |
+ 0x176F, 0x176D, 0x176B, 0x1769, 0x1767, 0x1765, 0x1763, 0x1761, |
|
502 |
+ 0x175F, 0x175D, 0x175B, 0x1759, 0x1757, 0x1755, 0x1753, 0x1751, |
|
503 |
+ 0x174F, 0x174D, 0x174B, 0x1749, 0x1747, 0x1745, 0x1743, 0x1741, |
|
504 |
+ 0x173F, 0x173D, 0x173B, 0x1739, 0x1737, 0x1735, 0x1733, 0x1731, |
|
505 |
+ 0x172F, 0x172D, 0x172B, 0x1729, 0x1727, 0x1725, 0x1723, 0x1721, |
|
506 |
+ 0x171F, 0x171D, 0x171B, 0x1719, 0x1717, 0x1715, 0x1713, 0x1711, |
|
507 |
+ 0x170F, 0x170D, 0x170B, 0x1709, 0x1707, 0x1705, 0x1703, 0x1701, |
|
508 |
+ 0x16FF, 0x16FD, 0x16FB, 0x16F9, 0x16F7, 0x16F5, 0x16F3, 0x16F1, |
|
509 |
+ 0x16EF, 0x16ED, 0x16EB, 0x16E9, 0x16E7, 0x16E5, 0x16E3, 0x16E1, |
|
510 |
+ 0x16DF, 0x16DD, 0x16DB, 0x16D9, 0x16D7, 0x16D5, 0x16D3, 0x16D1, |
|
511 |
+ 0x16CF, 0x16CD, 0x16CB, 0x16C9, 0x16C7, 0x16C5, 0x16C3, 0x16C1, |
|
512 |
+ 0x16BF, 0x16BD, 0x16BB, 0x16B9, 0x16B7, 0x16B5, 0x16B3, 0x16B1, |
|
513 |
+ 0x16AF, 0x16AD, 0x16AB, 0x16A9, 0x16A7, 0x16A5, 0x16A3, 0x16A1, |
|
514 |
+ 0x169F, 0x169D, 0x169B, 0x1699, 0x1697, 0x1695, 0x1693, 0x1691, |
|
515 |
+ 0x168F, 0x168D, 0x168B, 0x1689, 0x1687, 0x1685, 0x1683, 0x1681, |
|
516 |
+ 0x167F, 0x167D, 0x167B, 0x1679, 0x1677, 0x1675, 0x1673, 0x1671, |
|
517 |
+ 0x166F, 0x166D, 0x166B, 0x1669, 0x1667, 0x1665, 0x1663, 0x1661, |
|
518 |
+ 0x165F, 0x165D, 0x165B, 0x1659, 0x1657, 0x1655, 0x1653, 0x1651, |
|
519 |
+ 0x164F, 0x164D, 0x164B, 0x1649, 0x1647, 0x1645, 0x1643, 0x1641, |
|
520 |
+ 0x163F, 0x163D, 0x163B, 0x1639, 0x1637, 0x1635, 0x1633, 0x1631, |
|
521 |
+ 0x162F, 0x162D, 0x162B, 0x1629, 0x1627, 0x1625, 0x1623, 0x1621, |
|
522 |
+ 0x161F, 0x161D, 0x161B, 0x1619, 0x1617, 0x1615, 0x1613, 0x1611, |
|
523 |
+ 0x160F, 0x160D, 0x160B, 0x1609, 0x1607, 0x1605, 0x1603, 0x1601, |
|
524 |
+ 0x18FF, 0x18FD, 0x18FB, 0x18F9, 0x18F7, 0x18F5, 0x18F3, 0x18F1, |
|
525 |
+ 0x18EF, 0x18ED, 0x18EB, 0x18E9, 0x18E7, 0x18E5, 0x18E3, 0x18E1, |
|
526 |
+ 0x18DF, 0x18DD, 0x18DB, 0x18D9, 0x18D7, 0x18D5, 0x18D3, 0x18D1, |
|
527 |
+ 0x18CF, 0x18CD, 0x18CB, 0x18C9, 0x18C7, 0x18C5, 0x18C3, 0x18C1, |
|
528 |
+ 0x18BF, 0x18BD, 0x18BB, 0x18B9, 0x18B7, 0x18B5, 0x18B3, 0x18B1, |
|
529 |
+ 0x18AF, 0x18AD, 0x18AB, 0x18A9, 0x18A7, 0x18A5, 0x18A3, 0x18A1, |
|
530 |
+ 0x189F, 0x189D, 0x189B, 0x1899, 0x1897, 0x1895, 0x1893, 0x1891, |
|
531 |
+ 0x188F, 0x188D, 0x188B, 0x1889, 0x1887, 0x1885, 0x1883, 0x1881, |
|
532 |
+ 0x187F, 0x187D, 0x187B, 0x1879, 0x1877, 0x1875, 0x1873, 0x1871, |
|
533 |
+ 0x186F, 0x186D, 0x186B, 0x1869, 0x1867, 0x1865, 0x1863, 0x1861, |
|
534 |
+ 0x185F, 0x185D, 0x185B, 0x1859, 0x1857, 0x1855, 0x1853, 0x1851, |
|
535 |
+ 0x184F, 0x184D, 0x184B, 0x1849, 0x1847, 0x1845, 0x1843, 0x1841, |
|
536 |
+ 0x183F, 0x183D, 0x183B, 0x1839, 0x1837, 0x1835, 0x1833, 0x1831, |
|
537 |
+ 0x182F, 0x182D, 0x182B, 0x1829, 0x1827, 0x1825, 0x1823, 0x1821, |
|
538 |
+ 0x181F, 0x181D, 0x181B, 0x1819, 0x1817, 0x1815, 0x1813, 0x1811, |
|
539 |
+ 0x180F, 0x180D, 0x180B, 0x1809, 0x1807, 0x1805, 0x1803, 0x1801, |
|
540 |
+ 0x0AFF, 0x0AFD, 0x0AFB, 0x0AF9, 0x0AF7, 0x0AF5, 0x0AF3, 0x0AF1, |
|
541 |
+ 0x0AEF, 0x0AED, 0x0AEB, 0x0AE9, 0x0AE7, 0x0AE5, 0x0AE3, 0x0AE1, |
|
542 |
+ 0x0ADF, 0x0ADD, 0x0ADB, 0x0AD9, 0x0AD7, 0x0AD5, 0x0AD3, 0x0AD1, |
|
543 |
+ 0x0ACF, 0x0ACD, 0x0ACB, 0x0AC9, 0x0AC7, 0x0AC5, 0x0AC3, 0x0AC1, |
|
544 |
+ 0x0ABF, 0x0ABD, 0x0ABB, 0x0AB9, 0x0AB7, 0x0AB5, 0x0AB3, 0x0AB1, |
|
545 |
+ 0x0AAF, 0x0AAD, 0x0AAB, 0x0AA9, 0x0AA7, 0x0AA5, 0x0AA3, 0x0AA1, |
|
546 |
+ 0x0A9F, 0x0A9D, 0x0A9B, 0x0A99, 0x0A97, 0x0A95, 0x0A93, 0x0A91, |
|
547 |
+ 0x0A8F, 0x0A8D, 0x0A8B, 0x0A89, 0x0A87, 0x0A85, 0x0A83, 0x0A81, |
|
548 |
+ 0x0A7F, 0x0A7D, 0x0A7B, 0x0A79, 0x0A77, 0x0A75, 0x0A73, 0x0A71, |
|
549 |
+ 0x0A6F, 0x0A6D, 0x0A6B, 0x0A69, 0x0A67, 0x0A65, 0x0A63, 0x0A61, |
|
550 |
+ 0x0A5F, 0x0A5D, 0x0A5B, 0x0A59, 0x0A57, 0x0A55, 0x0A53, 0x0A51, |
|
551 |
+ 0x0A4F, 0x0A4D, 0x0A4B, 0x0A49, 0x0A47, 0x0A45, 0x0A43, 0x0A41, |
|
552 |
+ 0x0A3F, 0x0A3D, 0x0A3B, 0x0A39, 0x0A37, 0x0A35, 0x0A33, 0x0A31, |
|
553 |
+ 0x0A2F, 0x0A2D, 0x0A2B, 0x0A29, 0x0A27, 0x0A25, 0x0A23, 0x0A21, |
|
554 |
+ 0x0A1F, 0x0A1D, 0x0A1B, 0x0A19, 0x0A17, 0x0A15, 0x0A13, 0x0A11, |
|
555 |
+ 0x0A0F, 0x0A0D, 0x0A0B, 0x0A09, 0x0A07, 0x0A05, 0x0A03, 0x0A01, |
|
556 |
+ 0x04FF, 0x04FD, 0x04FB, 0x04F9, 0x04F7, 0x04F5, 0x04F3, 0x04F1, |
|
557 |
+ 0x04EF, 0x04ED, 0x04EB, 0x04E9, 0x04E7, 0x04E5, 0x04E3, 0x04E1, |
|
558 |
+ 0x04DF, 0x04DD, 0x04DB, 0x04D9, 0x04D7, 0x04D5, 0x04D3, 0x04D1, |
|
559 |
+ 0x04CF, 0x04CD, 0x04CB, 0x04C9, 0x04C7, 0x04C5, 0x04C3, 0x04C1, |
|
560 |
+ 0x04BF, 0x04BD, 0x04BB, 0x04B9, 0x04B7, 0x04B5, 0x04B3, 0x04B1, |
|
561 |
+ 0x04AF, 0x04AD, 0x04AB, 0x04A9, 0x04A7, 0x04A5, 0x04A3, 0x04A1, |
|
562 |
+ 0x049F, 0x049D, 0x049B, 0x0499, 0x0497, 0x0495, 0x0493, 0x0491, |
|
563 |
+ 0x048F, 0x048D, 0x048B, 0x0489, 0x0487, 0x0485, 0x0483, 0x0481, |
|
564 |
+ 0x00FF, 0x00FD, 0x00FB, 0x00F9, 0x00F7, 0x00F5, 0x00F3, 0x00F1, |
|
565 |
+ 0x00EF, 0x00ED, 0x00EB, 0x00E9, 0x00E7, 0x00E5, 0x00E3, 0x00E1, |
|
566 |
+ 0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1, |
|
567 |
+ 0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1, |
|
568 |
+ 0x00BF, 0x00BD, 0x00BB, 0x00B9, 0x00B7, 0x00B5, 0x00B3, 0x00B1, |
|
569 |
+ 0x00AF, 0x00AD, 0x00AB, 0x00A9, 0x00A7, 0x00A5, 0x00A3, 0x00A1, |
|
570 |
+ 0x009F, 0x009D, 0x009B, 0x0099, 0x0097, 0x0095, 0x0093, 0x0091, |
|
571 |
+ 0x008F, 0x008D, 0x008B, 0x0089, 0x0087, 0x0085, 0x0083, 0x0081, |
|
572 |
+ 0x023F, 0x023D, 0x023B, 0x0239, 0x0237, 0x0235, 0x0233, 0x0231, |
|
573 |
+ 0x022F, 0x022D, 0x022B, 0x0229, 0x0227, 0x0225, 0x0223, 0x0221, |
|
574 |
+ 0x021F, 0x021D, 0x021B, 0x0219, 0x0217, 0x0215, 0x0213, 0x0211, |
|
575 |
+ 0x020F, 0x020D, 0x020B, 0x0209, 0x0207, 0x0205, 0x0203, 0x0201, |
|
576 |
+ 0x003F, 0x003D, 0x003B, 0x0039, 0x0037, 0x0035, 0x0033, 0x0031, |
|
577 |
+ 0x002F, 0x002D, 0x002B, 0x0029, 0x0027, 0x0025, 0x0023, 0x0021, |
|
578 |
+ 0x001F, 0x001D, 0x001B, 0x0019, 0x0017, 0x0015, 0x0013, 0x0011, |
|
579 |
+ 0x000F, 0x000D, 0x000B, 0x0009, 0x0007, 0x0005, 0x0003, 0x0001, |
|
580 |
+ 0x00FF, 0x00FD, 0x00FB, 0x00F9, 0x00F7, 0x00F5, 0x00F3, 0x00F1, |
|
581 |
+ 0x00EF, 0x00ED, 0x00EB, 0x00E9, 0x00E7, 0x00E5, 0x00E3, 0x00E1, |
|
582 |
+ 0x00DF, 0x00DD, 0x00DB, 0x00D9, 0x00D7, 0x00D5, 0x00D3, 0x00D1, |
|
583 |
+ 0x00CF, 0x00CD, 0x00CB, 0x00C9, 0x00C7, 0x00C5, 0x00C3, 0x00C1, |
|
584 |
+ 0x005F, 0x005D, 0x005B, 0x0059, 0x0057, 0x0055, 0x0053, 0x0051, |
|
585 |
+ 0x004F, 0x004D, 0x004B, 0x0049, 0x0047, 0x0045, 0x0043, 0x0041, |
|
586 |
+ 0x00FF, 0x00FD, 0x00FB, 0x00F9, 0x00F7, 0x00F5, 0x00F3, 0x00F1, |
|
587 |
+ 0x0075, 0x0073, 0x0071, 0x006F, 0x006D, 0x006B, 0x0069, 0x0067, |
|
588 |
+}; |
|
589 |
+ |
|
590 |
+static const uint8_t dc11_vlc_lens[2048] = { |
|
591 |
+ 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, |
|
592 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
593 |
+ 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
594 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
595 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
596 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
597 |
+ 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
598 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
599 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
600 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
601 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
602 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
603 |
+ 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
604 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
605 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
606 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
607 |
+ 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
608 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
609 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
610 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
611 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
612 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
613 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
614 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
615 |
+ 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
616 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
617 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
618 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
619 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
620 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
621 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
622 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
623 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
624 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
625 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
626 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
627 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
628 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
629 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
630 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
631 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
632 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
633 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
634 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
635 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
636 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
637 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
638 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
639 |
+ 13, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
640 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
641 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
642 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
643 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
644 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
645 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
646 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
647 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
648 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
649 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
650 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
651 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
652 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
653 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
654 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
655 |
+ 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
656 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
657 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
658 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
659 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
660 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
661 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
662 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
663 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
664 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
665 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
666 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
667 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
668 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
669 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
670 |
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
671 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
672 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
673 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
674 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
675 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
676 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
677 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
678 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
679 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
680 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
681 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
682 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
683 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
684 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
685 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
686 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
687 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
688 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
689 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
690 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
691 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
692 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
693 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
694 |
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
695 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
696 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
697 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
698 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
699 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
700 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
701 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
702 |
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
703 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
704 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
705 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
706 |
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
707 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
708 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
709 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
710 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
711 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
712 |
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
713 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
714 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
715 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
716 |
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
717 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
718 |
+ 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, |
|
719 |
+}; |
|
720 |
+ |
|
721 |
+#define RPT_2(a, b, c) { a, b, c }, { a, b, c } |
|
722 |
+#define RPT_4(a, b, c) RPT_2( a, b, c), RPT_2( a, b, c) |
|
723 |
+#define RPT_8(a, b, c) RPT_4( a, b, c), RPT_4( a, b, c) |
|
724 |
+#define RPT_16(a, b, c) RPT_8( a, b, c), RPT_8( a, b, c) |
|
725 |
+#define RPT_32(a, b, c) RPT_16( a, b, c), RPT_16( a, b, c) |
|
726 |
+#define RPT_64(a, b, c) RPT_32( a, b, c), RPT_32( a, b, c) |
|
727 |
+#define RPT_128(a, b, c) RPT_64( a, b, c), RPT_64( a, b, c) |
|
728 |
+#define RPT_256(a, b, c) RPT_128(a, b, c), RPT_128(a, b, c) |
|
729 |
+#define RPT_512(a, b, c) RPT_256(a, b, c), RPT_256(a, b, c) |
|
730 |
+#define RPT_1024(a, b, c) RPT_512(a, b, c), RPT_512(a, b, c) |
|
731 |
+ |
|
732 |
+static const HQXLUT ac0_lut[] = { |
|
733 |
+ RPT_64 ( 1, 0, 4 ), RPT_64 ( -1, 0, 4 ), |
|
734 |
+ RPT_64 ( 2, 0, 4 ), RPT_64 ( -2, 0, 4 ), |
|
735 |
+ RPT_32 ( 3, 0, 5 ), RPT_32 ( -3, 0, 5 ), |
|
736 |
+ RPT_32 ( 4, 0, 5 ), RPT_32 ( -4, 0, 5 ), |
|
737 |
+ RPT_32 ( 1, 1, 5 ), RPT_32 ( -1, 1, 5 ), |
|
738 |
+ RPT_16 ( 5, 0, 6 ), RPT_16 ( -5, 0, 6 ), |
|
739 |
+ RPT_16 ( 6, 0, 6 ), RPT_16 ( -6, 0, 6 ), |
|
740 |
+ RPT_16 ( 7, 0, 6 ), RPT_16 ( -7, 0, 6 ), |
|
741 |
+ RPT_16 ( 8, 0, 6 ), RPT_16 ( -8, 0, 6 ), |
|
742 |
+ { 1024, 0, -1 }, { 1056, 0, -1 }, { 1088, 0, -1 }, { 1120, 0, -1 }, |
|
743 |
+ { 1152, 0, -1 }, { 1184, 0, -1 }, { 1216, 0, -1 }, { 1248, 0, -1 }, |
|
744 |
+ { 1280, 0, -1 }, { 1312, 0, -1 }, { 1344, 0, -1 }, { 1376, 0, -1 }, |
|
745 |
+ { 1408, 0, -1 }, { 1440, 0, -1 }, { 1472, 0, -1 }, { 1504, 0, -1 }, |
|
746 |
+ { 1536, 0, -1 }, { 1568, 0, -1 }, { 1600, 0, -1 }, { 1632, 0, -1 }, |
|
747 |
+ { 1664, 0, -1 }, { 1696, 0, -1 }, { 1728, 0, -1 }, { 1760, 0, -1 }, |
|
748 |
+ { 1792, 0, -1 }, { 1824, 0, -1 }, { 1856, 0, -1 }, { 1888, 0, -1 }, |
|
749 |
+ { 1920, 0, -1 }, { 1952, 0, -1 }, { 1984, 0, -1 }, { 2016, 0, -1 }, |
|
750 |
+ RPT_32 ( 0, 64, 5 ), RPT_8 ( 9, 0, 7 ), |
|
751 |
+ RPT_8 ( -9, 0, 7 ), RPT_8 ( 10, 0, 7 ), |
|
752 |
+ RPT_8 ( -10, 0, 7 ), RPT_8 ( 11, 0, 7 ), |
|
753 |
+ RPT_8 ( -11, 0, 7 ), RPT_8 ( 12, 0, 7 ), |
|
754 |
+ RPT_8 ( -12, 0, 7 ), RPT_8 ( 13, 0, 7 ), |
|
755 |
+ RPT_8 ( -13, 0, 7 ), RPT_8 ( 14, 0, 7 ), |
|
756 |
+ RPT_8 ( -14, 0, 7 ), RPT_8 ( 2, 1, 7 ), |
|
757 |
+ RPT_8 ( -2, 1, 7 ), RPT_8 ( 1, 2, 7 ), |
|
758 |
+ RPT_8 ( -1, 2, 7 ), RPT_4 ( 15, 0, 8 ), |
|
759 |
+ RPT_4 ( -15, 0, 8 ), RPT_4 ( 16, 0, 8 ), |
|
760 |
+ RPT_4 ( -16, 0, 8 ), RPT_4 ( 17, 0, 8 ), |
|
761 |
+ RPT_4 ( -17, 0, 8 ), RPT_4 ( 18, 0, 8 ), |
|
762 |
+ RPT_4 ( -18, 0, 8 ), RPT_4 ( 19, 0, 8 ), |
|
763 |
+ RPT_4 ( -19, 0, 8 ), RPT_4 ( 20, 0, 8 ), |
|
764 |
+ RPT_4 ( -20, 0, 8 ), RPT_4 ( 21, 0, 8 ), |
|
765 |
+ RPT_4 ( -21, 0, 8 ), RPT_4 ( 3, 1, 8 ), |
|
766 |
+ RPT_4 ( -3, 1, 8 ), RPT_4 ( 4, 1, 8 ), |
|
767 |
+ RPT_4 ( -4, 1, 8 ), RPT_4 ( 1, 3, 8 ), |
|
768 |
+ RPT_4 ( -1, 3, 8 ), RPT_4 ( 1, 4, 8 ), |
|
769 |
+ RPT_4 ( -1, 4, 8 ), RPT_4 ( 0, 0, 8 ), |
|
770 |
+ RPT_2 ( 22, 0, 9 ), RPT_2 ( -22, 0, 9 ), |
|
771 |
+ RPT_2 ( 23, 0, 9 ), RPT_2 ( -23, 0, 9 ), |
|
772 |
+ RPT_2 ( 24, 0, 9 ), RPT_2 ( -24, 0, 9 ), |
|
773 |
+ RPT_2 ( 25, 0, 9 ), RPT_2 ( -25, 0, 9 ), |
|
774 |
+ RPT_2 ( 26, 0, 9 ), RPT_2 ( -26, 0, 9 ), |
|
775 |
+ RPT_2 ( 27, 0, 9 ), RPT_2 ( -27, 0, 9 ), |
|
776 |
+ RPT_2 ( 28, 0, 9 ), RPT_2 ( -28, 0, 9 ), |
|
777 |
+ RPT_2 ( 29, 0, 9 ), RPT_2 ( -29, 0, 9 ), |
|
778 |
+ RPT_2 ( 30, 0, 9 ), RPT_2 ( -30, 0, 9 ), |
|
779 |
+ RPT_2 ( 31, 0, 9 ), RPT_2 ( -31, 0, 9 ), |
|
780 |
+ RPT_2 ( 32, 0, 9 ), RPT_2 ( -32, 0, 9 ), |
|
781 |
+ RPT_2 ( 33, 0, 9 ), RPT_2 ( -33, 0, 9 ), |
|
782 |
+ RPT_2 ( 5, 1, 9 ), RPT_2 ( -5, 1, 9 ), |
|
783 |
+ RPT_2 ( 6, 1, 9 ), RPT_2 ( -6, 1, 9 ), |
|
784 |
+ RPT_2 ( 2, 2, 9 ), RPT_2 ( -2, 2, 9 ), |
|
785 |
+ RPT_2 ( 1, 5, 9 ), RPT_2 ( -1, 5, 9 ), |
|
786 |
+ RPT_2 ( 1, 6, 9 ), RPT_2 ( -1, 6, 9 ), |
|
787 |
+ { 34, 0, 10 }, { -34, 0, 10 }, { 35, 0, 10 }, { -35, 0, 10 }, |
|
788 |
+ { 36, 0, 10 }, { -36, 0, 10 }, { 37, 0, 10 }, { -37, 0, 10 }, |
|
789 |
+ { 38, 0, 10 }, { -38, 0, 10 }, { 39, 0, 10 }, { -39, 0, 10 }, |
|
790 |
+ { 40, 0, 10 }, { -40, 0, 10 }, { 41, 0, 10 }, { -41, 0, 10 }, |
|
791 |
+ { 42, 0, 10 }, { -42, 0, 10 }, { 43, 0, 10 }, { -43, 0, 10 }, |
|
792 |
+ { 44, 0, 10 }, { -44, 0, 10 }, { 45, 0, 10 }, { -45, 0, 10 }, |
|
793 |
+ { 46, 0, 10 }, { -46, 0, 10 }, { 47, 0, 10 }, { -47, 0, 10 }, |
|
794 |
+ { 48, 0, 10 }, { -48, 0, 10 }, { 49, 0, 10 }, { -49, 0, 10 }, |
|
795 |
+ { 50, 0, 10 }, { -50, 0, 10 }, RPT_2 ( 0, 1, 9 ), |
|
796 |
+ { 7, 1, 10 }, { -7, 1, 10 }, { 8, 1, 10 }, { -8, 1, 10 }, |
|
797 |
+ { 9, 1, 10 }, { -9, 1, 10 }, { 10, 1, 10 }, { -10, 1, 10 }, |
|
798 |
+ RPT_2 ( 0, 2, 9 ), { 3, 2, 10 }, { -3, 2, 10 }, |
|
799 |
+ RPT_2 ( 0, 3, 9 ), { 2, 3, 10 }, { -2, 3, 10 }, |
|
800 |
+ { 1, 7, 10 }, { -1, 7, 10 }, { 1, 8, 10 }, { -1, 8, 10 }, |
|
801 |
+ { 2048, 0, -1 }, { 2080, 0, -1 }, { 2112, 0, -1 }, { 2144, 0, -1 }, |
|
802 |
+ { 2176, 0, -1 }, { 2208, 0, -1 }, { 2240, 0, -1 }, { 2272, 0, -1 }, |
|
803 |
+ { 2304, 0, -1 }, { 2336, 0, -1 }, { 2368, 0, -1 }, { 2400, 0, -1 }, |
|
804 |
+ { 2432, 0, -1 }, { 2464, 0, -1 }, { 2496, 0, -1 }, { 2528, 0, -1 }, |
|
805 |
+ { 2560, 0, -1 }, { 2592, 0, -1 }, { 2624, 0, -1 }, { 2656, 0, -1 }, |
|
806 |
+ { 2688, 0, -1 }, { 2720, 0, -1 }, { 2752, 0, -1 }, { 0, 4, 10 }, |
|
807 |
+ { 2784, 0, -1 }, { 0, 5, 10 }, { 0, 6, 10 }, { 2816, 0, -1 }, |
|
808 |
+ { 2848, 0, -1 }, { 2880, 0, -1 }, { 2912, 0, -1 }, { 2944, 0, -1 }, |
|
809 |
+ { 2976, 0, -1 }, { 3008, 0, -1 }, { 3040, 0, -1 }, { 3072, 0, -1 }, |
|
810 |
+ { 3104, 0, -1 }, { 3136, 0, -1 }, { 3168, 0, -1 }, { 3200, 0, -1 }, |
|
811 |
+ RPT_4 ( 0, 0, 13 ), RPT_2 ( 1, 0, 14 ), |
|
812 |
+ RPT_2 ( -1, 0, 14 ), RPT_2 ( 2, 0, 14 ), |
|
813 |
+ RPT_2 ( -2, 0, 14 ), RPT_2 ( 3, 0, 14 ), |
|
814 |
+ RPT_2 ( -3, 0, 14 ), RPT_2 ( 4, 0, 14 ), |
|
815 |
+ RPT_2 ( -4, 0, 14 ), RPT_2 ( 5, 0, 14 ), |
|
816 |
+ RPT_2 ( -5, 0, 14 ), RPT_2 ( 6, 0, 14 ), |
|
817 |
+ RPT_2 ( -6, 0, 14 ), RPT_2 ( 7, 0, 14 ), |
|
818 |
+ RPT_2 ( -7, 0, 14 ), RPT_2 ( 8, 0, 14 ), |
|
819 |
+ RPT_2 ( -8, 0, 14 ), RPT_2 ( 9, 0, 14 ), |
|
820 |
+ RPT_2 ( -9, 0, 14 ), RPT_2 ( 10, 0, 14 ), |
|
821 |
+ RPT_2 ( -10, 0, 14 ), RPT_2 ( 11, 0, 14 ), |
|
822 |
+ RPT_2 ( -11, 0, 14 ), RPT_2 ( 12, 0, 14 ), |
|
823 |
+ RPT_2 ( -12, 0, 14 ), RPT_2 ( 13, 0, 14 ), |
|
824 |
+ RPT_2 ( -13, 0, 14 ), RPT_2 ( 14, 0, 14 ), |
|
825 |
+ RPT_2 ( -14, 0, 14 ), RPT_2 ( 15, 0, 14 ), |
|
826 |
+ RPT_2 ( -15, 0, 14 ), RPT_2 ( 16, 0, 14 ), |
|
827 |
+ RPT_2 ( -16, 0, 14 ), RPT_2 ( 17, 0, 14 ), |
|
828 |
+ RPT_2 ( -17, 0, 14 ), RPT_2 ( 18, 0, 14 ), |
|
829 |
+ RPT_2 ( -18, 0, 14 ), RPT_2 ( 19, 0, 14 ), |
|
830 |
+ RPT_2 ( -19, 0, 14 ), RPT_2 ( 20, 0, 14 ), |
|
831 |
+ RPT_2 ( -20, 0, 14 ), RPT_2 ( 21, 0, 14 ), |
|
832 |
+ RPT_2 ( -21, 0, 14 ), RPT_2 ( 22, 0, 14 ), |
|
833 |
+ RPT_2 ( -22, 0, 14 ), RPT_2 ( 23, 0, 14 ), |
|
834 |
+ RPT_2 ( -23, 0, 14 ), RPT_2 ( 24, 0, 14 ), |
|
835 |
+ RPT_2 ( -24, 0, 14 ), RPT_2 ( 25, 0, 14 ), |
|
836 |
+ RPT_2 ( -25, 0, 14 ), RPT_2 ( 26, 0, 14 ), |
|
837 |
+ RPT_2 ( -26, 0, 14 ), RPT_2 ( 27, 0, 14 ), |
|
838 |
+ RPT_2 ( -27, 0, 14 ), RPT_2 ( 28, 0, 14 ), |
|
839 |
+ RPT_2 ( -28, 0, 14 ), RPT_2 ( 29, 0, 14 ), |
|
840 |
+ RPT_2 ( -29, 0, 14 ), RPT_2 ( 30, 0, 14 ), |
|
841 |
+ RPT_2 ( -30, 0, 14 ), RPT_2 ( 31, 0, 14 ), |
|
842 |
+ RPT_2 ( -31, 0, 14 ), RPT_2 ( 32, 0, 14 ), |
|
843 |
+ RPT_2 ( -32, 0, 14 ), RPT_2 ( 33, 0, 14 ), |
|
844 |
+ RPT_2 ( -33, 0, 14 ), RPT_2 ( 34, 0, 14 ), |
|
845 |
+ RPT_2 ( -34, 0, 14 ), RPT_2 ( 35, 0, 14 ), |
|
846 |
+ RPT_2 ( -35, 0, 14 ), RPT_2 ( 36, 0, 14 ), |
|
847 |
+ RPT_2 ( -36, 0, 14 ), RPT_2 ( 37, 0, 14 ), |
|
848 |
+ RPT_2 ( -37, 0, 14 ), RPT_2 ( 38, 0, 14 ), |
|
849 |
+ RPT_2 ( -38, 0, 14 ), RPT_2 ( 39, 0, 14 ), |
|
850 |
+ RPT_2 ( -39, 0, 14 ), RPT_2 ( 40, 0, 14 ), |
|
851 |
+ RPT_2 ( -40, 0, 14 ), RPT_2 ( 41, 0, 14 ), |
|
852 |
+ RPT_2 ( -41, 0, 14 ), RPT_2 ( 42, 0, 14 ), |
|
853 |
+ RPT_2 ( -42, 0, 14 ), RPT_2 ( 43, 0, 14 ), |
|
854 |
+ RPT_2 ( -43, 0, 14 ), RPT_2 ( 44, 0, 14 ), |
|
855 |
+ RPT_2 ( -44, 0, 14 ), RPT_2 ( 45, 0, 14 ), |
|
856 |
+ RPT_2 ( -45, 0, 14 ), RPT_2 ( 46, 0, 14 ), |
|
857 |
+ RPT_2 ( -46, 0, 14 ), RPT_2 ( 47, 0, 14 ), |
|
858 |
+ RPT_2 ( -47, 0, 14 ), RPT_2 ( 48, 0, 14 ), |
|
859 |
+ RPT_2 ( -48, 0, 14 ), RPT_2 ( 49, 0, 14 ), |
|
860 |
+ RPT_2 ( -49, 0, 14 ), RPT_2 ( 50, 0, 14 ), |
|
861 |
+ RPT_2 ( -50, 0, 14 ), RPT_2 ( 51, 0, 14 ), |
|
862 |
+ RPT_2 ( -51, 0, 14 ), RPT_2 ( 52, 0, 14 ), |
|
863 |
+ RPT_2 ( -52, 0, 14 ), RPT_2 ( 53, 0, 14 ), |
|
864 |
+ RPT_2 ( -53, 0, 14 ), RPT_2 ( 54, 0, 14 ), |
|
865 |
+ RPT_2 ( -54, 0, 14 ), RPT_2 ( 55, 0, 14 ), |
|
866 |
+ RPT_2 ( -55, 0, 14 ), RPT_2 ( 56, 0, 14 ), |
|
867 |
+ RPT_2 ( -56, 0, 14 ), RPT_2 ( 57, 0, 14 ), |
|
868 |
+ RPT_2 ( -57, 0, 14 ), RPT_2 ( 58, 0, 14 ), |
|
869 |
+ RPT_2 ( -58, 0, 14 ), RPT_2 ( 59, 0, 14 ), |
|
870 |
+ RPT_2 ( -59, 0, 14 ), RPT_2 ( 60, 0, 14 ), |
|
871 |
+ RPT_2 ( -60, 0, 14 ), RPT_2 ( 61, 0, 14 ), |
|
872 |
+ RPT_2 ( -61, 0, 14 ), RPT_2 ( 62, 0, 14 ), |
|
873 |
+ RPT_2 ( -62, 0, 14 ), RPT_2 ( 63, 0, 14 ), |
|
874 |
+ RPT_2 ( -63, 0, 14 ), RPT_2 ( 64, 0, 14 ), |
|
875 |
+ RPT_2 ( -64, 0, 14 ), RPT_2 ( 65, 0, 14 ), |
|
876 |
+ RPT_2 ( -65, 0, 14 ), RPT_2 ( 66, 0, 14 ), |
|
877 |
+ RPT_2 ( -66, 0, 14 ), RPT_2 ( 67, 0, 14 ), |
|
878 |
+ RPT_2 ( -67, 0, 14 ), RPT_2 ( 68, 0, 14 ), |
|
879 |
+ RPT_2 ( -68, 0, 14 ), RPT_2 ( 69, 0, 14 ), |
|
880 |
+ RPT_2 ( -69, 0, 14 ), RPT_2 ( 70, 0, 14 ), |
|
881 |
+ RPT_2 ( -70, 0, 14 ), RPT_2 ( 71, 0, 14 ), |
|
882 |
+ RPT_2 ( -71, 0, 14 ), RPT_2 ( 72, 0, 14 ), |
|
883 |
+ RPT_2 ( -72, 0, 14 ), RPT_2 ( 73, 0, 14 ), |
|
884 |
+ RPT_2 ( -73, 0, 14 ), RPT_2 ( 74, 0, 14 ), |
|
885 |
+ RPT_2 ( -74, 0, 14 ), RPT_2 ( 75, 0, 14 ), |
|
886 |
+ RPT_2 ( -75, 0, 14 ), RPT_2 ( 76, 0, 14 ), |
|
887 |
+ RPT_2 ( -76, 0, 14 ), RPT_2 ( 77, 0, 14 ), |
|
888 |
+ RPT_2 ( -77, 0, 14 ), RPT_2 ( 78, 0, 14 ), |
|
889 |
+ RPT_2 ( -78, 0, 14 ), RPT_2 ( 79, 0, 14 ), |
|
890 |
+ RPT_2 ( -79, 0, 14 ), RPT_2 ( 80, 0, 14 ), |
|
891 |
+ RPT_2 ( -80, 0, 14 ), RPT_2 ( 81, 0, 14 ), |
|
892 |
+ RPT_2 ( -81, 0, 14 ), RPT_2 ( 82, 0, 14 ), |
|
893 |
+ RPT_2 ( -82, 0, 14 ), RPT_2 ( 83, 0, 14 ), |
|
894 |
+ RPT_2 ( -83, 0, 14 ), RPT_2 ( 84, 0, 14 ), |
|
895 |
+ RPT_2 ( -84, 0, 14 ), RPT_2 ( 85, 0, 14 ), |
|
896 |
+ RPT_2 ( -85, 0, 14 ), RPT_2 ( 86, 0, 14 ), |
|
897 |
+ RPT_2 ( -86, 0, 14 ), RPT_2 ( 87, 0, 14 ), |
|
898 |
+ RPT_2 ( -87, 0, 14 ), RPT_2 ( 88, 0, 14 ), |
|
899 |
+ RPT_2 ( -88, 0, 14 ), RPT_2 ( 89, 0, 14 ), |
|
900 |
+ RPT_2 ( -89, 0, 14 ), RPT_2 ( 90, 0, 14 ), |
|
901 |
+ RPT_2 ( -90, 0, 14 ), RPT_2 ( 91, 0, 14 ), |
|
902 |
+ RPT_2 ( -91, 0, 14 ), RPT_2 ( 92, 0, 14 ), |
|
903 |
+ RPT_2 ( -92, 0, 14 ), RPT_2 ( 93, 0, 14 ), |
|
904 |
+ RPT_2 ( -93, 0, 14 ), RPT_2 ( 94, 0, 14 ), |
|
905 |
+ RPT_2 ( -94, 0, 14 ), RPT_2 ( 95, 0, 14 ), |
|
906 |
+ RPT_2 ( -95, 0, 14 ), RPT_2 ( 96, 0, 14 ), |
|
907 |
+ RPT_2 ( -96, 0, 14 ), RPT_2 ( 97, 0, 14 ), |
|
908 |
+ RPT_2 ( -97, 0, 14 ), RPT_2 ( 98, 0, 14 ), |
|
909 |
+ RPT_2 ( -98, 0, 14 ), RPT_2 ( 99, 0, 14 ), |
|
910 |
+ RPT_2 ( -99, 0, 14 ), RPT_2 ( 100, 0, 14 ), |
|
911 |
+ RPT_2 (-100, 0, 14 ), RPT_2 ( 101, 0, 14 ), |
|
912 |
+ RPT_2 (-101, 0, 14 ), RPT_2 ( 102, 0, 14 ), |
|
913 |
+ RPT_2 (-102, 0, 14 ), RPT_2 ( 103, 0, 14 ), |
|
914 |
+ RPT_2 (-103, 0, 14 ), RPT_2 ( 104, 0, 14 ), |
|
915 |
+ RPT_2 (-104, 0, 14 ), RPT_2 ( 105, 0, 14 ), |
|
916 |
+ RPT_2 (-105, 0, 14 ), RPT_2 ( 106, 0, 14 ), |
|
917 |
+ RPT_2 (-106, 0, 14 ), RPT_2 ( 107, 0, 14 ), |
|
918 |
+ RPT_2 (-107, 0, 14 ), RPT_2 ( 108, 0, 14 ), |
|
919 |
+ RPT_2 (-108, 0, 14 ), RPT_2 ( 109, 0, 14 ), |
|
920 |
+ RPT_2 (-109, 0, 14 ), RPT_2 ( 110, 0, 14 ), |
|
921 |
+ RPT_2 (-110, 0, 14 ), RPT_2 ( 111, 0, 14 ), |
|
922 |
+ RPT_2 (-111, 0, 14 ), RPT_2 ( 112, 0, 14 ), |
|
923 |
+ RPT_2 (-112, 0, 14 ), RPT_2 ( 113, 0, 14 ), |
|
924 |
+ RPT_2 (-113, 0, 14 ), RPT_2 ( 114, 0, 14 ), |
|
925 |
+ RPT_2 (-114, 0, 14 ), RPT_2 ( 115, 0, 14 ), |
|
926 |
+ RPT_2 (-115, 0, 14 ), RPT_2 ( 116, 0, 14 ), |
|
927 |
+ RPT_2 (-116, 0, 14 ), RPT_2 ( 117, 0, 14 ), |
|
928 |
+ RPT_2 (-117, 0, 14 ), RPT_2 ( 118, 0, 14 ), |
|
929 |
+ RPT_2 (-118, 0, 14 ), RPT_2 ( 119, 0, 14 ), |
|
930 |
+ RPT_2 (-119, 0, 14 ), RPT_2 ( 120, 0, 14 ), |
|
931 |
+ RPT_2 (-120, 0, 14 ), RPT_2 ( 121, 0, 14 ), |
|
932 |
+ RPT_2 (-121, 0, 14 ), RPT_2 ( 122, 0, 14 ), |
|
933 |
+ RPT_2 (-122, 0, 14 ), RPT_2 ( 123, 0, 14 ), |
|
934 |
+ RPT_2 (-123, 0, 14 ), RPT_2 ( 124, 0, 14 ), |
|
935 |
+ RPT_2 (-124, 0, 14 ), RPT_2 ( 125, 0, 14 ), |
|
936 |
+ RPT_2 (-125, 0, 14 ), RPT_2 ( 126, 0, 14 ), |
|
937 |
+ RPT_2 (-126, 0, 14 ), RPT_2 ( 127, 0, 14 ), |
|
938 |
+ RPT_2 (-127, 0, 14 ), RPT_2 ( 128, 0, 14 ), |
|
939 |
+ RPT_2 (-128, 0, 14 ), RPT_2 ( 129, 0, 14 ), |
|
940 |
+ RPT_2 (-129, 0, 14 ), RPT_2 ( 130, 0, 14 ), |
|
941 |
+ RPT_2 (-130, 0, 14 ), RPT_2 ( 131, 0, 14 ), |
|
942 |
+ RPT_2 (-131, 0, 14 ), RPT_2 ( 132, 0, 14 ), |
|
943 |
+ RPT_2 (-132, 0, 14 ), RPT_2 ( 133, 0, 14 ), |
|
944 |
+ RPT_2 (-133, 0, 14 ), RPT_2 ( 134, 0, 14 ), |
|
945 |
+ RPT_2 (-134, 0, 14 ), RPT_2 ( 135, 0, 14 ), |
|
946 |
+ RPT_2 (-135, 0, 14 ), RPT_2 ( 136, 0, 14 ), |
|
947 |
+ RPT_2 (-136, 0, 14 ), RPT_2 ( 137, 0, 14 ), |
|
948 |
+ RPT_2 (-137, 0, 14 ), RPT_2 ( 138, 0, 14 ), |
|
949 |
+ RPT_2 (-138, 0, 14 ), RPT_2 ( 139, 0, 14 ), |
|
950 |
+ RPT_2 (-139, 0, 14 ), RPT_2 ( 140, 0, 14 ), |
|
951 |
+ RPT_2 (-140, 0, 14 ), RPT_2 ( 141, 0, 14 ), |
|
952 |
+ RPT_2 (-141, 0, 14 ), RPT_2 ( 142, 0, 14 ), |
|
953 |
+ RPT_2 (-142, 0, 14 ), RPT_2 ( 143, 0, 14 ), |
|
954 |
+ RPT_2 (-143, 0, 14 ), RPT_2 ( 144, 0, 14 ), |
|
955 |
+ RPT_2 (-144, 0, 14 ), RPT_2 ( 145, 0, 14 ), |
|
956 |
+ RPT_2 (-145, 0, 14 ), RPT_2 ( 146, 0, 14 ), |
|
957 |
+ RPT_2 (-146, 0, 14 ), RPT_2 ( 147, 0, 14 ), |
|
958 |
+ RPT_2 (-147, 0, 14 ), RPT_2 ( 148, 0, 14 ), |
|
959 |
+ RPT_2 (-148, 0, 14 ), RPT_2 ( 149, 0, 14 ), |
|
960 |
+ RPT_2 (-149, 0, 14 ), RPT_2 ( 150, 0, 14 ), |
|
961 |
+ RPT_2 (-150, 0, 14 ), RPT_2 ( 151, 0, 14 ), |
|
962 |
+ RPT_2 (-151, 0, 14 ), RPT_2 ( 152, 0, 14 ), |
|
963 |
+ RPT_2 (-152, 0, 14 ), RPT_2 ( 153, 0, 14 ), |
|
964 |
+ RPT_2 (-153, 0, 14 ), RPT_2 ( 154, 0, 14 ), |
|
965 |
+ RPT_2 (-154, 0, 14 ), RPT_2 ( 155, 0, 14 ), |
|
966 |
+ RPT_2 (-155, 0, 14 ), RPT_2 ( 156, 0, 14 ), |
|
967 |
+ RPT_2 (-156, 0, 14 ), RPT_2 ( 157, 0, 14 ), |
|
968 |
+ RPT_2 (-157, 0, 14 ), RPT_2 ( 158, 0, 14 ), |
|
969 |
+ RPT_2 (-158, 0, 14 ), RPT_2 ( 159, 0, 14 ), |
|
970 |
+ RPT_2 (-159, 0, 14 ), RPT_2 ( 160, 0, 14 ), |
|
971 |
+ RPT_2 (-160, 0, 14 ), RPT_2 ( 161, 0, 14 ), |
|
972 |
+ RPT_2 (-161, 0, 14 ), RPT_2 ( 162, 0, 14 ), |
|
973 |
+ RPT_2 (-162, 0, 14 ), RPT_2 ( 163, 0, 14 ), |
|
974 |
+ RPT_2 (-163, 0, 14 ), RPT_2 ( 164, 0, 14 ), |
|
975 |
+ RPT_2 (-164, 0, 14 ), RPT_2 ( 165, 0, 14 ), |
|
976 |
+ RPT_2 (-165, 0, 14 ), RPT_2 ( 166, 0, 14 ), |
|
977 |
+ RPT_2 (-166, 0, 14 ), RPT_2 ( 167, 0, 14 ), |
|
978 |
+ RPT_2 (-167, 0, 14 ), RPT_2 ( 168, 0, 14 ), |
|
979 |
+ RPT_2 (-168, 0, 14 ), RPT_2 ( 169, 0, 14 ), |
|
980 |
+ RPT_2 (-169, 0, 14 ), RPT_2 ( 170, 0, 14 ), |
|
981 |
+ RPT_2 (-170, 0, 14 ), RPT_2 ( 171, 0, 14 ), |
|
982 |
+ RPT_2 (-171, 0, 14 ), RPT_2 ( 172, 0, 14 ), |
|
983 |
+ RPT_2 (-172, 0, 14 ), RPT_2 ( 173, 0, 14 ), |
|
984 |
+ RPT_2 (-173, 0, 14 ), RPT_2 ( 174, 0, 14 ), |
|
985 |
+ RPT_2 (-174, 0, 14 ), RPT_2 ( 175, 0, 14 ), |
|
986 |
+ RPT_2 (-175, 0, 14 ), RPT_2 ( 176, 0, 14 ), |
|
987 |
+ RPT_2 (-176, 0, 14 ), RPT_2 ( 177, 0, 14 ), |
|
988 |
+ RPT_2 (-177, 0, 14 ), RPT_2 ( 178, 0, 14 ), |
|
989 |
+ RPT_2 (-178, 0, 14 ), RPT_2 ( 179, 0, 14 ), |
|
990 |
+ RPT_2 (-179, 0, 14 ), RPT_2 ( 180, 0, 14 ), |
|
991 |
+ RPT_2 (-180, 0, 14 ), RPT_2 ( 181, 0, 14 ), |
|
992 |
+ RPT_2 (-181, 0, 14 ), RPT_2 ( 182, 0, 14 ), |
|
993 |
+ RPT_2 (-182, 0, 14 ), RPT_2 ( 183, 0, 14 ), |
|
994 |
+ RPT_2 (-183, 0, 14 ), RPT_2 ( 184, 0, 14 ), |
|
995 |
+ RPT_2 (-184, 0, 14 ), RPT_2 ( 185, 0, 14 ), |
|
996 |
+ RPT_2 (-185, 0, 14 ), RPT_2 ( 186, 0, 14 ), |
|
997 |
+ RPT_2 (-186, 0, 14 ), RPT_2 ( 187, 0, 14 ), |
|
998 |
+ RPT_2 (-187, 0, 14 ), RPT_2 ( 188, 0, 14 ), |
|
999 |
+ RPT_2 (-188, 0, 14 ), RPT_2 ( 189, 0, 14 ), |
|
1000 |
+ RPT_2 (-189, 0, 14 ), RPT_2 ( 190, 0, 14 ), |
|
1001 |
+ RPT_2 (-190, 0, 14 ), RPT_2 ( 191, 0, 14 ), |
|
1002 |
+ RPT_2 (-191, 0, 14 ), RPT_2 ( 192, 0, 14 ), |
|
1003 |
+ RPT_2 (-192, 0, 14 ), RPT_2 ( 193, 0, 14 ), |
|
1004 |
+ RPT_2 (-193, 0, 14 ), RPT_2 ( 194, 0, 14 ), |
|
1005 |
+ RPT_2 (-194, 0, 14 ), RPT_2 ( 195, 0, 14 ), |
|
1006 |
+ RPT_2 (-195, 0, 14 ), RPT_2 ( 196, 0, 14 ), |
|
1007 |
+ RPT_2 (-196, 0, 14 ), RPT_2 ( 197, 0, 14 ), |
|
1008 |
+ RPT_2 (-197, 0, 14 ), RPT_2 ( 198, 0, 14 ), |
|
1009 |
+ RPT_2 (-198, 0, 14 ), RPT_2 ( 199, 0, 14 ), |
|
1010 |
+ RPT_2 (-199, 0, 14 ), RPT_2 ( 200, 0, 14 ), |
|
1011 |
+ RPT_2 (-200, 0, 14 ), RPT_2 ( 201, 0, 14 ), |
|
1012 |
+ RPT_2 (-201, 0, 14 ), RPT_2 ( 202, 0, 14 ), |
|
1013 |
+ RPT_2 (-202, 0, 14 ), RPT_2 ( 203, 0, 14 ), |
|
1014 |
+ RPT_2 (-203, 0, 14 ), RPT_2 ( 204, 0, 14 ), |
|
1015 |
+ RPT_2 (-204, 0, 14 ), RPT_2 ( 205, 0, 14 ), |
|
1016 |
+ RPT_2 (-205, 0, 14 ), RPT_2 ( 206, 0, 14 ), |
|
1017 |
+ RPT_2 (-206, 0, 14 ), RPT_2 ( 207, 0, 14 ), |
|
1018 |
+ RPT_2 (-207, 0, 14 ), RPT_2 ( 208, 0, 14 ), |
|
1019 |
+ RPT_2 (-208, 0, 14 ), RPT_2 ( 209, 0, 14 ), |
|
1020 |
+ RPT_2 (-209, 0, 14 ), RPT_2 ( 210, 0, 14 ), |
|
1021 |
+ RPT_2 (-210, 0, 14 ), RPT_2 ( 211, 0, 14 ), |
|
1022 |
+ RPT_2 (-211, 0, 14 ), RPT_2 ( 212, 0, 14 ), |
|
1023 |
+ RPT_2 (-212, 0, 14 ), RPT_2 ( 213, 0, 14 ), |
|
1024 |
+ RPT_2 (-213, 0, 14 ), RPT_2 ( 214, 0, 14 ), |
|
1025 |
+ RPT_2 (-214, 0, 14 ), RPT_2 ( 215, 0, 14 ), |
|
1026 |
+ RPT_2 (-215, 0, 14 ), RPT_2 ( 216, 0, 14 ), |
|
1027 |
+ RPT_2 (-216, 0, 14 ), RPT_2 ( 217, 0, 14 ), |
|
1028 |
+ RPT_2 (-217, 0, 14 ), RPT_2 ( 218, 0, 14 ), |
|
1029 |
+ RPT_2 (-218, 0, 14 ), RPT_2 ( 219, 0, 14 ), |
|
1030 |
+ RPT_2 (-219, 0, 14 ), RPT_2 ( 220, 0, 14 ), |
|
1031 |
+ RPT_2 (-220, 0, 14 ), RPT_2 ( 221, 0, 14 ), |
|
1032 |
+ RPT_2 (-221, 0, 14 ), RPT_2 ( 222, 0, 14 ), |
|
1033 |
+ RPT_2 (-222, 0, 14 ), RPT_2 ( 223, 0, 14 ), |
|
1034 |
+ RPT_2 (-223, 0, 14 ), RPT_2 ( 224, 0, 14 ), |
|
1035 |
+ RPT_2 (-224, 0, 14 ), RPT_2 ( 225, 0, 14 ), |
|
1036 |
+ RPT_2 (-225, 0, 14 ), RPT_2 ( 226, 0, 14 ), |
|
1037 |
+ RPT_2 (-226, 0, 14 ), RPT_2 ( 227, 0, 14 ), |
|
1038 |
+ RPT_2 (-227, 0, 14 ), RPT_2 ( 228, 0, 14 ), |
|
1039 |
+ RPT_2 (-228, 0, 14 ), RPT_2 ( 229, 0, 14 ), |
|
1040 |
+ RPT_2 (-229, 0, 14 ), RPT_2 ( 230, 0, 14 ), |
|
1041 |
+ RPT_2 (-230, 0, 14 ), RPT_2 ( 231, 0, 14 ), |
|
1042 |
+ RPT_2 (-231, 0, 14 ), RPT_2 ( 232, 0, 14 ), |
|
1043 |
+ RPT_2 (-232, 0, 14 ), RPT_2 ( 233, 0, 14 ), |
|
1044 |
+ RPT_2 (-233, 0, 14 ), RPT_2 ( 234, 0, 14 ), |
|
1045 |
+ RPT_2 (-234, 0, 14 ), RPT_2 ( 235, 0, 14 ), |
|
1046 |
+ RPT_2 (-235, 0, 14 ), RPT_2 ( 236, 0, 14 ), |
|
1047 |
+ RPT_2 (-236, 0, 14 ), RPT_2 ( 237, 0, 14 ), |
|
1048 |
+ RPT_2 (-237, 0, 14 ), RPT_2 ( 238, 0, 14 ), |
|
1049 |
+ RPT_2 (-238, 0, 14 ), RPT_2 ( 239, 0, 14 ), |
|
1050 |
+ RPT_2 (-239, 0, 14 ), RPT_2 ( 240, 0, 14 ), |
|
1051 |
+ RPT_2 (-240, 0, 14 ), RPT_2 ( 241, 0, 14 ), |
|
1052 |
+ RPT_2 (-241, 0, 14 ), RPT_2 ( 242, 0, 14 ), |
|
1053 |
+ RPT_2 (-242, 0, 14 ), RPT_2 ( 243, 0, 14 ), |
|
1054 |
+ RPT_2 (-243, 0, 14 ), RPT_2 ( 244, 0, 14 ), |
|
1055 |
+ RPT_2 (-244, 0, 14 ), RPT_2 ( 245, 0, 14 ), |
|
1056 |
+ RPT_2 (-245, 0, 14 ), RPT_2 ( 246, 0, 14 ), |
|
1057 |
+ RPT_2 (-246, 0, 14 ), RPT_2 ( 247, 0, 14 ), |
|
1058 |
+ RPT_2 (-247, 0, 14 ), RPT_2 ( 248, 0, 14 ), |
|
1059 |
+ RPT_2 (-248, 0, 14 ), RPT_2 ( 249, 0, 14 ), |
|
1060 |
+ RPT_2 (-249, 0, 14 ), RPT_2 ( 250, 0, 14 ), |
|
1061 |
+ RPT_2 (-250, 0, 14 ), RPT_2 ( 251, 0, 14 ), |
|
1062 |
+ RPT_2 (-251, 0, 14 ), RPT_2 ( 252, 0, 14 ), |
|
1063 |
+ RPT_2 (-252, 0, 14 ), RPT_2 ( 253, 0, 14 ), |
|
1064 |
+ RPT_2 (-253, 0, 14 ), RPT_2 ( 254, 0, 14 ), |
|
1065 |
+ RPT_2 (-254, 0, 14 ), RPT_2 ( 255, 0, 14 ), |
|
1066 |
+ RPT_2 (-255, 0, 14 ), { 0, 0, 15 }, { 0, 1, 15 }, |
|
1067 |
+ { 0, 2, 15 }, { 0, 3, 15 }, { 0, 4, 15 }, { 0, 5, 15 }, |
|
1068 |
+ { 0, 6, 15 }, { 0, 7, 15 }, { 0, 8, 15 }, { 0, 9, 15 }, |
|
1069 |
+ { 0, 10, 15 }, { 0, 11, 15 }, { 0, 12, 15 }, { 0, 13, 15 }, |
|
1070 |
+ { 0, 14, 15 }, { 0, 15, 15 }, { 0, 16, 15 }, { 0, 17, 15 }, |
|
1071 |
+ { 0, 18, 15 }, { 0, 19, 15 }, { 0, 20, 15 }, { 0, 21, 15 }, |
|
1072 |
+ { 0, 22, 15 }, { 0, 23, 15 }, { 0, 24, 15 }, { 0, 25, 15 }, |
|
1073 |
+ { 0, 26, 15 }, { 0, 27, 15 }, { 0, 28, 15 }, { 0, 29, 15 }, |
|
1074 |
+ { 0, 30, 15 }, { 0, 31, 15 }, { 0, 32, 15 }, { 0, 33, 15 }, |
|
1075 |
+ { 0, 34, 15 }, { 0, 35, 15 }, { 0, 36, 15 }, { 0, 37, 15 }, |
|
1076 |
+ { 0, 38, 15 }, { 0, 39, 15 }, { 0, 40, 15 }, { 0, 41, 15 }, |
|
1077 |
+ { 0, 42, 15 }, { 0, 43, 15 }, { 0, 44, 15 }, { 0, 45, 15 }, |
|
1078 |
+ { 0, 46, 15 }, { 0, 47, 15 }, { 0, 48, 15 }, { 0, 49, 15 }, |
|
1079 |
+ { 0, 50, 15 }, { 0, 51, 15 }, { 0, 52, 15 }, { 0, 53, 15 }, |
|
1080 |
+ { 0, 54, 15 }, { 0, 55, 15 }, { 0, 56, 15 }, { 0, 57, 15 }, |
|
1081 |
+ { 0, 58, 15 }, { 0, 59, 15 }, { 0, 60, 15 }, { 0, 61, 15 }, |
|
1082 |
+ { 0, 62, 15 }, { 0, 63, 15 }, RPT_16 ( 51, 0, 11 ), |
|
1083 |
+ RPT_16 ( -51, 0, 11 ), RPT_16 ( 52, 0, 11 ), |
|
1084 |
+ RPT_16 ( -52, 0, 11 ), RPT_16 ( 53, 0, 11 ), |
|
1085 |
+ RPT_16 ( -53, 0, 11 ), RPT_16 ( 54, 0, 11 ), |
|
1086 |
+ RPT_16 ( -54, 0, 11 ), RPT_16 ( 55, 0, 11 ), |
|
1087 |
+ RPT_16 ( -55, 0, 11 ), RPT_16 ( 56, 0, 11 ), |
|
1088 |
+ RPT_16 ( -56, 0, 11 ), RPT_16 ( 57, 0, 11 ), |
|
1089 |
+ RPT_16 ( -57, 0, 11 ), RPT_16 ( 58, 0, 11 ), |
|
1090 |
+ RPT_16 ( -58, 0, 11 ), RPT_16 ( 59, 0, 11 ), |
|
1091 |
+ RPT_16 ( -59, 0, 11 ), RPT_16 ( 60, 0, 11 ), |
|
1092 |
+ RPT_16 ( -60, 0, 11 ), RPT_16 ( 61, 0, 11 ), |
|
1093 |
+ RPT_16 ( -61, 0, 11 ), RPT_16 ( 62, 0, 11 ), |
|
1094 |
+ RPT_16 ( -62, 0, 11 ), RPT_16 ( 63, 0, 11 ), |
|
1095 |
+ RPT_16 ( -63, 0, 11 ), RPT_16 ( 11, 1, 11 ), |
|
1096 |
+ RPT_16 ( -11, 1, 11 ), RPT_16 ( 12, 1, 11 ), |
|
1097 |
+ RPT_16 ( -12, 1, 11 ), RPT_16 ( 13, 1, 11 ), |
|
1098 |
+ RPT_16 ( -13, 1, 11 ), RPT_16 ( 14, 1, 11 ), |
|
1099 |
+ RPT_16 ( -14, 1, 11 ), RPT_16 ( 4, 2, 11 ), |
|
1100 |
+ RPT_16 ( -4, 2, 11 ), RPT_16 ( 5, 2, 11 ), |
|
1101 |
+ RPT_16 ( -5, 2, 11 ), RPT_16 ( 6, 2, 11 ), |
|
1102 |
+ RPT_16 ( -6, 2, 11 ), RPT_16 ( 3, 3, 11 ), |
|
1103 |
+ RPT_16 ( -3, 3, 11 ), RPT_16 ( 2, 4, 11 ), |
|
1104 |
+ RPT_16 ( -2, 4, 11 ), RPT_16 ( 1, 9, 11 ), |
|
1105 |
+ RPT_16 ( -1, 9, 11 ), RPT_16 ( 1, 10, 11 ), |
|
1106 |
+ RPT_16 ( -1, 10, 11 ), RPT_8 ( 15, 1, 12 ), |
|
1107 |
+ RPT_8 ( -15, 1, 12 ), RPT_8 ( 16, 1, 12 ), |
|
1108 |
+ RPT_8 ( -16, 1, 12 ), RPT_8 ( 17, 1, 12 ), |
|
1109 |
+ RPT_8 ( -17, 1, 12 ), RPT_8 ( 18, 1, 12 ), |
|
1110 |
+ RPT_8 ( -18, 1, 12 ), RPT_8 ( 7, 2, 12 ), |
|
1111 |
+ RPT_8 ( -7, 2, 12 ), RPT_8 ( 8, 2, 12 ), |
|
1112 |
+ RPT_8 ( -8, 2, 12 ), RPT_8 ( 9, 2, 12 ), |
|
1113 |
+ RPT_8 ( -9, 2, 12 ), RPT_8 ( 10, 2, 12 ), |
|
1114 |
+ RPT_8 ( -10, 2, 12 ), RPT_8 ( 4, 3, 12 ), |
|
1115 |
+ RPT_8 ( -4, 3, 12 ), RPT_8 ( 5, 3, 12 ), |
|
1116 |
+ RPT_8 ( -5, 3, 12 ), RPT_8 ( 6, 3, 12 ), |
|
1117 |
+ RPT_8 ( -6, 3, 12 ), RPT_8 ( 2, 5, 12 ), |
|
1118 |
+ RPT_8 ( -2, 5, 12 ), RPT_16 ( 0, 7, 11 ), |
|
1119 |
+ RPT_16 ( 0, 8, 11 ), RPT_16 ( 0, 9, 11 ), |
|
1120 |
+ RPT_16 ( 0, 10, 11 ), RPT_8 ( 1, 11, 12 ), |
|
1121 |
+ RPT_8 ( -1, 11, 12 ), RPT_8 ( 1, 12, 12 ), |
|
1122 |
+ RPT_8 ( -1, 12, 12 ), RPT_8 ( 1, 13, 12 ), |
|
1123 |
+ RPT_8 ( -1, 13, 12 ), RPT_8 ( 1, 14, 12 ), |
|
1124 |
+ RPT_8 ( -1, 14, 12 ), RPT_4 ( 19, 1, 13 ), |
|
1125 |
+ RPT_4 ( -19, 1, 13 ), RPT_4 ( 20, 1, 13 ), |
|
1126 |
+ RPT_4 ( -20, 1, 13 ), RPT_4 ( 3, 4, 13 ), |
|
1127 |
+ RPT_4 ( -3, 4, 13 ), RPT_4 ( 2, 6, 13 ), |
|
1128 |
+ RPT_4 ( -2, 6, 13 ), |
|
1129 |
+}; |
|
1130 |
+ |
|
1131 |
+static const HQXLUT ac8_lut[] = { |
|
1132 |
+ RPT_128 ( 1, 0, 4 ), RPT_128 ( -1, 0, 4 ), |
|
1133 |
+ RPT_128 ( 2, 0, 4 ), RPT_128 ( -2, 0, 4 ), |
|
1134 |
+ RPT_64 ( 3, 0, 5 ), RPT_64 ( -3, 0, 5 ), |
|
1135 |
+ RPT_64 ( 4, 0, 5 ), RPT_64 ( -4, 0, 5 ), |
|
1136 |
+ RPT_128 ( 0, 64, 4 ), RPT_32 ( 5, 0, 6 ), |
|
1137 |
+ RPT_32 ( -5, 0, 6 ), RPT_32 ( 6, 0, 6 ), |
|
1138 |
+ RPT_32 ( -6, 0, 6 ), RPT_32 ( 7, 0, 6 ), |
|
1139 |
+ RPT_32 ( -7, 0, 6 ), RPT_32 ( 8, 0, 6 ), |
|
1140 |
+ RPT_32 ( -8, 0, 6 ), RPT_32 ( 1, 1, 6 ), |
|
1141 |
+ RPT_32 ( -1, 1, 6 ), RPT_32 ( 2, 1, 6 ), |
|
1142 |
+ RPT_32 ( -2, 1, 6 ), RPT_16 ( 9, 0, 7 ), |
|
1143 |
+ RPT_16 ( -9, 0, 7 ), RPT_16 ( 10, 0, 7 ), |
|
1144 |
+ RPT_16 ( -10, 0, 7 ), RPT_16 ( 11, 0, 7 ), |
|
1145 |
+ RPT_16 ( -11, 0, 7 ), RPT_16 ( 12, 0, 7 ), |
|
1146 |
+ RPT_16 ( -12, 0, 7 ), RPT_16 ( 3, 1, 7 ), |
|
1147 |
+ RPT_16 ( -3, 1, 7 ), RPT_16 ( 4, 1, 7 ), |
|
1148 |
+ RPT_16 ( -4, 1, 7 ), RPT_16 ( 1, 2, 7 ), |
|
1149 |
+ RPT_16 ( -1, 2, 7 ), { 2048, 0, -1 }, { 2112, 0, -1 }, |
|
1150 |
+ { 2176, 0, -1 }, { 2240, 0, -1 }, { 2304, 0, -1 }, { 2368, 0, -1 }, |
|
1151 |
+ { 2432, 0, -1 }, { 2496, 0, -1 }, { 2560, 0, -1 }, { 2624, 0, -1 }, |
|
1152 |
+ { 2688, 0, -1 }, { 2752, 0, -1 }, { 2816, 0, -1 }, { 2880, 0, -1 }, |
|
1153 |
+ { 2944, 0, -1 }, { 3008, 0, -1 }, { 3072, 0, -1 }, { 3136, 0, -1 }, |
|
1154 |
+ { 3200, 0, -1 }, { 3264, 0, -1 }, { 3328, 0, -1 }, { 3392, 0, -1 }, |
|
1155 |
+ { 3456, 0, -1 }, { 3520, 0, -1 }, { 3584, 0, -1 }, { 3648, 0, -1 }, |
|
1156 |
+ { 3712, 0, -1 }, { 3776, 0, -1 }, { 3840, 0, -1 }, { 3904, 0, -1 }, |
|
1157 |
+ { 3968, 0, -1 }, { 4032, 0, -1 }, RPT_8 ( 13, 0, 8 ), |
|
1158 |
+ RPT_8 ( -13, 0, 8 ), RPT_8 ( 14, 0, 8 ), |
|
1159 |
+ RPT_8 ( -14, 0, 8 ), RPT_8 ( 15, 0, 8 ), |
|
1160 |
+ RPT_8 ( -15, 0, 8 ), RPT_8 ( 16, 0, 8 ), |
|
1161 |
+ RPT_8 ( -16, 0, 8 ), RPT_8 ( 17, 0, 8 ), |
|
1162 |
+ RPT_8 ( -17, 0, 8 ), RPT_8 ( 18, 0, 8 ), |
|
1163 |
+ RPT_8 ( -18, 0, 8 ), RPT_8 ( 5, 1, 8 ), |
|
1164 |
+ RPT_8 ( -5, 1, 8 ), RPT_8 ( 6, 1, 8 ), |
|
1165 |
+ RPT_8 ( -6, 1, 8 ), RPT_8 ( 2, 2, 8 ), |
|
1166 |
+ RPT_8 ( -2, 2, 8 ), RPT_8 ( 1, 3, 8 ), |
|
1167 |
+ RPT_8 ( -1, 3, 8 ), RPT_8 ( 0, 0, 8 ), |
|
1168 |
+ RPT_4 ( 19, 0, 9 ), RPT_4 ( -19, 0, 9 ), |
|
1169 |
+ RPT_4 ( 20, 0, 9 ), RPT_4 ( -20, 0, 9 ), |
|
1170 |
+ RPT_4 ( 21, 0, 9 ), RPT_4 ( -21, 0, 9 ), |
|
1171 |
+ RPT_4 ( 22, 0, 9 ), RPT_4 ( -22, 0, 9 ), |
|
1172 |
+ RPT_4 ( 23, 0, 9 ), RPT_4 ( -23, 0, 9 ), |
|
1173 |
+ RPT_4 ( 24, 0, 9 ), RPT_4 ( -24, 0, 9 ), |
|
1174 |
+ RPT_4 ( 25, 0, 9 ), RPT_4 ( -25, 0, 9 ), |
|
1175 |
+ RPT_4 ( 7, 1, 9 ), RPT_4 ( -7, 1, 9 ), |
|
1176 |
+ RPT_4 ( 8, 1, 9 ), RPT_4 ( -8, 1, 9 ), |
|
1177 |
+ RPT_4 ( 3, 2, 9 ), RPT_4 ( -3, 2, 9 ), |
|
1178 |
+ RPT_4 ( 2, 3, 9 ), RPT_4 ( -2, 3, 9 ), |
|
1179 |
+ RPT_4 ( 1, 4, 9 ), RPT_4 ( -1, 4, 9 ), |
|
1180 |
+ RPT_4 ( 1, 5, 9 ), RPT_4 ( -1, 5, 9 ), |
|
1181 |
+ RPT_2 ( 26, 0, 10 ), RPT_2 ( -26, 0, 10 ), |
|
1182 |
+ RPT_2 ( 27, 0, 10 ), RPT_2 ( -27, 0, 10 ), |
|
1183 |
+ RPT_2 ( 28, 0, 10 ), RPT_2 ( -28, 0, 10 ), |
|
1184 |
+ RPT_2 ( 29, 0, 10 ), RPT_2 ( -29, 0, 10 ), |
|
1185 |
+ RPT_2 ( 30, 0, 10 ), RPT_2 ( -30, 0, 10 ), |
|
1186 |
+ RPT_2 ( 31, 0, 10 ), RPT_2 ( -31, 0, 10 ), |
|
1187 |
+ RPT_2 ( 32, 0, 10 ), RPT_2 ( -32, 0, 10 ), |
|
1188 |
+ RPT_2 ( 33, 0, 10 ), RPT_2 ( -33, 0, 10 ), |
|
1189 |
+ RPT_2 ( 34, 0, 10 ), RPT_2 ( -34, 0, 10 ), |
|
1190 |
+ RPT_2 ( 35, 0, 10 ), RPT_2 ( -35, 0, 10 ), |
|
1191 |
+ RPT_2 ( 36, 0, 10 ), RPT_2 ( -36, 0, 10 ), |
|
1192 |
+ RPT_4 ( 0, 1, 9 ), RPT_2 ( 9, 1, 10 ), |
|
1193 |
+ RPT_2 ( -9, 1, 10 ), RPT_2 ( 10, 1, 10 ), |
|
1194 |
+ RPT_2 ( -10, 1, 10 ), RPT_2 ( 11, 1, 10 ), |
|
1195 |
+ RPT_2 ( -11, 1, 10 ), RPT_2 ( 12, 1, 10 ), |
|
1196 |
+ RPT_2 ( -12, 1, 10 ), RPT_4 ( 0, 2, 9 ), |
|
1197 |
+ RPT_2 ( 4, 2, 10 ), RPT_2 ( -4, 2, 10 ), |
|
1198 |
+ RPT_2 ( 5, 2, 10 ), RPT_2 ( -5, 2, 10 ), |
|
1199 |
+ RPT_2 ( 6, 2, 10 ), RPT_2 ( -6, 2, 10 ), |
|
1200 |
+ RPT_4 ( 0, 3, 9 ), RPT_2 ( 3, 3, 10 ), |
|
1201 |
+ RPT_2 ( -3, 3, 10 ), RPT_2 ( 4, 3, 10 ), |
|
1202 |
+ RPT_2 ( -4, 3, 10 ), RPT_4 ( 0, 4, 9 ), |
|
1203 |
+ RPT_2 ( 2, 4, 10 ), RPT_2 ( -2, 4, 10 ), |
|
1204 |
+ RPT_4 ( 0, 5, 9 ), RPT_2 ( 1, 6, 10 ), |
|
1205 |
+ RPT_2 ( -1, 6, 10 ), RPT_2 ( 1, 7, 10 ), |
|
1206 |
+ RPT_2 ( -1, 7, 10 ), RPT_2 ( 1, 8, 10 ), |
|
1207 |
+ RPT_2 ( -1, 8, 10 ), { 37, 0, 11 }, { -37, 0, 11 }, |
|
1208 |
+ { 38, 0, 11 }, { -38, 0, 11 }, { 39, 0, 11 }, { -39, 0, 11 }, |
|
1209 |
+ { 40, 0, 11 }, { -40, 0, 11 }, { 41, 0, 11 }, { -41, 0, 11 }, |
|
1210 |
+ { 42, 0, 11 }, { -42, 0, 11 }, { 43, 0, 11 }, { -43, 0, 11 }, |
|
1211 |
+ { 44, 0, 11 }, { -44, 0, 11 }, { 45, 0, 11 }, { -45, 0, 11 }, |
|
1212 |
+ { 46, 0, 11 }, { -46, 0, 11 }, { 47, 0, 11 }, { -47, 0, 11 }, |
|
1213 |
+ { 48, 0, 11 }, { -48, 0, 11 }, { 13, 1, 11 }, { -13, 1, 11 }, |
|
1214 |
+ { 14, 1, 11 }, { -14, 1, 11 }, { 15, 1, 11 }, { -15, 1, 11 }, |
|
1215 |
+ { 16, 1, 11 }, { -16, 1, 11 }, { 7, 2, 11 }, { -7, 2, 11 }, |
|
1216 |
+ { 8, 2, 11 }, { -8, 2, 11 }, { 5, 3, 11 }, { -5, 3, 11 }, |
|
1217 |
+ { 6, 3, 11 }, { -6, 3, 11 }, { 3, 4, 11 }, { -3, 4, 11 }, |
|
1218 |
+ { 4, 4, 11 }, { -4, 4, 11 }, { 2, 5, 11 }, { -2, 5, 11 }, |
|
1219 |
+ RPT_2 ( 0, 6, 10 ), { 2, 6, 11 }, { -2, 6, 11 }, |
|
1220 |
+ RPT_2 ( 0, 7, 10 ), RPT_2 ( 0, 8, 10 ), |
|
1221 |
+ RPT_2 ( 0, 9, 10 ), { 1, 9, 11 }, { -1, 9, 11 }, |
|
1222 |
+ { 1, 10, 11 }, { -1, 10, 11 }, { 1, 11, 11 }, { -1, 11, 11 }, |
|
1223 |
+ { 1, 12, 11 }, { -1, 12, 11 }, { 4096, 0, -1 }, { 4160, 0, -1 }, |
|
1224 |
+ { 4224, 0, -1 }, { 4288, 0, -1 }, { 4352, 0, -1 }, { 4416, 0, -1 }, |
|
1225 |
+ { 4480, 0, -1 }, { 4544, 0, -1 }, { 4608, 0, -1 }, { 4672, 0, -1 }, |
|
1226 |
+ { 4736, 0, -1 }, { 4800, 0, -1 }, { 4864, 0, -1 }, { 4928, 0, -1 }, |
|
1227 |
+ { 4992, 0, -1 }, { 5056, 0, -1 }, { 5120, 0, -1 }, { 5184, 0, -1 }, |
|
1228 |
+ { 5248, 0, -1 }, { 5312, 0, -1 }, { 5376, 0, -1 }, { 5440, 0, -1 }, |
|
1229 |
+ { 5504, 0, -1 }, { 5568, 0, -1 }, { 5632, 0, -1 }, { 5696, 0, -1 }, |
|
1230 |
+ { 5760, 0, -1 }, { 5824, 0, -1 }, { 5888, 0, -1 }, { 5952, 0, -1 }, |
|
1231 |
+ { 6016, 0, -1 }, { 6080, 0, -1 }, { 6144, 0, -1 }, { 6208, 0, -1 }, |
|
1232 |
+ { 6272, 0, -1 }, { 6336, 0, -1 }, { 6400, 0, -1 }, { 6464, 0, -1 }, |
|
1233 |
+ { 6528, 0, -1 }, { 6592, 0, -1 }, { 0, 10, 11 }, { 6656, 0, -1 }, |
|
1234 |
+ { 0, 11, 11 }, { 0, 12, 11 }, { 0, 13, 11 }, { 6720, 0, -1 }, |
|
1235 |
+ { 6784, 0, -1 }, { 6848, 0, -1 }, { 6912, 0, -1 }, { 6976, 0, -1 }, |
|
1236 |
+ { 7040, 0, -1 }, { 7104, 0, -1 }, { 7168, 0, -1 }, { 7232, 0, -1 }, |
|
1237 |
+ { 7296, 0, -1 }, { 7360, 0, -1 }, { 7424, 0, -1 }, { 7488, 0, -1 }, |
|
1238 |
+ { 7552, 0, -1 }, { 7616, 0, -1 }, RPT_8 ( 0, 0, 14 ), |
|
1239 |
+ RPT_4 ( 1, 0, 15 ), RPT_4 ( -1, 0, 15 ), |
|
1240 |
+ RPT_4 ( 2, 0, 15 ), RPT_4 ( -2, 0, 15 ), |
|
1241 |
+ RPT_4 ( 3, 0, 15 ), RPT_4 ( -3, 0, 15 ), |
|
1242 |
+ RPT_4 ( 4, 0, 15 ), RPT_4 ( -4, 0, 15 ), |
|
1243 |
+ RPT_4 ( 5, 0, 15 ), RPT_4 ( -5, 0, 15 ), |
|
1244 |
+ RPT_4 ( 6, 0, 15 ), RPT_4 ( -6, 0, 15 ), |
|
1245 |
+ RPT_4 ( 7, 0, 15 ), RPT_4 ( -7, 0, 15 ), |
|
1246 |
+ RPT_4 ( 8, 0, 15 ), RPT_4 ( -8, 0, 15 ), |
|
1247 |
+ RPT_4 ( 9, 0, 15 ), RPT_4 ( -9, 0, 15 ), |
|
1248 |
+ RPT_4 ( 10, 0, 15 ), RPT_4 ( -10, 0, 15 ), |
|
1249 |
+ RPT_4 ( 11, 0, 15 ), RPT_4 ( -11, 0, 15 ), |
|
1250 |
+ RPT_4 ( 12, 0, 15 ), RPT_4 ( -12, 0, 15 ), |
|
1251 |
+ RPT_4 ( 13, 0, 15 ), RPT_4 ( -13, 0, 15 ), |
|
1252 |
+ RPT_4 ( 14, 0, 15 ), RPT_4 ( -14, 0, 15 ), |
|
1253 |
+ RPT_4 ( 15, 0, 15 ), RPT_4 ( -15, 0, 15 ), |
|
1254 |
+ RPT_4 ( 16, 0, 15 ), RPT_4 ( -16, 0, 15 ), |
|
1255 |
+ RPT_4 ( 17, 0, 15 ), RPT_4 ( -17, 0, 15 ), |
|
1256 |
+ RPT_4 ( 18, 0, 15 ), RPT_4 ( -18, 0, 15 ), |
|
1257 |
+ RPT_4 ( 19, 0, 15 ), RPT_4 ( -19, 0, 15 ), |
|
1258 |
+ RPT_4 ( 20, 0, 15 ), RPT_4 ( -20, 0, 15 ), |
|
1259 |
+ RPT_4 ( 21, 0, 15 ), RPT_4 ( -21, 0, 15 ), |
|
1260 |
+ RPT_4 ( 22, 0, 15 ), RPT_4 ( -22, 0, 15 ), |
|
1261 |
+ RPT_4 ( 23, 0, 15 ), RPT_4 ( -23, 0, 15 ), |
|
1262 |
+ RPT_4 ( 24, 0, 15 ), RPT_4 ( -24, 0, 15 ), |
|
1263 |
+ RPT_4 ( 25, 0, 15 ), RPT_4 ( -25, 0, 15 ), |
|
1264 |
+ RPT_4 ( 26, 0, 15 ), RPT_4 ( -26, 0, 15 ), |
|
1265 |
+ RPT_4 ( 27, 0, 15 ), RPT_4 ( -27, 0, 15 ), |
|
1266 |
+ RPT_4 ( 28, 0, 15 ), RPT_4 ( -28, 0, 15 ), |
|
1267 |
+ RPT_4 ( 29, 0, 15 ), RPT_4 ( -29, 0, 15 ), |
|
1268 |
+ RPT_4 ( 30, 0, 15 ), RPT_4 ( -30, 0, 15 ), |
|
1269 |
+ RPT_4 ( 31, 0, 15 ), RPT_4 ( -31, 0, 15 ), |
|
1270 |
+ RPT_4 ( 32, 0, 15 ), RPT_4 ( -32, 0, 15 ), |
|
1271 |
+ RPT_4 ( 33, 0, 15 ), RPT_4 ( -33, 0, 15 ), |
|
1272 |
+ RPT_4 ( 34, 0, 15 ), RPT_4 ( -34, 0, 15 ), |
|
1273 |
+ RPT_4 ( 35, 0, 15 ), RPT_4 ( -35, 0, 15 ), |
|
1274 |
+ RPT_4 ( 36, 0, 15 ), RPT_4 ( -36, 0, 15 ), |
|
1275 |
+ RPT_4 ( 37, 0, 15 ), RPT_4 ( -37, 0, 15 ), |
|
1276 |
+ RPT_4 ( 38, 0, 15 ), RPT_4 ( -38, 0, 15 ), |
|
1277 |
+ RPT_4 ( 39, 0, 15 ), RPT_4 ( -39, 0, 15 ), |
|
1278 |
+ RPT_4 ( 40, 0, 15 ), RPT_4 ( -40, 0, 15 ), |
|
1279 |
+ RPT_4 ( 41, 0, 15 ), RPT_4 ( -41, 0, 15 ), |
|
1280 |
+ RPT_4 ( 42, 0, 15 ), RPT_4 ( -42, 0, 15 ), |
|
1281 |
+ RPT_4 ( 43, 0, 15 ), RPT_4 ( -43, 0, 15 ), |
|
1282 |
+ RPT_4 ( 44, 0, 15 ), RPT_4 ( -44, 0, 15 ), |
|
1283 |
+ RPT_4 ( 45, 0, 15 ), RPT_4 ( -45, 0, 15 ), |
|
1284 |
+ RPT_4 ( 46, 0, 15 ), RPT_4 ( -46, 0, 15 ), |
|
1285 |
+ RPT_4 ( 47, 0, 15 ), RPT_4 ( -47, 0, 15 ), |
|
1286 |
+ RPT_4 ( 48, 0, 15 ), RPT_4 ( -48, 0, 15 ), |
|
1287 |
+ RPT_4 ( 49, 0, 15 ), RPT_4 ( -49, 0, 15 ), |
|
1288 |
+ RPT_4 ( 50, 0, 15 ), RPT_4 ( -50, 0, 15 ), |
|
1289 |
+ RPT_4 ( 51, 0, 15 ), RPT_4 ( -51, 0, 15 ), |
|
1290 |
+ RPT_4 ( 52, 0, 15 ), RPT_4 ( -52, 0, 15 ), |
|
1291 |
+ RPT_4 ( 53, 0, 15 ), RPT_4 ( -53, 0, 15 ), |
|
1292 |
+ RPT_4 ( 54, 0, 15 ), RPT_4 ( -54, 0, 15 ), |
|
1293 |
+ RPT_4 ( 55, 0, 15 ), RPT_4 ( -55, 0, 15 ), |
|
1294 |
+ RPT_4 ( 56, 0, 15 ), RPT_4 ( -56, 0, 15 ), |
|
1295 |
+ RPT_4 ( 57, 0, 15 ), RPT_4 ( -57, 0, 15 ), |
|
1296 |
+ RPT_4 ( 58, 0, 15 ), RPT_4 ( -58, 0, 15 ), |
|
1297 |
+ RPT_4 ( 59, 0, 15 ), RPT_4 ( -59, 0, 15 ), |
|
1298 |
+ RPT_4 ( 60, 0, 15 ), RPT_4 ( -60, 0, 15 ), |
|
1299 |
+ RPT_4 ( 61, 0, 15 ), RPT_4 ( -61, 0, 15 ), |
|
1300 |
+ RPT_4 ( 62, 0, 15 ), RPT_4 ( -62, 0, 15 ), |
|
1301 |
+ RPT_4 ( 63, 0, 15 ), RPT_4 ( -63, 0, 15 ), |
|
1302 |
+ RPT_4 ( 64, 0, 15 ), RPT_4 ( -64, 0, 15 ), |
|
1303 |
+ RPT_4 ( 65, 0, 15 ), RPT_4 ( -65, 0, 15 ), |
|
1304 |
+ RPT_4 ( 66, 0, 15 ), RPT_4 ( -66, 0, 15 ), |
|
1305 |
+ RPT_4 ( 67, 0, 15 ), RPT_4 ( -67, 0, 15 ), |
|
1306 |
+ RPT_4 ( 68, 0, 15 ), RPT_4 ( -68, 0, 15 ), |
|
1307 |
+ RPT_4 ( 69, 0, 15 ), RPT_4 ( -69, 0, 15 ), |
|
1308 |
+ RPT_4 ( 70, 0, 15 ), RPT_4 ( -70, 0, 15 ), |
|
1309 |
+ RPT_4 ( 71, 0, 15 ), RPT_4 ( -71, 0, 15 ), |
|
1310 |
+ RPT_4 ( 72, 0, 15 ), RPT_4 ( -72, 0, 15 ), |
|
1311 |
+ RPT_4 ( 73, 0, 15 ), RPT_4 ( -73, 0, 15 ), |
|
1312 |
+ RPT_4 ( 74, 0, 15 ), RPT_4 ( -74, 0, 15 ), |
|
1313 |
+ RPT_4 ( 75, 0, 15 ), RPT_4 ( -75, 0, 15 ), |
|
1314 |
+ RPT_4 ( 76, 0, 15 ), RPT_4 ( -76, 0, 15 ), |
|
1315 |
+ RPT_4 ( 77, 0, 15 ), RPT_4 ( -77, 0, 15 ), |
|
1316 |
+ RPT_4 ( 78, 0, 15 ), RPT_4 ( -78, 0, 15 ), |
|
1317 |
+ RPT_4 ( 79, 0, 15 ), RPT_4 ( -79, 0, 15 ), |
|
1318 |
+ RPT_4 ( 80, 0, 15 ), RPT_4 ( -80, 0, 15 ), |
|
1319 |
+ RPT_4 ( 81, 0, 15 ), RPT_4 ( -81, 0, 15 ), |
|
1320 |
+ RPT_4 ( 82, 0, 15 ), RPT_4 ( -82, 0, 15 ), |
|
1321 |
+ RPT_4 ( 83, 0, 15 ), RPT_4 ( -83, 0, 15 ), |
|
1322 |
+ RPT_4 ( 84, 0, 15 ), RPT_4 ( -84, 0, 15 ), |
|
1323 |
+ RPT_4 ( 85, 0, 15 ), RPT_4 ( -85, 0, 15 ), |
|
1324 |
+ RPT_4 ( 86, 0, 15 ), RPT_4 ( -86, 0, 15 ), |
|
1325 |
+ RPT_4 ( 87, 0, 15 ), RPT_4 ( -87, 0, 15 ), |
|
1326 |
+ RPT_4 ( 88, 0, 15 ), RPT_4 ( -88, 0, 15 ), |
|
1327 |
+ RPT_4 ( 89, 0, 15 ), RPT_4 ( -89, 0, 15 ), |
|
1328 |
+ RPT_4 ( 90, 0, 15 ), RPT_4 ( -90, 0, 15 ), |
|
1329 |
+ RPT_4 ( 91, 0, 15 ), RPT_4 ( -91, 0, 15 ), |
|
1330 |
+ RPT_4 ( 92, 0, 15 ), RPT_4 ( -92, 0, 15 ), |
|
1331 |
+ RPT_4 ( 93, 0, 15 ), RPT_4 ( -93, 0, 15 ), |
|
1332 |
+ RPT_4 ( 94, 0, 15 ), RPT_4 ( -94, 0, 15 ), |
|
1333 |
+ RPT_4 ( 95, 0, 15 ), RPT_4 ( -95, 0, 15 ), |
|
1334 |
+ RPT_4 ( 96, 0, 15 ), RPT_4 ( -96, 0, 15 ), |
|
1335 |
+ RPT_4 ( 97, 0, 15 ), RPT_4 ( -97, 0, 15 ), |
|
1336 |
+ RPT_4 ( 98, 0, 15 ), RPT_4 ( -98, 0, 15 ), |
|
1337 |
+ RPT_4 ( 99, 0, 15 ), RPT_4 ( -99, 0, 15 ), |
|
1338 |
+ RPT_4 ( 100, 0, 15 ), RPT_4 (-100, 0, 15 ), |
|
1339 |
+ RPT_4 ( 101, 0, 15 ), RPT_4 (-101, 0, 15 ), |
|
1340 |
+ RPT_4 ( 102, 0, 15 ), RPT_4 (-102, 0, 15 ), |
|
1341 |
+ RPT_4 ( 103, 0, 15 ), RPT_4 (-103, 0, 15 ), |
|
1342 |
+ RPT_4 ( 104, 0, 15 ), RPT_4 (-104, 0, 15 ), |
|
1343 |
+ RPT_4 ( 105, 0, 15 ), RPT_4 (-105, 0, 15 ), |
|
1344 |
+ RPT_4 ( 106, 0, 15 ), RPT_4 (-106, 0, 15 ), |
|
1345 |
+ RPT_4 ( 107, 0, 15 ), RPT_4 (-107, 0, 15 ), |
|
1346 |
+ RPT_4 ( 108, 0, 15 ), RPT_4 (-108, 0, 15 ), |
|
1347 |
+ RPT_4 ( 109, 0, 15 ), RPT_4 (-109, 0, 15 ), |
|
1348 |
+ RPT_4 ( 110, 0, 15 ), RPT_4 (-110, 0, 15 ), |
|
1349 |
+ RPT_4 ( 111, 0, 15 ), RPT_4 (-111, 0, 15 ), |
|
1350 |
+ RPT_4 ( 112, 0, 15 ), RPT_4 (-112, 0, 15 ), |
|
1351 |
+ RPT_4 ( 113, 0, 15 ), RPT_4 (-113, 0, 15 ), |
|
1352 |
+ RPT_4 ( 114, 0, 15 ), RPT_4 (-114, 0, 15 ), |
|
1353 |
+ RPT_4 ( 115, 0, 15 ), RPT_4 (-115, 0, 15 ), |
|
1354 |
+ RPT_4 ( 116, 0, 15 ), RPT_4 (-116, 0, 15 ), |
|
1355 |
+ RPT_4 ( 117, 0, 15 ), RPT_4 (-117, 0, 15 ), |
|
1356 |
+ RPT_4 ( 118, 0, 15 ), RPT_4 (-118, 0, 15 ), |
|
1357 |
+ RPT_4 ( 119, 0, 15 ), RPT_4 (-119, 0, 15 ), |
|
1358 |
+ RPT_4 ( 120, 0, 15 ), RPT_4 (-120, 0, 15 ), |
|
1359 |
+ RPT_4 ( 121, 0, 15 ), RPT_4 (-121, 0, 15 ), |
|
1360 |
+ RPT_4 ( 122, 0, 15 ), RPT_4 (-122, 0, 15 ), |
|
1361 |
+ RPT_4 ( 123, 0, 15 ), RPT_4 (-123, 0, 15 ), |
|
1362 |
+ RPT_4 ( 124, 0, 15 ), RPT_4 (-124, 0, 15 ), |
|
1363 |
+ RPT_4 ( 125, 0, 15 ), RPT_4 (-125, 0, 15 ), |
|
1364 |
+ RPT_4 ( 126, 0, 15 ), RPT_4 (-126, 0, 15 ), |
|
1365 |
+ RPT_4 ( 127, 0, 15 ), RPT_4 (-127, 0, 15 ), |
|
1366 |
+ RPT_4 ( 128, 0, 15 ), RPT_4 (-128, 0, 15 ), |
|
1367 |
+ RPT_4 ( 129, 0, 15 ), RPT_4 (-129, 0, 15 ), |
|
1368 |
+ RPT_4 ( 130, 0, 15 ), RPT_4 (-130, 0, 15 ), |
|
1369 |
+ RPT_4 ( 131, 0, 15 ), RPT_4 (-131, 0, 15 ), |
|
1370 |
+ RPT_4 ( 132, 0, 15 ), RPT_4 (-132, 0, 15 ), |
|
1371 |
+ RPT_4 ( 133, 0, 15 ), RPT_4 (-133, 0, 15 ), |
|
1372 |
+ RPT_4 ( 134, 0, 15 ), RPT_4 (-134, 0, 15 ), |
|
1373 |
+ RPT_4 ( 135, 0, 15 ), RPT_4 (-135, 0, 15 ), |
|
1374 |
+ RPT_4 ( 136, 0, 15 ), RPT_4 (-136, 0, 15 ), |
|
1375 |
+ RPT_4 ( 137, 0, 15 ), RPT_4 (-137, 0, 15 ), |
|
1376 |
+ RPT_4 ( 138, 0, 15 ), RPT_4 (-138, 0, 15 ), |
|
1377 |
+ RPT_4 ( 139, 0, 15 ), RPT_4 (-139, 0, 15 ), |
|
1378 |
+ RPT_4 ( 140, 0, 15 ), RPT_4 (-140, 0, 15 ), |
|
1379 |
+ RPT_4 ( 141, 0, 15 ), RPT_4 (-141, 0, 15 ), |
|
1380 |
+ RPT_4 ( 142, 0, 15 ), RPT_4 (-142, 0, 15 ), |
|
1381 |
+ RPT_4 ( 143, 0, 15 ), RPT_4 (-143, 0, 15 ), |
|
1382 |
+ RPT_4 ( 144, 0, 15 ), RPT_4 (-144, 0, 15 ), |
|
1383 |
+ RPT_4 ( 145, 0, 15 ), RPT_4 (-145, 0, 15 ), |
|
1384 |
+ RPT_4 ( 146, 0, 15 ), RPT_4 (-146, 0, 15 ), |
|
1385 |
+ RPT_4 ( 147, 0, 15 ), RPT_4 (-147, 0, 15 ), |
|
1386 |
+ RPT_4 ( 148, 0, 15 ), RPT_4 (-148, 0, 15 ), |
|
1387 |
+ RPT_4 ( 149, 0, 15 ), RPT_4 (-149, 0, 15 ), |
|
1388 |
+ RPT_4 ( 150, 0, 15 ), RPT_4 (-150, 0, 15 ), |
|
1389 |
+ RPT_4 ( 151, 0, 15 ), RPT_4 (-151, 0, 15 ), |
|
1390 |
+ RPT_4 ( 152, 0, 15 ), RPT_4 (-152, 0, 15 ), |
|
1391 |
+ RPT_4 ( 153, 0, 15 ), RPT_4 (-153, 0, 15 ), |
|
1392 |
+ RPT_4 ( 154, 0, 15 ), RPT_4 (-154, 0, 15 ), |
|
1393 |
+ RPT_4 ( 155, 0, 15 ), RPT_4 (-155, 0, 15 ), |
|
1394 |
+ RPT_4 ( 156, 0, 15 ), RPT_4 (-156, 0, 15 ), |
|
1395 |
+ RPT_4 ( 157, 0, 15 ), RPT_4 (-157, 0, 15 ), |
|
1396 |
+ RPT_4 ( 158, 0, 15 ), RPT_4 (-158, 0, 15 ), |
|
1397 |
+ RPT_4 ( 159, 0, 15 ), RPT_4 (-159, 0, 15 ), |
|
1398 |
+ RPT_4 ( 160, 0, 15 ), RPT_4 (-160, 0, 15 ), |
|
1399 |
+ RPT_4 ( 161, 0, 15 ), RPT_4 (-161, 0, 15 ), |
|
1400 |
+ RPT_4 ( 162, 0, 15 ), RPT_4 (-162, 0, 15 ), |
|
1401 |
+ RPT_4 ( 163, 0, 15 ), RPT_4 (-163, 0, 15 ), |
|
1402 |
+ RPT_4 ( 164, 0, 15 ), RPT_4 (-164, 0, 15 ), |
|
1403 |
+ RPT_4 ( 165, 0, 15 ), RPT_4 (-165, 0, 15 ), |
|
1404 |
+ RPT_4 ( 166, 0, 15 ), RPT_4 (-166, 0, 15 ), |
|
1405 |
+ RPT_4 ( 167, 0, 15 ), RPT_4 (-167, 0, 15 ), |
|
1406 |
+ RPT_4 ( 168, 0, 15 ), RPT_4 (-168, 0, 15 ), |
|
1407 |
+ RPT_4 ( 169, 0, 15 ), RPT_4 (-169, 0, 15 ), |
|
1408 |
+ RPT_4 ( 170, 0, 15 ), RPT_4 (-170, 0, 15 ), |
|
1409 |
+ RPT_4 ( 171, 0, 15 ), RPT_4 (-171, 0, 15 ), |
|
1410 |
+ RPT_4 ( 172, 0, 15 ), RPT_4 (-172, 0, 15 ), |
|
1411 |
+ RPT_4 ( 173, 0, 15 ), RPT_4 (-173, 0, 15 ), |
|
1412 |
+ RPT_4 ( 174, 0, 15 ), RPT_4 (-174, 0, 15 ), |
|
1413 |
+ RPT_4 ( 175, 0, 15 ), RPT_4 (-175, 0, 15 ), |
|
1414 |
+ RPT_4 ( 176, 0, 15 ), RPT_4 (-176, 0, 15 ), |
|
1415 |
+ RPT_4 ( 177, 0, 15 ), RPT_4 (-177, 0, 15 ), |
|
1416 |
+ RPT_4 ( 178, 0, 15 ), RPT_4 (-178, 0, 15 ), |
|
1417 |
+ RPT_4 ( 179, 0, 15 ), RPT_4 (-179, 0, 15 ), |
|
1418 |
+ RPT_4 ( 180, 0, 15 ), RPT_4 (-180, 0, 15 ), |
|
1419 |
+ RPT_4 ( 181, 0, 15 ), RPT_4 (-181, 0, 15 ), |
|
1420 |
+ RPT_4 ( 182, 0, 15 ), RPT_4 (-182, 0, 15 ), |
|
1421 |
+ RPT_4 ( 183, 0, 15 ), RPT_4 (-183, 0, 15 ), |
|
1422 |
+ RPT_4 ( 184, 0, 15 ), RPT_4 (-184, 0, 15 ), |
|
1423 |
+ RPT_4 ( 185, 0, 15 ), RPT_4 (-185, 0, 15 ), |
|
1424 |
+ RPT_4 ( 186, 0, 15 ), RPT_4 (-186, 0, 15 ), |
|
1425 |
+ RPT_4 ( 187, 0, 15 ), RPT_4 (-187, 0, 15 ), |
|
1426 |
+ RPT_4 ( 188, 0, 15 ), RPT_4 (-188, 0, 15 ), |
|
1427 |
+ RPT_4 ( 189, 0, 15 ), RPT_4 (-189, 0, 15 ), |
|
1428 |
+ RPT_4 ( 190, 0, 15 ), RPT_4 (-190, 0, 15 ), |
|
1429 |
+ RPT_4 ( 191, 0, 15 ), RPT_4 (-191, 0, 15 ), |
|
1430 |
+ RPT_4 ( 192, 0, 15 ), RPT_4 (-192, 0, 15 ), |
|
1431 |
+ RPT_4 ( 193, 0, 15 ), RPT_4 (-193, 0, 15 ), |
|
1432 |
+ RPT_4 ( 194, 0, 15 ), RPT_4 (-194, 0, 15 ), |
|
1433 |
+ RPT_4 ( 195, 0, 15 ), RPT_4 (-195, 0, 15 ), |
|
1434 |
+ RPT_4 ( 196, 0, 15 ), RPT_4 (-196, 0, 15 ), |
|
1435 |
+ RPT_4 ( 197, 0, 15 ), RPT_4 (-197, 0, 15 ), |
|
1436 |
+ RPT_4 ( 198, 0, 15 ), RPT_4 (-198, 0, 15 ), |
|
1437 |
+ RPT_4 ( 199, 0, 15 ), RPT_4 (-199, 0, 15 ), |
|
1438 |
+ RPT_4 ( 200, 0, 15 ), RPT_4 (-200, 0, 15 ), |
|
1439 |
+ RPT_4 ( 201, 0, 15 ), RPT_4 (-201, 0, 15 ), |
|
1440 |
+ RPT_4 ( 202, 0, 15 ), RPT_4 (-202, 0, 15 ), |
|
1441 |
+ RPT_4 ( 203, 0, 15 ), RPT_4 (-203, 0, 15 ), |
|
1442 |
+ RPT_4 ( 204, 0, 15 ), RPT_4 (-204, 0, 15 ), |
|
1443 |
+ RPT_4 ( 205, 0, 15 ), RPT_4 (-205, 0, 15 ), |
|
1444 |
+ RPT_4 ( 206, 0, 15 ), RPT_4 (-206, 0, 15 ), |
|
1445 |
+ RPT_4 ( 207, 0, 15 ), RPT_4 (-207, 0, 15 ), |
|
1446 |
+ RPT_4 ( 208, 0, 15 ), RPT_4 (-208, 0, 15 ), |
|
1447 |
+ RPT_4 ( 209, 0, 15 ), RPT_4 (-209, 0, 15 ), |
|
1448 |
+ RPT_4 ( 210, 0, 15 ), RPT_4 (-210, 0, 15 ), |
|
1449 |
+ RPT_4 ( 211, 0, 15 ), RPT_4 (-211, 0, 15 ), |
|
1450 |
+ RPT_4 ( 212, 0, 15 ), RPT_4 (-212, 0, 15 ), |
|
1451 |
+ RPT_4 ( 213, 0, 15 ), RPT_4 (-213, 0, 15 ), |
|
1452 |
+ RPT_4 ( 214, 0, 15 ), RPT_4 (-214, 0, 15 ), |
|
1453 |
+ RPT_4 ( 215, 0, 15 ), RPT_4 (-215, 0, 15 ), |
|
1454 |
+ RPT_4 ( 216, 0, 15 ), RPT_4 (-216, 0, 15 ), |
|
1455 |
+ RPT_4 ( 217, 0, 15 ), RPT_4 (-217, 0, 15 ), |
|
1456 |
+ RPT_4 ( 218, 0, 15 ), RPT_4 (-218, 0, 15 ), |
|
1457 |
+ RPT_4 ( 219, 0, 15 ), RPT_4 (-219, 0, 15 ), |
|
1458 |
+ RPT_4 ( 220, 0, 15 ), RPT_4 (-220, 0, 15 ), |
|
1459 |
+ RPT_4 ( 221, 0, 15 ), RPT_4 (-221, 0, 15 ), |
|
1460 |
+ RPT_4 ( 222, 0, 15 ), RPT_4 (-222, 0, 15 ), |
|
1461 |
+ RPT_4 ( 223, 0, 15 ), RPT_4 (-223, 0, 15 ), |
|
1462 |
+ RPT_4 ( 224, 0, 15 ), RPT_4 (-224, 0, 15 ), |
|
1463 |
+ RPT_4 ( 225, 0, 15 ), RPT_4 (-225, 0, 15 ), |
|
1464 |
+ RPT_4 ( 226, 0, 15 ), RPT_4 (-226, 0, 15 ), |
|
1465 |
+ RPT_4 ( 227, 0, 15 ), RPT_4 (-227, 0, 15 ), |
|
1466 |
+ RPT_4 ( 228, 0, 15 ), RPT_4 (-228, 0, 15 ), |
|
1467 |
+ RPT_4 ( 229, 0, 15 ), RPT_4 (-229, 0, 15 ), |
|
1468 |
+ RPT_4 ( 230, 0, 15 ), RPT_4 (-230, 0, 15 ), |
|
1469 |
+ RPT_4 ( 231, 0, 15 ), RPT_4 (-231, 0, 15 ), |
|
1470 |
+ RPT_4 ( 232, 0, 15 ), RPT_4 (-232, 0, 15 ), |
|
1471 |
+ RPT_4 ( 233, 0, 15 ), RPT_4 (-233, 0, 15 ), |
|
1472 |
+ RPT_4 ( 234, 0, 15 ), RPT_4 (-234, 0, 15 ), |
|
1473 |
+ RPT_4 ( 235, 0, 15 ), RPT_4 (-235, 0, 15 ), |
|
1474 |
+ RPT_4 ( 236, 0, 15 ), RPT_4 (-236, 0, 15 ), |
|
1475 |
+ RPT_4 ( 237, 0, 15 ), RPT_4 (-237, 0, 15 ), |
|
1476 |
+ RPT_4 ( 238, 0, 15 ), RPT_4 (-238, 0, 15 ), |
|
1477 |
+ RPT_4 ( 239, 0, 15 ), RPT_4 (-239, 0, 15 ), |
|
1478 |
+ RPT_4 ( 240, 0, 15 ), RPT_4 (-240, 0, 15 ), |
|
1479 |
+ RPT_4 ( 241, 0, 15 ), RPT_4 (-241, 0, 15 ), |
|
1480 |
+ RPT_4 ( 242, 0, 15 ), RPT_4 (-242, 0, 15 ), |
|
1481 |
+ RPT_4 ( 243, 0, 15 ), RPT_4 (-243, 0, 15 ), |
|
1482 |
+ RPT_4 ( 244, 0, 15 ), RPT_4 (-244, 0, 15 ), |
|
1483 |
+ RPT_4 ( 245, 0, 15 ), RPT_4 (-245, 0, 15 ), |
|
1484 |
+ RPT_4 ( 246, 0, 15 ), RPT_4 (-246, 0, 15 ), |
|
1485 |
+ RPT_4 ( 247, 0, 15 ), RPT_4 (-247, 0, 15 ), |
|
1486 |
+ RPT_4 ( 248, 0, 15 ), RPT_4 (-248, 0, 15 ), |
|
1487 |
+ RPT_4 ( 249, 0, 15 ), RPT_4 (-249, 0, 15 ), |
|
1488 |
+ RPT_4 ( 250, 0, 15 ), RPT_4 (-250, 0, 15 ), |
|
1489 |
+ RPT_4 ( 251, 0, 15 ), RPT_4 (-251, 0, 15 ), |
|
1490 |
+ RPT_4 ( 252, 0, 15 ), RPT_4 (-252, 0, 15 ), |
|
1491 |
+ RPT_4 ( 253, 0, 15 ), RPT_4 (-253, 0, 15 ), |
|
1492 |
+ RPT_4 ( 254, 0, 15 ), RPT_4 (-254, 0, 15 ), |
|
1493 |
+ RPT_4 ( 255, 0, 15 ), RPT_4 (-255, 0, 15 ), |
|
1494 |
+ RPT_32 ( 49, 0, 12 ), RPT_32 ( -49, 0, 12 ), |
|
1495 |
+ RPT_32 ( 50, 0, 12 ), RPT_32 ( -50, 0, 12 ), |
|
1496 |
+ RPT_32 ( 51, 0, 12 ), RPT_32 ( -51, 0, 12 ), |
|
1497 |
+ RPT_32 ( 52, 0, 12 ), RPT_32 ( -52, 0, 12 ), |
|
1498 |
+ RPT_32 ( 53, 0, 12 ), RPT_32 ( -53, 0, 12 ), |
|
1499 |
+ RPT_32 ( 54, 0, 12 ), RPT_32 ( -54, 0, 12 ), |
|
1500 |
+ RPT_32 ( 55, 0, 12 ), RPT_32 ( -55, 0, 12 ), |
|
1501 |
+ RPT_32 ( 56, 0, 12 ), RPT_32 ( -56, 0, 12 ), |
|
1502 |
+ RPT_32 ( 57, 0, 12 ), RPT_32 ( -57, 0, 12 ), |
|
1503 |
+ RPT_32 ( 58, 0, 12 ), RPT_32 ( -58, 0, 12 ), |
|
1504 |
+ RPT_32 ( 59, 0, 12 ), RPT_32 ( -59, 0, 12 ), |
|
1505 |
+ RPT_32 ( 60, 0, 12 ), RPT_32 ( -60, 0, 12 ), |
|
1506 |
+ RPT_32 ( 61, 0, 12 ), RPT_32 ( -61, 0, 12 ), |
|
1507 |
+ RPT_32 ( 62, 0, 12 ), RPT_32 ( -62, 0, 12 ), |
|
1508 |
+ RPT_32 ( 63, 0, 12 ), RPT_32 ( -63, 0, 12 ), |
|
1509 |
+ RPT_32 ( 17, 1, 12 ), RPT_32 ( -17, 1, 12 ), |
|
1510 |
+ RPT_32 ( 18, 1, 12 ), RPT_32 ( -18, 1, 12 ), |
|
1511 |
+ RPT_32 ( 19, 1, 12 ), RPT_32 ( -19, 1, 12 ), |
|
1512 |
+ RPT_32 ( 20, 1, 12 ), RPT_32 ( -20, 1, 12 ), |
|
1513 |
+ RPT_32 ( 21, 1, 12 ), RPT_32 ( -21, 1, 12 ), |
|
1514 |
+ RPT_32 ( 22, 1, 12 ), RPT_32 ( -22, 1, 12 ), |
|
1515 |
+ RPT_32 ( 23, 1, 12 ), RPT_32 ( -23, 1, 12 ), |
|
1516 |
+ RPT_32 ( 24, 1, 12 ), RPT_32 ( -24, 1, 12 ), |
|
1517 |
+ RPT_32 ( 9, 2, 12 ), RPT_32 ( -9, 2, 12 ), |
|
1518 |
+ RPT_32 ( 10, 2, 12 ), RPT_32 ( -10, 2, 12 ), |
|
1519 |
+ RPT_32 ( 11, 2, 12 ), RPT_32 ( -11, 2, 12 ), |
|
1520 |
+ RPT_32 ( 12, 2, 12 ), RPT_32 ( -12, 2, 12 ), |
|
1521 |
+ RPT_32 ( 7, 3, 12 ), RPT_32 ( -7, 3, 12 ), |
|
1522 |
+ RPT_32 ( 8, 3, 12 ), RPT_32 ( -8, 3, 12 ), |
|
1523 |
+ RPT_32 ( 5, 4, 12 ), RPT_32 ( -5, 4, 12 ), |
|
1524 |
+ RPT_32 ( 6, 4, 12 ), RPT_32 ( -6, 4, 12 ), |
|
1525 |
+ RPT_32 ( 3, 5, 12 ), RPT_32 ( -3, 5, 12 ), |
|
1526 |
+ RPT_32 ( 4, 5, 12 ), RPT_32 ( -4, 5, 12 ), |
|
1527 |
+ RPT_32 ( 5, 5, 12 ), RPT_32 ( -5, 5, 12 ), |
|
1528 |
+ RPT_32 ( 6, 5, 12 ), RPT_32 ( -6, 5, 12 ), |
|
1529 |
+ RPT_32 ( 3, 6, 12 ), RPT_32 ( -3, 6, 12 ), |
|
1530 |
+ RPT_32 ( 4, 6, 12 ), RPT_32 ( -4, 6, 12 ), |
|
1531 |
+ RPT_32 ( 2, 7, 12 ), RPT_32 ( -2, 7, 12 ), |
|
1532 |
+ RPT_32 ( 2, 8, 12 ), RPT_32 ( -2, 8, 12 ), |
|
1533 |
+ RPT_32 ( 2, 9, 12 ), RPT_32 ( -2, 9, 12 ), |
|
1534 |
+ RPT_32 ( 2, 10, 12 ), RPT_32 ( -2, 10, 12 ), |
|
1535 |
+ RPT_32 ( 1, 13, 12 ), RPT_32 ( -1, 13, 12 ), |
|
1536 |
+ RPT_32 ( 1, 14, 12 ), RPT_32 ( -1, 14, 12 ), |
|
1537 |
+ { 0, 0, 17 }, { 0, 1, 17 }, { 0, 2, 17 }, { 0, 3, 17 }, |
|
1538 |
+ { 0, 4, 17 }, { 0, 5, 17 }, { 0, 6, 17 }, { 0, 7, 17 }, |
|
1539 |
+ { 0, 8, 17 }, { 0, 9, 17 }, { 0, 10, 17 }, { 0, 11, 17 }, |
|
1540 |
+ { 0, 12, 17 }, { 0, 13, 17 }, { 0, 14, 17 }, { 0, 15, 17 }, |
|
1541 |
+ { 0, 16, 17 }, { 0, 17, 17 }, { 0, 18, 17 }, { 0, 19, 17 }, |
|
1542 |
+ { 0, 20, 17 }, { 0, 21, 17 }, { 0, 22, 17 }, { 0, 23, 17 }, |
|
1543 |
+ { 0, 24, 17 }, { 0, 25, 17 }, { 0, 26, 17 }, { 0, 27, 17 }, |
|
1544 |
+ { 0, 28, 17 }, { 0, 29, 17 }, { 0, 30, 17 }, { 0, 31, 17 }, |
|
1545 |
+ { 0, 32, 17 }, { 0, 33, 17 }, { 0, 34, 17 }, { 0, 35, 17 }, |
|
1546 |
+ { 0, 36, 17 }, { 0, 37, 17 }, { 0, 38, 17 }, { 0, 39, 17 }, |
|
1547 |
+ { 0, 40, 17 }, { 0, 41, 17 }, { 0, 42, 17 }, { 0, 43, 17 }, |
|
1548 |
+ { 0, 44, 17 }, { 0, 45, 17 }, { 0, 46, 17 }, { 0, 47, 17 }, |
|
1549 |
+ { 0, 48, 17 }, { 0, 49, 17 }, { 0, 50, 17 }, { 0, 51, 17 }, |
|
1550 |
+ { 0, 52, 17 }, { 0, 53, 17 }, { 0, 54, 17 }, { 0, 55, 17 }, |
|
1551 |
+ { 0, 56, 17 }, { 0, 57, 17 }, { 0, 58, 17 }, { 0, 59, 17 }, |
|
1552 |
+ { 0, 60, 17 }, { 0, 61, 17 }, { 0, 62, 17 }, { 0, 63, 17 }, |
|
1553 |
+ RPT_16 ( 25, 1, 13 ), RPT_16 ( -25, 1, 13 ), |
|
1554 |
+ RPT_16 ( 26, 1, 13 ), RPT_16 ( -26, 1, 13 ), |
|
1555 |
+ RPT_16 ( 27, 1, 13 ), RPT_16 ( -27, 1, 13 ), |
|
1556 |
+ RPT_16 ( 28, 1, 13 ), RPT_16 ( -28, 1, 13 ), |
|
1557 |
+ RPT_16 ( 29, 1, 13 ), RPT_16 ( -29, 1, 13 ), |
|
1558 |
+ RPT_16 ( 30, 1, 13 ), RPT_16 ( -30, 1, 13 ), |
|
1559 |
+ RPT_16 ( 31, 1, 13 ), RPT_16 ( -31, 1, 13 ), |
|
1560 |
+ RPT_16 ( 32, 1, 13 ), RPT_16 ( -32, 1, 13 ), |
|
1561 |
+ RPT_16 ( 13, 2, 13 ), RPT_16 ( -13, 2, 13 ), |
|
1562 |
+ RPT_16 ( 14, 2, 13 ), RPT_16 ( -14, 2, 13 ), |
|
1563 |
+ RPT_16 ( 15, 2, 13 ), RPT_16 ( -15, 2, 13 ), |
|
1564 |
+ RPT_16 ( 16, 2, 13 ), RPT_16 ( -16, 2, 13 ), |
|
1565 |
+ RPT_16 ( 9, 3, 13 ), RPT_16 ( -9, 3, 13 ), |
|
1566 |
+ RPT_16 ( 10, 3, 13 ), RPT_16 ( -10, 3, 13 ), |
|
1567 |
+ RPT_16 ( 11, 3, 13 ), RPT_16 ( -11, 3, 13 ), |
|
1568 |
+ RPT_16 ( 7, 4, 13 ), RPT_16 ( -7, 4, 13 ), |
|
1569 |
+ RPT_16 ( 3, 7, 13 ), RPT_16 ( -3, 7, 13 ), |
|
1570 |
+ RPT_16 ( 4, 7, 13 ), RPT_16 ( -4, 7, 13 ), |
|
1571 |
+ RPT_16 ( 3, 8, 13 ), RPT_16 ( -3, 8, 13 ), |
|
1572 |
+ RPT_16 ( 4, 8, 13 ), RPT_16 ( -4, 8, 13 ), |
|
1573 |
+ RPT_16 ( 3, 9, 13 ), RPT_16 ( -3, 9, 13 ), |
|
1574 |
+ RPT_16 ( 2, 11, 13 ), RPT_16 ( -2, 11, 13 ), |
|
1575 |
+ RPT_16 ( 2, 12, 13 ), RPT_16 ( -2, 12, 13 ), |
|
1576 |
+ RPT_32 ( 0, 14, 12 ), |
|
1577 |
+}; |
|
1578 |
+ |
|
1579 |
+static const HQXLUT ac16_lut[] = { |
|
1580 |
+ RPT_256 ( 1, 0, 3 ), RPT_256 ( -1, 0, 3 ), |
|
1581 |
+ RPT_128 ( 2, 0, 4 ), RPT_128 ( -2, 0, 4 ), |
|
1582 |
+ RPT_64 ( 3, 0, 5 ), RPT_64 ( -3, 0, 5 ), |
|
1583 |
+ RPT_64 ( 4, 0, 5 ), RPT_64 ( -4, 0, 5 ), |
|
1584 |
+ RPT_64 ( 1, 1, 5 ), RPT_64 ( -1, 1, 5 ), |
|
1585 |
+ RPT_128 ( 0, 64, 4 ), RPT_32 ( 5, 0, 6 ), |
|
1586 |
+ RPT_32 ( -5, 0, 6 ), RPT_32 ( 6, 0, 6 ), |
|
1587 |
+ RPT_32 ( -6, 0, 6 ), RPT_32 ( 2, 1, 6 ), |
|
1588 |
+ RPT_32 ( -2, 1, 6 ), RPT_32 ( 1, 2, 6 ), |
|
1589 |
+ RPT_32 ( -1, 2, 6 ), RPT_16 ( 7, 0, 7 ), |
|
1590 |
+ RPT_16 ( -7, 0, 7 ), RPT_16 ( 8, 0, 7 ), |
|
1591 |
+ RPT_16 ( -8, 0, 7 ), RPT_16 ( 9, 0, 7 ), |
|
1592 |
+ RPT_16 ( -9, 0, 7 ), RPT_16 ( 3, 1, 7 ), |
|
1593 |
+ RPT_16 ( -3, 1, 7 ), RPT_16 ( 1, 3, 7 ), |
|
1594 |
+ RPT_16 ( -1, 3, 7 ), RPT_16 ( 1, 4, 7 ), |
|
1595 |
+ RPT_16 ( -1, 4, 7 ), RPT_8 ( 10, 0, 8 ), |
|
1596 |
+ RPT_8 ( -10, 0, 8 ), RPT_8 ( 11, 0, 8 ), |
|
1597 |
+ RPT_8 ( -11, 0, 8 ), RPT_8 ( 12, 0, 8 ), |
|
1598 |
+ RPT_8 ( -12, 0, 8 ), RPT_8 ( 4, 1, 8 ), |
|
1599 |
+ RPT_8 ( -4, 1, 8 ), RPT_8 ( 2, 2, 8 ), |
|
1600 |
+ RPT_8 ( -2, 2, 8 ), RPT_8 ( 1, 5, 8 ), |
|
1601 |
+ RPT_8 ( -1, 5, 8 ), RPT_8 ( 1, 6, 8 ), |
|
1602 |
+ RPT_8 ( -1, 6, 8 ), RPT_4 ( 13, 0, 9 ), |
|
1603 |
+ RPT_4 ( -13, 0, 9 ), RPT_4 ( 14, 0, 9 ), |
|
1604 |
+ RPT_4 ( -14, 0, 9 ), RPT_4 ( 15, 0, 9 ), |
|
1605 |
+ RPT_4 ( -15, 0, 9 ), RPT_4 ( 16, 0, 9 ), |
|
1606 |
+ RPT_4 ( -16, 0, 9 ), RPT_4 ( 17, 0, 9 ), |
|
1607 |
+ RPT_4 ( -17, 0, 9 ), RPT_4 ( 5, 1, 9 ), |
|
1608 |
+ RPT_4 ( -5, 1, 9 ), RPT_4 ( 2, 3, 9 ), |
|
1609 |
+ RPT_4 ( -2, 3, 9 ), RPT_4 ( 1, 7, 9 ), |
|
1610 |
+ RPT_4 ( -1, 7, 9 ), RPT_4 ( 1, 8, 9 ), |
|
1611 |
+ RPT_4 ( -1, 8, 9 ), RPT_4 ( 1, 9, 9 ), |
|
1612 |
+ RPT_4 ( -1, 9, 9 ), RPT_4 ( 1, 10, 9 ), |
|
1613 |
+ RPT_4 ( -1, 10, 9 ), RPT_4 ( 0, 0, 9 ), |
|
1614 |
+ RPT_2 ( 18, 0, 10 ), RPT_2 ( -18, 0, 10 ), |
|
1615 |
+ RPT_2 ( 19, 0, 10 ), RPT_2 ( -19, 0, 10 ), |
|
1616 |
+ RPT_2 ( 20, 0, 10 ), RPT_2 ( -20, 0, 10 ), |
|
1617 |
+ RPT_2 ( 21, 0, 10 ), RPT_2 ( -21, 0, 10 ), |
|
1618 |
+ RPT_2 ( 22, 0, 10 ), RPT_2 ( -22, 0, 10 ), |
|
1619 |
+ RPT_2 ( 6, 1, 10 ), RPT_2 ( -6, 1, 10 ), |
|
1620 |
+ RPT_2 ( 7, 1, 10 ), RPT_2 ( -7, 1, 10 ), |
|
1621 |
+ RPT_2 ( 3, 2, 10 ), RPT_2 ( -3, 2, 10 ), |
|
1622 |
+ RPT_2 ( 2, 4, 10 ), RPT_2 ( -2, 4, 10 ), |
|
1623 |
+ RPT_2 ( 2, 5, 10 ), RPT_2 ( -2, 5, 10 ), |
|
1624 |
+ RPT_2 ( 1, 11, 10 ), RPT_2 ( -1, 11, 10 ), |
|
1625 |
+ RPT_2 ( 1, 12, 10 ), RPT_2 ( -1, 12, 10 ), |
|
1626 |
+ RPT_2 ( 1, 13, 10 ), RPT_2 ( -1, 13, 10 ), |
|
1627 |
+ { 2048, 0, -1 }, { 2112, 0, -1 }, { 2176, 0, -1 }, { 2240, 0, -1 }, |
|
1628 |
+ { 2304, 0, -1 }, { 2368, 0, -1 }, { 2432, 0, -1 }, { 2496, 0, -1 }, |
|
1629 |
+ { 23, 0, 11 }, { -23, 0, 11 }, { 24, 0, 11 }, { -24, 0, 11 }, |
|
1630 |
+ { 25, 0, 11 }, { -25, 0, 11 }, { 26, 0, 11 }, { -26, 0, 11 }, |
|
1631 |
+ { 27, 0, 11 }, { -27, 0, 11 }, { 28, 0, 11 }, { -28, 0, 11 }, |
|
1632 |
+ { 8, 1, 11 }, { -8, 1, 11 }, { 9, 1, 11 }, { -9, 1, 11 }, |
|
1633 |
+ { 4, 2, 11 }, { -4, 2, 11 }, { 3, 3, 11 }, { -3, 3, 11 }, |
|
1634 |
+ { 3, 4, 11 }, { -3, 4, 11 }, { 2, 6, 11 }, { -2, 6, 11 }, |
|
1635 |
+ { 2, 7, 11 }, { -2, 7, 11 }, { 2560, 0, -1 }, { 2624, 0, -1 }, |
|
1636 |
+ { 2688, 0, -1 }, { 2752, 0, -1 }, { 2816, 0, -1 }, { 2880, 0, -1 }, |
|
1637 |
+ { 2944, 0, -1 }, { 0, 1, 11 }, { 3008, 0, -1 }, { 3072, 0, -1 }, |
|
1638 |
+ { 3136, 0, -1 }, { 0, 2, 11 }, { 3200, 0, -1 }, { 0, 3, 11 }, |
|
1639 |
+ { 3264, 0, -1 }, { 3328, 0, -1 }, { 3392, 0, -1 }, { 3456, 0, -1 }, |
|
1640 |
+ { 3520, 0, -1 }, { 3584, 0, -1 }, { 3648, 0, -1 }, { 3712, 0, -1 }, |
|
1641 |
+ { 3776, 0, -1 }, { 3840, 0, -1 }, { 3904, 0, -1 }, { 3968, 0, -1 }, |
|
1642 |
+ { 4032, 0, -1 }, { 4096, 0, -1 }, { 4160, 0, -1 }, { 4224, 0, -1 }, |
|
1643 |
+ RPT_4 ( 0, 0, 15 ), RPT_4 ( 0, 1, 15 ), |
|
1644 |
+ RPT_4 ( 0, 2, 15 ), RPT_4 ( 0, 3, 15 ), |
|
1645 |
+ RPT_4 ( 0, 4, 15 ), RPT_4 ( 0, 5, 15 ), |
|
1646 |
+ RPT_4 ( 0, 6, 15 ), RPT_4 ( 0, 7, 15 ), |
|
1647 |
+ RPT_4 ( 0, 8, 15 ), RPT_4 ( 0, 9, 15 ), |
|
1648 |
+ RPT_4 ( 0, 10, 15 ), RPT_4 ( 0, 11, 15 ), |
|
1649 |
+ RPT_4 ( 0, 12, 15 ), RPT_4 ( 0, 13, 15 ), |
|
1650 |
+ RPT_4 ( 0, 14, 15 ), RPT_4 ( 0, 15, 15 ), |
|
1651 |
+ RPT_4 ( 0, 16, 15 ), RPT_4 ( 0, 17, 15 ), |
|
1652 |
+ RPT_4 ( 0, 18, 15 ), RPT_4 ( 0, 19, 15 ), |
|
1653 |
+ RPT_4 ( 0, 20, 15 ), RPT_4 ( 0, 21, 15 ), |
|
1654 |
+ RPT_4 ( 0, 22, 15 ), RPT_4 ( 0, 23, 15 ), |
|
1655 |
+ RPT_4 ( 0, 24, 15 ), RPT_4 ( 0, 25, 15 ), |
|
1656 |
+ RPT_4 ( 0, 26, 15 ), RPT_4 ( 0, 27, 15 ), |
|
1657 |
+ RPT_4 ( 0, 28, 15 ), RPT_4 ( 0, 29, 15 ), |
|
1658 |
+ RPT_4 ( 0, 30, 15 ), RPT_4 ( 0, 31, 15 ), |
|
1659 |
+ RPT_4 ( 0, 32, 15 ), RPT_4 ( 0, 33, 15 ), |
|
1660 |
+ RPT_4 ( 0, 34, 15 ), RPT_4 ( 0, 35, 15 ), |
|
1661 |
+ RPT_4 ( 0, 36, 15 ), RPT_4 ( 0, 37, 15 ), |
|
1662 |
+ RPT_4 ( 0, 38, 15 ), RPT_4 ( 0, 39, 15 ), |
|
1663 |
+ RPT_4 ( 0, 40, 15 ), RPT_4 ( 0, 41, 15 ), |
|
1664 |
+ RPT_4 ( 0, 42, 15 ), RPT_4 ( 0, 43, 15 ), |
|
1665 |
+ RPT_4 ( 0, 44, 15 ), RPT_4 ( 0, 45, 15 ), |
|
1666 |
+ RPT_4 ( 0, 46, 15 ), RPT_4 ( 0, 47, 15 ), |
|
1667 |
+ RPT_4 ( 0, 48, 15 ), RPT_4 ( 0, 49, 15 ), |
|
1668 |
+ RPT_4 ( 0, 50, 15 ), RPT_4 ( 0, 51, 15 ), |
|
1669 |
+ RPT_4 ( 0, 52, 15 ), RPT_4 ( 0, 53, 15 ), |
|
1670 |
+ RPT_4 ( 0, 54, 15 ), RPT_4 ( 0, 55, 15 ), |
|
1671 |
+ RPT_4 ( 0, 56, 15 ), RPT_4 ( 0, 57, 15 ), |
|
1672 |
+ RPT_4 ( 0, 58, 15 ), RPT_4 ( 0, 59, 15 ), |
|
1673 |
+ RPT_4 ( 0, 60, 15 ), RPT_4 ( 0, 61, 15 ), |
|
1674 |
+ RPT_4 ( 0, 62, 15 ), RPT_4 ( 0, 63, 15 ), |
|
1675 |
+ RPT_2 ( 0, 0, 16 ), { 1, 0, 17 }, { -1, 0, 17 }, |
|
1676 |
+ { 2, 0, 17 }, { -2, 0, 17 }, { 3, 0, 17 }, { -3, 0, 17 }, |
|
1677 |
+ { 4, 0, 17 }, { -4, 0, 17 }, { 5, 0, 17 }, { -5, 0, 17 }, |
|
1678 |
+ { 6, 0, 17 }, { -6, 0, 17 }, { 7, 0, 17 }, { -7, 0, 17 }, |
|
1679 |
+ { 8, 0, 17 }, { -8, 0, 17 }, { 9, 0, 17 }, { -9, 0, 17 }, |
|
1680 |
+ { 10, 0, 17 }, { -10, 0, 17 }, { 11, 0, 17 }, { -11, 0, 17 }, |
|
1681 |
+ { 12, 0, 17 }, { -12, 0, 17 }, { 13, 0, 17 }, { -13, 0, 17 }, |
|
1682 |
+ { 14, 0, 17 }, { -14, 0, 17 }, { 15, 0, 17 }, { -15, 0, 17 }, |
|
1683 |
+ { 16, 0, 17 }, { -16, 0, 17 }, { 17, 0, 17 }, { -17, 0, 17 }, |
|
1684 |
+ { 18, 0, 17 }, { -18, 0, 17 }, { 19, 0, 17 }, { -19, 0, 17 }, |
|
1685 |
+ { 20, 0, 17 }, { -20, 0, 17 }, { 21, 0, 17 }, { -21, 0, 17 }, |
|
1686 |
+ { 22, 0, 17 }, { -22, 0, 17 }, { 23, 0, 17 }, { -23, 0, 17 }, |
|
1687 |
+ { 24, 0, 17 }, { -24, 0, 17 }, { 25, 0, 17 }, { -25, 0, 17 }, |
|
1688 |
+ { 26, 0, 17 }, { -26, 0, 17 }, { 27, 0, 17 }, { -27, 0, 17 }, |
|
1689 |
+ { 28, 0, 17 }, { -28, 0, 17 }, { 29, 0, 17 }, { -29, 0, 17 }, |
|
1690 |
+ { 30, 0, 17 }, { -30, 0, 17 }, { 31, 0, 17 }, { -31, 0, 17 }, |
|
1691 |
+ { 32, 0, 17 }, { -32, 0, 17 }, { 33, 0, 17 }, { -33, 0, 17 }, |
|
1692 |
+ { 34, 0, 17 }, { -34, 0, 17 }, { 35, 0, 17 }, { -35, 0, 17 }, |
|
1693 |
+ { 36, 0, 17 }, { -36, 0, 17 }, { 37, 0, 17 }, { -37, 0, 17 }, |
|
1694 |
+ { 38, 0, 17 }, { -38, 0, 17 }, { 39, 0, 17 }, { -39, 0, 17 }, |
|
1695 |
+ { 40, 0, 17 }, { -40, 0, 17 }, { 41, 0, 17 }, { -41, 0, 17 }, |
|
1696 |
+ { 42, 0, 17 }, { -42, 0, 17 }, { 43, 0, 17 }, { -43, 0, 17 }, |
|
1697 |
+ { 44, 0, 17 }, { -44, 0, 17 }, { 45, 0, 17 }, { -45, 0, 17 }, |
|
1698 |
+ { 46, 0, 17 }, { -46, 0, 17 }, { 47, 0, 17 }, { -47, 0, 17 }, |
|
1699 |
+ { 48, 0, 17 }, { -48, 0, 17 }, { 49, 0, 17 }, { -49, 0, 17 }, |
|
1700 |
+ { 50, 0, 17 }, { -50, 0, 17 }, { 51, 0, 17 }, { -51, 0, 17 }, |
|
1701 |
+ { 52, 0, 17 }, { -52, 0, 17 }, { 53, 0, 17 }, { -53, 0, 17 }, |
|
1702 |
+ { 54, 0, 17 }, { -54, 0, 17 }, { 55, 0, 17 }, { -55, 0, 17 }, |
|
1703 |
+ { 56, 0, 17 }, { -56, 0, 17 }, { 57, 0, 17 }, { -57, 0, 17 }, |
|
1704 |
+ { 58, 0, 17 }, { -58, 0, 17 }, { 59, 0, 17 }, { -59, 0, 17 }, |
|
1705 |
+ { 60, 0, 17 }, { -60, 0, 17 }, { 61, 0, 17 }, { -61, 0, 17 }, |
|
1706 |
+ { 62, 0, 17 }, { -62, 0, 17 }, { 63, 0, 17 }, { -63, 0, 17 }, |
|
1707 |
+ { 64, 0, 17 }, { -64, 0, 17 }, { 65, 0, 17 }, { -65, 0, 17 }, |
|
1708 |
+ { 66, 0, 17 }, { -66, 0, 17 }, { 67, 0, 17 }, { -67, 0, 17 }, |
|
1709 |
+ { 68, 0, 17 }, { -68, 0, 17 }, { 69, 0, 17 }, { -69, 0, 17 }, |
|
1710 |
+ { 70, 0, 17 }, { -70, 0, 17 }, { 71, 0, 17 }, { -71, 0, 17 }, |
|
1711 |
+ { 72, 0, 17 }, { -72, 0, 17 }, { 73, 0, 17 }, { -73, 0, 17 }, |
|
1712 |
+ { 74, 0, 17 }, { -74, 0, 17 }, { 75, 0, 17 }, { -75, 0, 17 }, |
|
1713 |
+ { 76, 0, 17 }, { -76, 0, 17 }, { 77, 0, 17 }, { -77, 0, 17 }, |
|
1714 |
+ { 78, 0, 17 }, { -78, 0, 17 }, { 79, 0, 17 }, { -79, 0, 17 }, |
|
1715 |
+ { 80, 0, 17 }, { -80, 0, 17 }, { 81, 0, 17 }, { -81, 0, 17 }, |
|
1716 |
+ { 82, 0, 17 }, { -82, 0, 17 }, { 83, 0, 17 }, { -83, 0, 17 }, |
|
1717 |
+ { 84, 0, 17 }, { -84, 0, 17 }, { 85, 0, 17 }, { -85, 0, 17 }, |
|
1718 |
+ { 86, 0, 17 }, { -86, 0, 17 }, { 87, 0, 17 }, { -87, 0, 17 }, |
|
1719 |
+ { 88, 0, 17 }, { -88, 0, 17 }, { 89, 0, 17 }, { -89, 0, 17 }, |
|
1720 |
+ { 90, 0, 17 }, { -90, 0, 17 }, { 91, 0, 17 }, { -91, 0, 17 }, |
|
1721 |
+ { 92, 0, 17 }, { -92, 0, 17 }, { 93, 0, 17 }, { -93, 0, 17 }, |
|
1722 |
+ { 94, 0, 17 }, { -94, 0, 17 }, { 95, 0, 17 }, { -95, 0, 17 }, |
|
1723 |
+ { 96, 0, 17 }, { -96, 0, 17 }, { 97, 0, 17 }, { -97, 0, 17 }, |
|
1724 |
+ { 98, 0, 17 }, { -98, 0, 17 }, { 99, 0, 17 }, { -99, 0, 17 }, |
|
1725 |
+ { 100, 0, 17 }, { -100, 0, 17 }, { 101, 0, 17 }, { -101, 0, 17 }, |
|
1726 |
+ { 102, 0, 17 }, { -102, 0, 17 }, { 103, 0, 17 }, { -103, 0, 17 }, |
|
1727 |
+ { 104, 0, 17 }, { -104, 0, 17 }, { 105, 0, 17 }, { -105, 0, 17 }, |
|
1728 |
+ { 106, 0, 17 }, { -106, 0, 17 }, { 107, 0, 17 }, { -107, 0, 17 }, |
|
1729 |
+ { 108, 0, 17 }, { -108, 0, 17 }, { 109, 0, 17 }, { -109, 0, 17 }, |
|
1730 |
+ { 110, 0, 17 }, { -110, 0, 17 }, { 111, 0, 17 }, { -111, 0, 17 }, |
|
1731 |
+ { 112, 0, 17 }, { -112, 0, 17 }, { 113, 0, 17 }, { -113, 0, 17 }, |
|
1732 |
+ { 114, 0, 17 }, { -114, 0, 17 }, { 115, 0, 17 }, { -115, 0, 17 }, |
|
1733 |
+ { 116, 0, 17 }, { -116, 0, 17 }, { 117, 0, 17 }, { -117, 0, 17 }, |
|
1734 |
+ { 118, 0, 17 }, { -118, 0, 17 }, { 119, 0, 17 }, { -119, 0, 17 }, |
|
1735 |
+ { 120, 0, 17 }, { -120, 0, 17 }, { 121, 0, 17 }, { -121, 0, 17 }, |
|
1736 |
+ { 122, 0, 17 }, { -122, 0, 17 }, { 123, 0, 17 }, { -123, 0, 17 }, |
|
1737 |
+ { 124, 0, 17 }, { -124, 0, 17 }, { 125, 0, 17 }, { -125, 0, 17 }, |
|
1738 |
+ { 126, 0, 17 }, { -126, 0, 17 }, { 127, 0, 17 }, { -127, 0, 17 }, |
|
1739 |
+ RPT_32 ( 29, 0, 12 ), RPT_32 ( -29, 0, 12 ), |
|
1740 |
+ RPT_32 ( 30, 0, 12 ), RPT_32 ( -30, 0, 12 ), |
|
1741 |
+ RPT_32 ( 31, 0, 12 ), RPT_32 ( -31, 0, 12 ), |
|
1742 |
+ RPT_32 ( 32, 0, 12 ), RPT_32 ( -32, 0, 12 ), |
|
1743 |
+ RPT_32 ( 33, 0, 12 ), RPT_32 ( -33, 0, 12 ), |
|
1744 |
+ RPT_32 ( 34, 0, 12 ), RPT_32 ( -34, 0, 12 ), |
|
1745 |
+ RPT_32 ( 35, 0, 12 ), RPT_32 ( -35, 0, 12 ), |
|
1746 |
+ RPT_32 ( 10, 1, 12 ), RPT_32 ( -10, 1, 12 ), |
|
1747 |
+ RPT_32 ( 11, 1, 12 ), RPT_32 ( -11, 1, 12 ), |
|
1748 |
+ RPT_32 ( 12, 1, 12 ), RPT_32 ( -12, 1, 12 ), |
|
1749 |
+ RPT_32 ( 5, 2, 12 ), RPT_32 ( -5, 2, 12 ), |
|
1750 |
+ RPT_32 ( 4, 3, 12 ), RPT_32 ( -4, 3, 12 ), |
|
1751 |
+ RPT_32 ( 3, 5, 12 ), RPT_32 ( -3, 5, 12 ), |
|
1752 |
+ RPT_32 ( 2, 8, 12 ), RPT_32 ( -2, 8, 12 ), |
|
1753 |
+ RPT_32 ( 2, 9, 12 ), RPT_32 ( -2, 9, 12 ), |
|
1754 |
+ RPT_32 ( 1, 14, 12 ), RPT_32 ( -1, 14, 12 ), |
|
1755 |
+ RPT_32 ( 1, 15, 12 ), RPT_32 ( -1, 15, 12 ), |
|
1756 |
+ RPT_16 ( 36, 0, 13 ), RPT_16 ( -36, 0, 13 ), |
|
1757 |
+ RPT_16 ( 37, 0, 13 ), RPT_16 ( -37, 0, 13 ), |
|
1758 |
+ RPT_16 ( 38, 0, 13 ), RPT_16 ( -38, 0, 13 ), |
|
1759 |
+ RPT_16 ( 39, 0, 13 ), RPT_16 ( -39, 0, 13 ), |
|
1760 |
+ RPT_16 ( 40, 0, 13 ), RPT_16 ( -40, 0, 13 ), |
|
1761 |
+ RPT_16 ( 13, 1, 13 ), RPT_16 ( -13, 1, 13 ), |
|
1762 |
+ RPT_16 ( 14, 1, 13 ), RPT_16 ( -14, 1, 13 ), |
|
1763 |
+ RPT_16 ( 15, 1, 13 ), RPT_16 ( -15, 1, 13 ), |
|
1764 |
+ RPT_16 ( 6, 2, 13 ), RPT_16 ( -6, 2, 13 ), |
|
1765 |
+ RPT_16 ( 7, 2, 13 ), RPT_16 ( -7, 2, 13 ), |
|
1766 |
+ RPT_16 ( 5, 3, 13 ), RPT_16 ( -5, 3, 13 ), |
|
1767 |
+ RPT_32 ( 0, 4, 12 ), RPT_16 ( 4, 4, 13 ), |
|
1768 |
+ RPT_16 ( -4, 4, 13 ), RPT_32 ( 0, 5, 12 ), |
|
1769 |
+ RPT_32 ( 0, 6, 12 ), RPT_16 ( 3, 6, 13 ), |
|
1770 |
+ RPT_16 ( -3, 6, 13 ), RPT_32 ( 0, 7, 12 ), |
|
1771 |
+ RPT_16 ( 3, 7, 13 ), RPT_16 ( -3, 7, 13 ), |
|
1772 |
+ RPT_16 ( 2, 10, 13 ), RPT_16 ( -2, 10, 13 ), |
|
1773 |
+ RPT_16 ( 1, 16, 13 ), RPT_16 ( -1, 16, 13 ), |
|
1774 |
+}; |
|
1775 |
+ |
|
1776 |
+static const HQXLUT ac32_lut[] = { |
|
1777 |
+ RPT_256 ( 1, 0, 3 ), RPT_256 ( -1, 0, 3 ), |
|
1778 |
+ RPT_128 ( 2, 0, 4 ), RPT_128 ( -2, 0, 4 ), |
|
1779 |
+ RPT_256 ( 0, 64, 3 ), RPT_64 ( 3, 0, 5 ), |
|
1780 |
+ RPT_64 ( -3, 0, 5 ), RPT_64 ( 1, 1, 5 ), |
|
1781 |
+ RPT_64 ( -1, 1, 5 ), RPT_32 ( 4, 0, 6 ), |
|
1782 |
+ RPT_32 ( -4, 0, 6 ), RPT_32 ( 5, 0, 6 ), |
|
1783 |
+ RPT_32 ( -5, 0, 6 ), RPT_32 ( 2, 1, 6 ), |
|
1784 |
+ RPT_32 ( -2, 1, 6 ), RPT_32 ( 1, 2, 6 ), |
|
1785 |
+ RPT_32 ( -1, 2, 6 ), RPT_32 ( 1, 3, 6 ), |
|
1786 |
+ RPT_32 ( -1, 3, 6 ), RPT_16 ( 6, 0, 7 ), |
|
1787 |
+ RPT_16 ( -6, 0, 7 ), RPT_16 ( 7, 0, 7 ), |
|
1788 |
+ RPT_16 ( -7, 0, 7 ), RPT_16 ( 3, 1, 7 ), |
|
1789 |
+ RPT_16 ( -3, 1, 7 ), RPT_16 ( 1, 4, 7 ), |
|
1790 |
+ RPT_16 ( -1, 4, 7 ), RPT_16 ( 1, 5, 7 ), |
|
1791 |
+ RPT_16 ( -1, 5, 7 ), RPT_8 ( 8, 0, 8 ), |
|
1792 |
+ RPT_8 ( -8, 0, 8 ), RPT_8 ( 9, 0, 8 ), |
|
1793 |
+ RPT_8 ( -9, 0, 8 ), RPT_8 ( 10, 0, 8 ), |
|
1794 |
+ RPT_8 ( -10, 0, 8 ), RPT_8 ( 4, 1, 8 ), |
|
1795 |
+ RPT_8 ( -4, 1, 8 ), RPT_8 ( 2, 2, 8 ), |
|
1796 |
+ RPT_8 ( -2, 2, 8 ), RPT_8 ( 1, 6, 8 ), |
|
1797 |
+ RPT_8 ( -1, 6, 8 ), RPT_8 ( 1, 7, 8 ), |
|
1798 |
+ RPT_8 ( -1, 7, 8 ), RPT_8 ( 1, 8, 8 ), |
|
1799 |
+ RPT_8 ( -1, 8, 8 ), RPT_4 ( 11, 0, 9 ), |
|
1800 |
+ RPT_4 ( -11, 0, 9 ), RPT_4 ( 12, 0, 9 ), |
|
1801 |
+ RPT_4 ( -12, 0, 9 ), RPT_4 ( 13, 0, 9 ), |
|
1802 |
+ RPT_4 ( -13, 0, 9 ), RPT_4 ( 5, 1, 9 ), |
|
1803 |
+ RPT_4 ( -5, 1, 9 ), RPT_4 ( 2, 3, 9 ), |
|
1804 |
+ RPT_4 ( -2, 3, 9 ), RPT_4 ( 1, 9, 9 ), |
|
1805 |
+ RPT_4 ( -1, 9, 9 ), RPT_4 ( 1, 10, 9 ), |
|
1806 |
+ RPT_4 ( -1, 10, 9 ), RPT_2 ( 14, 0, 10 ), |
|
1807 |
+ RPT_2 ( -14, 0, 10 ), RPT_2 ( 15, 0, 10 ), |
|
1808 |
+ RPT_2 ( -15, 0, 10 ), RPT_2 ( 16, 0, 10 ), |
|
1809 |
+ RPT_2 ( -16, 0, 10 ), RPT_2 ( 6, 1, 10 ), |
|
1810 |
+ RPT_2 ( -6, 1, 10 ), RPT_2 ( 7, 1, 10 ), |
|
1811 |
+ RPT_2 ( -7, 1, 10 ), RPT_2 ( 3, 2, 10 ), |
|
1812 |
+ RPT_2 ( -3, 2, 10 ), RPT_2 ( 3, 3, 10 ), |
|
1813 |
+ RPT_2 ( -3, 3, 10 ), RPT_2 ( 2, 4, 10 ), |
|
1814 |
+ RPT_2 ( -2, 4, 10 ), RPT_2 ( 2, 5, 10 ), |
|
1815 |
+ RPT_2 ( -2, 5, 10 ), RPT_2 ( 1, 11, 10 ), |
|
1816 |
+ RPT_2 ( -1, 11, 10 ), RPT_2 ( 1, 12, 10 ), |
|
1817 |
+ RPT_2 ( -1, 12, 10 ), RPT_2 ( 1, 13, 10 ), |
|
1818 |
+ RPT_2 ( -1, 13, 10 ), { 2048, 0, -1 }, { 2112, 0, -1 }, |
|
1819 |
+ { 2176, 0, -1 }, { 2240, 0, -1 }, RPT_2 ( 0, 0, 10 ), |
|
1820 |
+ { 17, 0, 11 }, { -17, 0, 11 }, { 18, 0, 11 }, { -18, 0, 11 }, |
|
1821 |
+ { 19, 0, 11 }, { -19, 0, 11 }, { 20, 0, 11 }, { -20, 0, 11 }, |
|
1822 |
+ { 8, 1, 11 }, { -8, 1, 11 }, { 9, 1, 11 }, { -9, 1, 11 }, |
|
1823 |
+ { 4, 2, 11 }, { -4, 2, 11 }, { 3, 4, 11 }, { -3, 4, 11 }, |
|
1824 |
+ { 2, 6, 11 }, { -2, 6, 11 }, { 2, 7, 11 }, { -2, 7, 11 }, |
|
1825 |
+ { 2, 8, 11 }, { -2, 8, 11 }, { 1, 14, 11 }, { -1, 14, 11 }, |
|
1826 |
+ { 2304, 0, -1 }, { 2368, 0, -1 }, { 2432, 0, -1 }, { 2496, 0, -1 }, |
|
1827 |
+ { 2560, 0, -1 }, { 0, 1, 11 }, { 2624, 0, -1 }, { 2688, 0, -1 }, |
|
1828 |
+ { 0, 2, 11 }, { 2752, 0, -1 }, { 2816, 0, -1 }, { 0, 3, 11 }, |
|
1829 |
+ { 2880, 0, -1 }, { 0, 4, 11 }, { 2944, 0, -1 }, { 3008, 0, -1 }, |
|
1830 |
+ { 3072, 0, -1 }, { 3136, 0, -1 }, { 3200, 0, -1 }, { 3264, 0, -1 }, |
|
1831 |
+ { 3328, 0, -1 }, { 3392, 0, -1 }, { 3456, 0, -1 }, { 3520, 0, -1 }, |
|
1832 |
+ { 3584, 0, -1 }, { 3648, 0, -1 }, RPT_4 ( 0, 0, 15 ), |
|
1833 |
+ RPT_4 ( 0, 1, 15 ), RPT_4 ( 0, 2, 15 ), |
|
1834 |
+ RPT_4 ( 0, 3, 15 ), RPT_4 ( 0, 4, 15 ), |
|
1835 |
+ RPT_4 ( 0, 5, 15 ), RPT_4 ( 0, 6, 15 ), |
|
1836 |
+ RPT_4 ( 0, 7, 15 ), RPT_4 ( 0, 8, 15 ), |
|
1837 |
+ RPT_4 ( 0, 9, 15 ), RPT_4 ( 0, 10, 15 ), |
|
1838 |
+ RPT_4 ( 0, 11, 15 ), RPT_4 ( 0, 12, 15 ), |
|
1839 |
+ RPT_4 ( 0, 13, 15 ), RPT_4 ( 0, 14, 15 ), |
|
1840 |
+ RPT_4 ( 0, 15, 15 ), RPT_4 ( 0, 16, 15 ), |
|
1841 |
+ RPT_4 ( 0, 17, 15 ), RPT_4 ( 0, 18, 15 ), |
|
1842 |
+ RPT_4 ( 0, 19, 15 ), RPT_4 ( 0, 20, 15 ), |
|
1843 |
+ RPT_4 ( 0, 21, 15 ), RPT_4 ( 0, 22, 15 ), |
|
1844 |
+ RPT_4 ( 0, 23, 15 ), RPT_4 ( 0, 24, 15 ), |
|
1845 |
+ RPT_4 ( 0, 25, 15 ), RPT_4 ( 0, 26, 15 ), |
|
1846 |
+ RPT_4 ( 0, 27, 15 ), RPT_4 ( 0, 28, 15 ), |
|
1847 |
+ RPT_4 ( 0, 29, 15 ), RPT_4 ( 0, 30, 15 ), |
|
1848 |
+ RPT_4 ( 0, 31, 15 ), RPT_4 ( 0, 32, 15 ), |
|
1849 |
+ RPT_4 ( 0, 33, 15 ), RPT_4 ( 0, 34, 15 ), |
|
1850 |
+ RPT_4 ( 0, 35, 15 ), RPT_4 ( 0, 36, 15 ), |
|
1851 |
+ RPT_4 ( 0, 37, 15 ), RPT_4 ( 0, 38, 15 ), |
|
1852 |
+ RPT_4 ( 0, 39, 15 ), RPT_4 ( 0, 40, 15 ), |
|
1853 |
+ RPT_4 ( 0, 41, 15 ), RPT_4 ( 0, 42, 15 ), |
|
1854 |
+ RPT_4 ( 0, 43, 15 ), RPT_4 ( 0, 44, 15 ), |
|
1855 |
+ RPT_4 ( 0, 45, 15 ), RPT_4 ( 0, 46, 15 ), |
|
1856 |
+ RPT_4 ( 0, 47, 15 ), RPT_4 ( 0, 48, 15 ), |
|
1857 |
+ RPT_4 ( 0, 49, 15 ), RPT_4 ( 0, 50, 15 ), |
|
1858 |
+ RPT_4 ( 0, 51, 15 ), RPT_4 ( 0, 52, 15 ), |
|
1859 |
+ RPT_4 ( 0, 53, 15 ), RPT_4 ( 0, 54, 15 ), |
|
1860 |
+ RPT_4 ( 0, 55, 15 ), RPT_4 ( 0, 56, 15 ), |
|
1861 |
+ RPT_4 ( 0, 57, 15 ), RPT_4 ( 0, 58, 15 ), |
|
1862 |
+ RPT_4 ( 0, 59, 15 ), RPT_4 ( 0, 60, 15 ), |
|
1863 |
+ RPT_4 ( 0, 61, 15 ), RPT_4 ( 0, 62, 15 ), |
|
1864 |
+ RPT_4 ( 0, 63, 15 ), RPT_2 ( 0, 0, 16 ), |
|
1865 |
+ { 1, 0, 17 }, { -1, 0, 17 }, { 2, 0, 17 }, { -2, 0, 17 }, |
|
1866 |
+ { 3, 0, 17 }, { -3, 0, 17 }, { 4, 0, 17 }, { -4, 0, 17 }, |
|
1867 |
+ { 5, 0, 17 }, { -5, 0, 17 }, { 6, 0, 17 }, { -6, 0, 17 }, |
|
1868 |
+ { 7, 0, 17 }, { -7, 0, 17 }, { 8, 0, 17 }, { -8, 0, 17 }, |
|
1869 |
+ { 9, 0, 17 }, { -9, 0, 17 }, { 10, 0, 17 }, { -10, 0, 17 }, |
|
1870 |
+ { 11, 0, 17 }, { -11, 0, 17 }, { 12, 0, 17 }, { -12, 0, 17 }, |
|
1871 |
+ { 13, 0, 17 }, { -13, 0, 17 }, { 14, 0, 17 }, { -14, 0, 17 }, |
|
1872 |
+ { 15, 0, 17 }, { -15, 0, 17 }, { 16, 0, 17 }, { -16, 0, 17 }, |
|
1873 |
+ { 17, 0, 17 }, { -17, 0, 17 }, { 18, 0, 17 }, { -18, 0, 17 }, |
|
1874 |
+ { 19, 0, 17 }, { -19, 0, 17 }, { 20, 0, 17 }, { -20, 0, 17 }, |
|
1875 |
+ { 21, 0, 17 }, { -21, 0, 17 }, { 22, 0, 17 }, { -22, 0, 17 }, |
|
1876 |
+ { 23, 0, 17 }, { -23, 0, 17 }, { 24, 0, 17 }, { -24, 0, 17 }, |
|
1877 |
+ { 25, 0, 17 }, { -25, 0, 17 }, { 26, 0, 17 }, { -26, 0, 17 }, |
|
1878 |
+ { 27, 0, 17 }, { -27, 0, 17 }, { 28, 0, 17 }, { -28, 0, 17 }, |
|
1879 |
+ { 29, 0, 17 }, { -29, 0, 17 }, { 30, 0, 17 }, { -30, 0, 17 }, |
|
1880 |
+ { 31, 0, 17 }, { -31, 0, 17 }, { 32, 0, 17 }, { -32, 0, 17 }, |
|
1881 |
+ { 33, 0, 17 }, { -33, 0, 17 }, { 34, 0, 17 }, { -34, 0, 17 }, |
|
1882 |
+ { 35, 0, 17 }, { -35, 0, 17 }, { 36, 0, 17 }, { -36, 0, 17 }, |
|
1883 |
+ { 37, 0, 17 }, { -37, 0, 17 }, { 38, 0, 17 }, { -38, 0, 17 }, |
|
1884 |
+ { 39, 0, 17 }, { -39, 0, 17 }, { 40, 0, 17 }, { -40, 0, 17 }, |
|
1885 |
+ { 41, 0, 17 }, { -41, 0, 17 }, { 42, 0, 17 }, { -42, 0, 17 }, |
|
1886 |
+ { 43, 0, 17 }, { -43, 0, 17 }, { 44, 0, 17 }, { -44, 0, 17 }, |
|
1887 |
+ { 45, 0, 17 }, { -45, 0, 17 }, { 46, 0, 17 }, { -46, 0, 17 }, |
|
1888 |
+ { 47, 0, 17 }, { -47, 0, 17 }, { 48, 0, 17 }, { -48, 0, 17 }, |
|
1889 |
+ { 49, 0, 17 }, { -49, 0, 17 }, { 50, 0, 17 }, { -50, 0, 17 }, |
|
1890 |
+ { 51, 0, 17 }, { -51, 0, 17 }, { 52, 0, 17 }, { -52, 0, 17 }, |
|
1891 |
+ { 53, 0, 17 }, { -53, 0, 17 }, { 54, 0, 17 }, { -54, 0, 17 }, |
|
1892 |
+ { 55, 0, 17 }, { -55, 0, 17 }, { 56, 0, 17 }, { -56, 0, 17 }, |
|
1893 |
+ { 57, 0, 17 }, { -57, 0, 17 }, { 58, 0, 17 }, { -58, 0, 17 }, |
|
1894 |
+ { 59, 0, 17 }, { -59, 0, 17 }, { 60, 0, 17 }, { -60, 0, 17 }, |
|
1895 |
+ { 61, 0, 17 }, { -61, 0, 17 }, { 62, 0, 17 }, { -62, 0, 17 }, |
|
1896 |
+ { 63, 0, 17 }, { -63, 0, 17 }, RPT_32 ( 21, 0, 12 ), |
|
1897 |
+ RPT_32 ( -21, 0, 12 ), RPT_32 ( 22, 0, 12 ), |
|
1898 |
+ RPT_32 ( -22, 0, 12 ), RPT_32 ( 23, 0, 12 ), |
|
1899 |
+ RPT_32 ( -23, 0, 12 ), RPT_32 ( 10, 1, 12 ), |
|
1900 |
+ RPT_32 ( -10, 1, 12 ), RPT_32 ( 11, 1, 12 ), |
|
1901 |
+ RPT_32 ( -11, 1, 12 ), RPT_32 ( 5, 2, 12 ), |
|
1902 |
+ RPT_32 ( -5, 2, 12 ), RPT_32 ( 6, 2, 12 ), |
|
1903 |
+ RPT_32 ( -6, 2, 12 ), RPT_32 ( 4, 3, 12 ), |
|
1904 |
+ RPT_32 ( -4, 3, 12 ), RPT_32 ( 3, 5, 12 ), |
|
1905 |
+ RPT_32 ( -3, 5, 12 ), RPT_32 ( 3, 6, 12 ), |
|
1906 |
+ RPT_32 ( -3, 6, 12 ), RPT_32 ( 2, 9, 12 ), |
|
1907 |
+ RPT_32 ( -2, 9, 12 ), RPT_32 ( 1, 15, 12 ), |
|
1908 |
+ RPT_32 ( -1, 15, 12 ), RPT_16 ( 24, 0, 13 ), |
|
1909 |
+ RPT_16 ( -24, 0, 13 ), RPT_16 ( 25, 0, 13 ), |
|
1910 |
+ RPT_16 ( -25, 0, 13 ), RPT_16 ( 26, 0, 13 ), |
|
1911 |
+ RPT_16 ( -26, 0, 13 ), RPT_16 ( 12, 1, 13 ), |
|
1912 |
+ RPT_16 ( -12, 1, 13 ), RPT_16 ( 13, 1, 13 ), |
|
1913 |
+ RPT_16 ( -13, 1, 13 ), RPT_16 ( 5, 3, 13 ), |
|
1914 |
+ RPT_16 ( -5, 3, 13 ), RPT_16 ( 4, 4, 13 ), |
|
1915 |
+ RPT_16 ( -4, 4, 13 ), RPT_32 ( 0, 5, 12 ), |
|
1916 |
+ RPT_16 ( 4, 5, 13 ), RPT_16 ( -4, 5, 13 ), |
|
1917 |
+ RPT_32 ( 0, 6, 12 ), RPT_32 ( 0, 7, 12 ), |
|
1918 |
+ RPT_16 ( 3, 7, 13 ), RPT_16 ( -3, 7, 13 ), |
|
1919 |
+ RPT_32 ( 0, 8, 12 ), RPT_16 ( 3, 8, 13 ), |
|
1920 |
+ RPT_16 ( -3, 8, 13 ), RPT_32 ( 0, 9, 12 ), |
|
1921 |
+ RPT_16 ( 1, 16, 13 ), RPT_16 ( -1, 16, 13 ), |
|
1922 |
+}; |
|
1923 |
+ |
|
1924 |
+static const HQXLUT ac64_lut[] = { |
|
1925 |
+ RPT_512 ( 1, 0, 3 ), RPT_512 ( -1, 0, 3 ), |
|
1926 |
+ RPT_1024( 0, 64, 2 ), RPT_256 ( 2, 0, 4 ), |
|
1927 |
+ RPT_256 ( -2, 0, 4 ), RPT_128 ( 3, 0, 5 ), |
|
1928 |
+ RPT_128 ( -3, 0, 5 ), RPT_128 ( 1, 1, 5 ), |
|
1929 |
+ RPT_128 ( -1, 1, 5 ), RPT_64 ( 4, 0, 6 ), |
|
1930 |
+ RPT_64 ( -4, 0, 6 ), RPT_64 ( 2, 1, 6 ), |
|
1931 |
+ RPT_64 ( -2, 1, 6 ), RPT_64 ( 1, 2, 6 ), |
|
1932 |
+ RPT_64 ( -1, 2, 6 ), RPT_32 ( 5, 0, 7 ), |
|
1933 |
+ RPT_32 ( -5, 0, 7 ), RPT_32 ( 1, 3, 7 ), |
|
1934 |
+ RPT_32 ( -1, 3, 7 ), RPT_32 ( 1, 4, 7 ), |
|
1935 |
+ RPT_32 ( -1, 4, 7 ), RPT_16 ( 6, 0, 8 ), |
|
1936 |
+ RPT_16 ( -6, 0, 8 ), RPT_16 ( 3, 1, 8 ), |
|
1937 |
+ RPT_16 ( -3, 1, 8 ), RPT_16 ( 2, 2, 8 ), |
|
1938 |
+ RPT_16 ( -2, 2, 8 ), RPT_16 ( 1, 5, 8 ), |
|
1939 |
+ RPT_16 ( -1, 5, 8 ), RPT_16 ( 1, 6, 8 ), |
|
1940 |
+ RPT_16 ( -1, 6, 8 ), RPT_16 ( 1, 7, 8 ), |
|
1941 |
+ RPT_16 ( -1, 7, 8 ), RPT_8 ( 7, 0, 9 ), |
|
1942 |
+ RPT_8 ( -7, 0, 9 ), RPT_8 ( 8, 0, 9 ), |
|
1943 |
+ RPT_8 ( -8, 0, 9 ), RPT_8 ( 4, 1, 9 ), |
|
1944 |
+ RPT_8 ( -4, 1, 9 ), RPT_8 ( 2, 3, 9 ), |
|
1945 |
+ RPT_8 ( -2, 3, 9 ), RPT_8 ( 1, 8, 9 ), |
|
1946 |
+ RPT_8 ( -1, 8, 9 ), RPT_8 ( 1, 9, 9 ), |
|
1947 |
+ RPT_8 ( -1, 9, 9 ), RPT_4 ( 9, 0, 10 ), |
|
1948 |
+ RPT_4 ( -9, 0, 10 ), RPT_4 ( 10, 0, 10 ), |
|
1949 |
+ RPT_4 ( -10, 0, 10 ), RPT_4 ( 5, 1, 10 ), |
|
1950 |
+ RPT_4 ( -5, 1, 10 ), RPT_4 ( 3, 2, 10 ), |
|
1951 |
+ RPT_4 ( -3, 2, 10 ), RPT_4 ( 2, 4, 10 ), |
|
1952 |
+ RPT_4 ( -2, 4, 10 ), RPT_4 ( 2, 5, 10 ), |
|
1953 |
+ RPT_4 ( -2, 5, 10 ), RPT_4 ( 1, 10, 10 ), |
|
1954 |
+ RPT_4 ( -1, 10, 10 ), RPT_4 ( 1, 11, 10 ), |
|
1955 |
+ RPT_4 ( -1, 11, 10 ), { 4096, 0, -1 }, { 4128, 0, -1 }, |
|
1956 |
+ { 4160, 0, -1 }, { 4192, 0, -1 }, { 4224, 0, -1 }, { 4256, 0, -1 }, |
|
1957 |
+ { 4288, 0, -1 }, { 4320, 0, -1 }, RPT_4 ( 0, 0, 10 ), |
|
1958 |
+ RPT_2 ( 11, 0, 11 ), RPT_2 ( -11, 0, 11 ), |
|
1959 |
+ RPT_2 ( 12, 0, 11 ), RPT_2 ( -12, 0, 11 ), |
|
1960 |
+ RPT_2 ( 6, 1, 11 ), RPT_2 ( -6, 1, 11 ), |
|
1961 |
+ RPT_2 ( 7, 1, 11 ), RPT_2 ( -7, 1, 11 ), |
|
1962 |
+ RPT_2 ( 3, 3, 11 ), RPT_2 ( -3, 3, 11 ), |
|
1963 |
+ RPT_2 ( 3, 4, 11 ), RPT_2 ( -3, 4, 11 ), |
|
1964 |
+ RPT_2 ( 3, 5, 11 ), RPT_2 ( -3, 5, 11 ), |
|
1965 |
+ RPT_2 ( 2, 6, 11 ), RPT_2 ( -2, 6, 11 ), |
|
1966 |
+ RPT_2 ( 2, 7, 11 ), RPT_2 ( -2, 7, 11 ), |
|
1967 |
+ RPT_2 ( 1, 12, 11 ), RPT_2 ( -1, 12, 11 ), |
|
1968 |
+ RPT_2 ( 1, 13, 11 ), RPT_2 ( -1, 13, 11 ), |
|
1969 |
+ RPT_2 ( 1, 14, 11 ), RPT_2 ( -1, 14, 11 ), |
|
1970 |
+ { 13, 0, 12 }, { -13, 0, 12 }, { 14, 0, 12 }, { -14, 0, 12 }, |
|
1971 |
+ RPT_2 ( 0, 1, 11 ), { 8, 1, 12 }, { -8, 1, 12 }, |
|
1972 |
+ { 4, 2, 12 }, { -4, 2, 12 }, { 4, 3, 12 }, { -4, 3, 12 }, |
|
1973 |
+ { 2, 8, 12 }, { -2, 8, 12 }, { 2, 9, 12 }, { -2, 9, 12 }, |
|
1974 |
+ { 1, 15, 12 }, { -1, 15, 12 }, { 4352, 0, -1 }, { 4384, 0, -1 }, |
|
1975 |
+ { 4416, 0, -1 }, { 4448, 0, -1 }, { 4480, 0, -1 }, { 0, 2, 12 }, |
|
1976 |
+ { 4512, 0, -1 }, { 0, 3, 12 }, { 4544, 0, -1 }, { 0, 4, 12 }, |
|
1977 |
+ { 4576, 0, -1 }, { 0, 5, 12 }, { 4608, 0, -1 }, { 0, 6, 12 }, |
|
1978 |
+ { 4640, 0, -1 }, { 4672, 0, -1 }, { 4704, 0, -1 }, { 4736, 0, -1 }, |
|
1979 |
+ RPT_4 ( 0, 0, 15 ), RPT_4 ( 0, 1, 15 ), |
|
1980 |
+ RPT_4 ( 0, 2, 15 ), RPT_4 ( 0, 3, 15 ), |
|
1981 |
+ RPT_4 ( 0, 4, 15 ), RPT_4 ( 0, 5, 15 ), |
|
1982 |
+ RPT_4 ( 0, 6, 15 ), RPT_4 ( 0, 7, 15 ), |
|
1983 |
+ RPT_4 ( 0, 8, 15 ), RPT_4 ( 0, 9, 15 ), |
|
1984 |
+ RPT_4 ( 0, 10, 15 ), RPT_4 ( 0, 11, 15 ), |
|
1985 |
+ RPT_4 ( 0, 12, 15 ), RPT_4 ( 0, 13, 15 ), |
|
1986 |
+ RPT_4 ( 0, 14, 15 ), RPT_4 ( 0, 15, 15 ), |
|
1987 |
+ RPT_4 ( 0, 16, 15 ), RPT_4 ( 0, 17, 15 ), |
|
1988 |
+ RPT_4 ( 0, 18, 15 ), RPT_4 ( 0, 19, 15 ), |
|
1989 |
+ RPT_4 ( 0, 20, 15 ), RPT_4 ( 0, 21, 15 ), |
|
1990 |
+ RPT_4 ( 0, 22, 15 ), RPT_4 ( 0, 23, 15 ), |
|
1991 |
+ RPT_4 ( 0, 24, 15 ), RPT_4 ( 0, 25, 15 ), |
|
1992 |
+ RPT_4 ( 0, 26, 15 ), RPT_4 ( 0, 27, 15 ), |
|
1993 |
+ RPT_4 ( 0, 28, 15 ), RPT_4 ( 0, 29, 15 ), |
|
1994 |
+ RPT_4 ( 0, 30, 15 ), RPT_4 ( 0, 31, 15 ), |
|
1995 |
+ RPT_4 ( 0, 32, 15 ), RPT_4 ( 0, 33, 15 ), |
|
1996 |
+ RPT_4 ( 0, 34, 15 ), RPT_4 ( 0, 35, 15 ), |
|
1997 |
+ RPT_4 ( 0, 36, 15 ), RPT_4 ( 0, 37, 15 ), |
|
1998 |
+ RPT_4 ( 0, 38, 15 ), RPT_4 ( 0, 39, 15 ), |
|
1999 |
+ RPT_4 ( 0, 40, 15 ), RPT_4 ( 0, 41, 15 ), |
|
2000 |
+ RPT_4 ( 0, 42, 15 ), RPT_4 ( 0, 43, 15 ), |
|
2001 |
+ RPT_4 ( 0, 44, 15 ), RPT_4 ( 0, 45, 15 ), |
|
2002 |
+ RPT_4 ( 0, 46, 15 ), RPT_4 ( 0, 47, 15 ), |
|
2003 |
+ RPT_4 ( 0, 48, 15 ), RPT_4 ( 0, 49, 15 ), |
|
2004 |
+ RPT_4 ( 0, 50, 15 ), RPT_4 ( 0, 51, 15 ), |
|
2005 |
+ RPT_4 ( 0, 52, 15 ), RPT_4 ( 0, 53, 15 ), |
|
2006 |
+ RPT_4 ( 0, 54, 15 ), RPT_4 ( 0, 55, 15 ), |
|
2007 |
+ RPT_4 ( 0, 56, 15 ), RPT_4 ( 0, 57, 15 ), |
|
2008 |
+ RPT_4 ( 0, 58, 15 ), RPT_4 ( 0, 59, 15 ), |
|
2009 |
+ RPT_4 ( 0, 60, 15 ), RPT_4 ( 0, 61, 15 ), |
|
2010 |
+ RPT_4 ( 0, 62, 15 ), RPT_4 ( 0, 63, 15 ), |
|
2011 |
+ RPT_2 ( 0, 0, 16 ), { 1, 0, 17 }, { -1, 0, 17 }, |
|
2012 |
+ { 2, 0, 17 }, { -2, 0, 17 }, { 3, 0, 17 }, { -3, 0, 17 }, |
|
2013 |
+ { 4, 0, 17 }, { -4, 0, 17 }, { 5, 0, 17 }, { -5, 0, 17 }, |
|
2014 |
+ { 6, 0, 17 }, { -6, 0, 17 }, { 7, 0, 17 }, { -7, 0, 17 }, |
|
2015 |
+ { 8, 0, 17 }, { -8, 0, 17 }, { 9, 0, 17 }, { -9, 0, 17 }, |
|
2016 |
+ { 10, 0, 17 }, { -10, 0, 17 }, { 11, 0, 17 }, { -11, 0, 17 }, |
|
2017 |
+ { 12, 0, 17 }, { -12, 0, 17 }, { 13, 0, 17 }, { -13, 0, 17 }, |
|
2018 |
+ { 14, 0, 17 }, { -14, 0, 17 }, { 15, 0, 17 }, { -15, 0, 17 }, |
|
2019 |
+ { 16, 0, 17 }, { -16, 0, 17 }, { 17, 0, 17 }, { -17, 0, 17 }, |
|
2020 |
+ { 18, 0, 17 }, { -18, 0, 17 }, { 19, 0, 17 }, { -19, 0, 17 }, |
|
2021 |
+ { 20, 0, 17 }, { -20, 0, 17 }, { 21, 0, 17 }, { -21, 0, 17 }, |
|
2022 |
+ { 22, 0, 17 }, { -22, 0, 17 }, { 23, 0, 17 }, { -23, 0, 17 }, |
|
2023 |
+ { 24, 0, 17 }, { -24, 0, 17 }, { 25, 0, 17 }, { -25, 0, 17 }, |
|
2024 |
+ { 26, 0, 17 }, { -26, 0, 17 }, { 27, 0, 17 }, { -27, 0, 17 }, |
|
2025 |
+ { 28, 0, 17 }, { -28, 0, 17 }, { 29, 0, 17 }, { -29, 0, 17 }, |
|
2026 |
+ { 30, 0, 17 }, { -30, 0, 17 }, { 31, 0, 17 }, { -31, 0, 17 }, |
|
2027 |
+ RPT_16 ( 15, 0, 13 ), RPT_16 ( -15, 0, 13 ), |
|
2028 |
+ RPT_16 ( 9, 1, 13 ), RPT_16 ( -9, 1, 13 ), |
|
2029 |
+ RPT_16 ( 10, 1, 13 ), RPT_16 ( -10, 1, 13 ), |
|
2030 |
+ RPT_16 ( 5, 2, 13 ), RPT_16 ( -5, 2, 13 ), |
|
2031 |
+ RPT_16 ( 5, 3, 13 ), RPT_16 ( -5, 3, 13 ), |
|
2032 |
+ RPT_16 ( 4, 4, 13 ), RPT_16 ( -4, 4, 13 ), |
|
2033 |
+ RPT_16 ( 4, 5, 13 ), RPT_16 ( -4, 5, 13 ), |
|
2034 |
+ RPT_16 ( 3, 6, 13 ), RPT_16 ( -3, 6, 13 ), |
|
2035 |
+ RPT_16 ( 3, 7, 13 ), RPT_16 ( -3, 7, 13 ), |
|
2036 |
+ RPT_16 ( 1, 16, 13 ), RPT_16 ( -1, 16, 13 ), |
|
2037 |
+ RPT_16 ( 1, 17, 13 ), RPT_16 ( -1, 17, 13 ), |
|
2038 |
+}; |
|
2039 |
+ |
|
2040 |
+static const HQXLUT ac128_lut[] = { |
|
2041 |
+ RPT_256 ( 1, 0, 3 ), RPT_256 ( -1, 0, 3 ), |
|
2042 |
+ RPT_512 ( 0, 64, 2 ), RPT_128 ( 1, 1, 4 ), |
|
2043 |
+ RPT_128 ( -1, 1, 4 ), RPT_64 ( 2, 0, 5 ), |
|
2044 |
+ RPT_64 ( -2, 0, 5 ), RPT_32 ( 3, 0, 6 ), |
|
2045 |
+ RPT_32 ( -3, 0, 6 ), RPT_32 ( 2, 1, 6 ), |
|
2046 |
+ RPT_32 ( -2, 1, 6 ), RPT_32 ( 1, 2, 6 ), |
|
2047 |
+ RPT_32 ( -1, 2, 6 ), RPT_32 ( 1, 3, 6 ), |
|
2048 |
+ RPT_32 ( -1, 3, 6 ), RPT_32 ( 1, 4, 6 ), |
|
2049 |
+ RPT_32 ( -1, 4, 6 ), RPT_16 ( 4, 0, 7 ), |
|
2050 |
+ RPT_16 ( -4, 0, 7 ), RPT_16 ( 1, 5, 7 ), |
|
2051 |
+ RPT_16 ( -1, 5, 7 ), RPT_16 ( 1, 6, 7 ), |
|
2052 |
+ RPT_16 ( -1, 6, 7 ), RPT_16 ( 1, 7, 7 ), |
|
2053 |
+ RPT_16 ( -1, 7, 7 ), RPT_8 ( 5, 0, 8 ), |
|
2054 |
+ RPT_8 ( -5, 0, 8 ), RPT_8 ( 3, 1, 8 ), |
|
2055 |
+ RPT_8 ( -3, 1, 8 ), RPT_8 ( 2, 2, 8 ), |
|
2056 |
+ RPT_8 ( -2, 2, 8 ), RPT_8 ( 2, 3, 8 ), |
|
2057 |
+ RPT_8 ( -2, 3, 8 ), RPT_8 ( 1, 8, 8 ), |
|
2058 |
+ RPT_8 ( -1, 8, 8 ), RPT_8 ( 1, 9, 8 ), |
|
2059 |
+ RPT_8 ( -1, 9, 8 ), RPT_4 ( 6, 0, 9 ), |
|
2060 |
+ RPT_4 ( -6, 0, 9 ), RPT_4 ( 4, 1, 9 ), |
|
2061 |
+ RPT_4 ( -4, 1, 9 ), RPT_4 ( 2, 4, 9 ), |
|
2062 |
+ RPT_4 ( -2, 4, 9 ), RPT_4 ( 2, 5, 9 ), |
|
2063 |
+ RPT_4 ( -2, 5, 9 ), RPT_4 ( 1, 10, 9 ), |
|
2064 |
+ RPT_4 ( -1, 10, 9 ), RPT_2 ( 7, 0, 10 ), |
|
2065 |
+ RPT_2 ( -7, 0, 10 ), RPT_2 ( 5, 1, 10 ), |
|
2066 |
+ RPT_2 ( -5, 1, 10 ), RPT_2 ( 3, 2, 10 ), |
|
2067 |
+ RPT_2 ( -3, 2, 10 ), RPT_2 ( 3, 3, 10 ), |
|
2068 |
+ RPT_2 ( -3, 3, 10 ), RPT_2 ( 2, 6, 10 ), |
|
2069 |
+ RPT_2 ( -2, 6, 10 ), { 2048, 0, -1 }, { 2112, 0, -1 }, |
|
2070 |
+ { 2176, 0, -1 }, { 2240, 0, -1 }, { 6, 1, 11 }, { -6, 1, 11 }, |
|
2071 |
+ { 7, 1, 11 }, { -7, 1, 11 }, { 3, 4, 11 }, { -3, 4, 11 }, |
|
2072 |
+ { 3, 5, 11 }, { -3, 5, 11 }, { 2, 7, 11 }, { -2, 7, 11 }, |
|
2073 |
+ { 2, 8, 11 }, { -2, 8, 11 }, { 2, 9, 11 }, { -2, 9, 11 }, |
|
2074 |
+ { 1, 11, 11 }, { -1, 11, 11 }, { 1, 12, 11 }, { -1, 12, 11 }, |
|
2075 |
+ { 1, 13, 11 }, { -1, 13, 11 }, { 0, 0, 11 }, { 2304, 0, -1 }, |
|
2076 |
+ { 2368, 0, -1 }, { 2432, 0, -1 }, { 2496, 0, -1 }, { 2560, 0, -1 }, |
|
2077 |
+ { 2624, 0, -1 }, { 2688, 0, -1 }, { 2752, 0, -1 }, { 2816, 0, -1 }, |
|
2078 |
+ { 2880, 0, -1 }, { 2944, 0, -1 }, RPT_4 ( 0, 0, 15 ), |
|
2079 |
+ RPT_4 ( 0, 1, 15 ), RPT_4 ( 0, 2, 15 ), |
|
2080 |
+ RPT_4 ( 0, 3, 15 ), RPT_4 ( 0, 4, 15 ), |
|
2081 |
+ RPT_4 ( 0, 5, 15 ), RPT_4 ( 0, 6, 15 ), |
|
2082 |
+ RPT_4 ( 0, 7, 15 ), RPT_4 ( 0, 8, 15 ), |
|
2083 |
+ RPT_4 ( 0, 9, 15 ), RPT_4 ( 0, 10, 15 ), |
|
2084 |
+ RPT_4 ( 0, 11, 15 ), RPT_4 ( 0, 12, 15 ), |
|
2085 |
+ RPT_4 ( 0, 13, 15 ), RPT_4 ( 0, 14, 15 ), |
|
2086 |
+ RPT_4 ( 0, 15, 15 ), RPT_4 ( 0, 16, 15 ), |
|
2087 |
+ RPT_4 ( 0, 17, 15 ), RPT_4 ( 0, 18, 15 ), |
|
2088 |
+ RPT_4 ( 0, 19, 15 ), RPT_4 ( 0, 20, 15 ), |
|
2089 |
+ RPT_4 ( 0, 21, 15 ), RPT_4 ( 0, 22, 15 ), |
|
2090 |
+ RPT_4 ( 0, 23, 15 ), RPT_4 ( 0, 24, 15 ), |
|
2091 |
+ RPT_4 ( 0, 25, 15 ), RPT_4 ( 0, 26, 15 ), |
|
2092 |
+ RPT_4 ( 0, 27, 15 ), RPT_4 ( 0, 28, 15 ), |
|
2093 |
+ RPT_4 ( 0, 29, 15 ), RPT_4 ( 0, 30, 15 ), |
|
2094 |
+ RPT_4 ( 0, 31, 15 ), RPT_4 ( 0, 32, 15 ), |
|
2095 |
+ RPT_4 ( 0, 33, 15 ), RPT_4 ( 0, 34, 15 ), |
|
2096 |
+ RPT_4 ( 0, 35, 15 ), RPT_4 ( 0, 36, 15 ), |
|
2097 |
+ RPT_4 ( 0, 37, 15 ), RPT_4 ( 0, 38, 15 ), |
|
2098 |
+ RPT_4 ( 0, 39, 15 ), RPT_4 ( 0, 40, 15 ), |
|
2099 |
+ RPT_4 ( 0, 41, 15 ), RPT_4 ( 0, 42, 15 ), |
|
2100 |
+ RPT_4 ( 0, 43, 15 ), RPT_4 ( 0, 44, 15 ), |
|
2101 |
+ RPT_4 ( 0, 45, 15 ), RPT_4 ( 0, 46, 15 ), |
|
2102 |
+ RPT_4 ( 0, 47, 15 ), RPT_4 ( 0, 48, 15 ), |
|
2103 |
+ RPT_4 ( 0, 49, 15 ), RPT_4 ( 0, 50, 15 ), |
|
2104 |
+ RPT_4 ( 0, 51, 15 ), RPT_4 ( 0, 52, 15 ), |
|
2105 |
+ RPT_4 ( 0, 53, 15 ), RPT_4 ( 0, 54, 15 ), |
|
2106 |
+ RPT_4 ( 0, 55, 15 ), RPT_4 ( 0, 56, 15 ), |
|
2107 |
+ RPT_4 ( 0, 57, 15 ), RPT_4 ( 0, 58, 15 ), |
|
2108 |
+ RPT_4 ( 0, 59, 15 ), RPT_4 ( 0, 60, 15 ), |
|
2109 |
+ RPT_4 ( 0, 61, 15 ), RPT_4 ( 0, 62, 15 ), |
|
2110 |
+ RPT_4 ( 0, 63, 15 ), RPT_32 ( 8, 0, 12 ), |
|
2111 |
+ RPT_32 ( -8, 0, 12 ), RPT_32 ( 9, 0, 12 ), |
|
2112 |
+ RPT_32 ( -9, 0, 12 ), RPT_32 ( 8, 1, 12 ), |
|
2113 |
+ RPT_32 ( -8, 1, 12 ), RPT_32 ( 4, 2, 12 ), |
|
2114 |
+ RPT_32 ( -4, 2, 12 ), RPT_32 ( 4, 3, 12 ), |
|
2115 |
+ RPT_32 ( -4, 3, 12 ), RPT_32 ( 3, 6, 12 ), |
|
2116 |
+ RPT_32 ( -3, 6, 12 ), RPT_32 ( 1, 14, 12 ), |
|
2117 |
+ RPT_32 ( -1, 14, 12 ), RPT_32 ( 1, 15, 12 ), |
|
2118 |
+ RPT_32 ( -1, 15, 12 ), RPT_32 ( 1, 16, 12 ), |
|
2119 |
+ RPT_32 ( -1, 16, 12 ), RPT_32 ( 0, 1, 12 ), |
|
2120 |
+ RPT_32 ( 0, 2, 12 ), RPT_32 ( 0, 3, 12 ), |
|
2121 |
+ RPT_2 ( 0, 0, 16 ), { 1, 0, 17 }, { -1, 0, 17 }, |
|
2122 |
+ { 2, 0, 17 }, { -2, 0, 17 }, { 3, 0, 17 }, { -3, 0, 17 }, |
|
2123 |
+ { 4, 0, 17 }, { -4, 0, 17 }, { 5, 0, 17 }, { -5, 0, 17 }, |
|
2124 |
+ { 6, 0, 17 }, { -6, 0, 17 }, { 7, 0, 17 }, { -7, 0, 17 }, |
|
2125 |
+ { 8, 0, 17 }, { -8, 0, 17 }, { 9, 0, 17 }, { -9, 0, 17 }, |
|
2126 |
+ { 10, 0, 17 }, { -10, 0, 17 }, { 11, 0, 17 }, { -11, 0, 17 }, |
|
2127 |
+ { 12, 0, 17 }, { -12, 0, 17 }, { 13, 0, 17 }, { -13, 0, 17 }, |
|
2128 |
+ { 14, 0, 17 }, { -14, 0, 17 }, { 15, 0, 17 }, { -15, 0, 17 }, |
|
2129 |
+}; |
|
2130 |
+ |
|
2131 |
+const HQXAC ff_hqx_ac[NUM_HQX_AC] = { |
|
2132 |
+ { 10, 5, ac0_lut }, |
|
2133 |
+ { 11, 6, ac8_lut }, |
|
2134 |
+ { 11, 6, ac16_lut }, |
|
2135 |
+ { 11, 6, ac32_lut }, |
|
2136 |
+ { 12, 5, ac64_lut }, |
|
2137 |
+ { 11, 6, ac128_lut }, |
|
2138 |
+}; |
|
2139 |
+ |
|
2140 |
+static const int table_off[] = { |
|
2141 |
+ 0, 32, 928, 2272, 4640, |
|
2142 |
+}; |
|
2143 |
+ |
|
2144 |
+#define INIT_DC_TABLE(idx, name) \ |
|
2145 |
+ do { \ |
|
2146 |
+ ret = init_vlc(&ctx->dc_vlc[idx], HQX_DC_VLC_BITS, \ |
|
2147 |
+ FF_ARRAY_ELEMS(name ## _vlc_lens), \ |
|
2148 |
+ name ## _vlc_lens, 1, 1, \ |
|
2149 |
+ name ## _vlc_bits, 2, 2, 0); \ |
|
2150 |
+ if (ret < 0) \ |
|
2151 |
+ return ret; \ |
|
2152 |
+ } while (0) |
|
2153 |
+ |
|
2154 |
+av_cold int ff_hqx_init_vlcs(HQXContext *ctx) |
|
2155 |
+{ |
|
2156 |
+ int ret = init_vlc(&ctx->cbp_vlc, 5, FF_ARRAY_ELEMS(cbp_vlc_lens), |
|
2157 |
+ cbp_vlc_lens, 1, 1, cbp_vlc_bits, 1, 1, 0); |
|
2158 |
+ if (ret < 0) |
|
2159 |
+ return ret; |
|
2160 |
+ |
|
2161 |
+ INIT_DC_TABLE(0, dc9); |
|
2162 |
+ INIT_DC_TABLE(1, dc10); |
|
2163 |
+ INIT_DC_TABLE(2, dc11); |
|
2164 |
+ |
|
2165 |
+ return 0; |
|
2166 |
+} |
... | ... |
@@ -29,7 +29,7 @@ |
29 | 29 |
#include "libavutil/version.h" |
30 | 30 |
|
31 | 31 |
#define LIBAVCODEC_VERSION_MAJOR 56 |
32 |
-#define LIBAVCODEC_VERSION_MINOR 16 |
|
32 |
+#define LIBAVCODEC_VERSION_MINOR 17 |
|
33 | 33 |
#define LIBAVCODEC_VERSION_MICRO 0 |
34 | 34 |
|
35 | 35 |
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ |
... | ... |
@@ -351,6 +351,7 @@ const AVCodecTag ff_codec_bmp_tags[] = { |
351 | 351 |
{ AV_CODEC_ID_PRORES, MKTAG('A', 'P', 'C', 'N') }, |
352 | 352 |
{ AV_CODEC_ID_PRORES, MKTAG('A', 'P', 'C', 'H') }, |
353 | 353 |
{ AV_CODEC_ID_QTRLE, MKTAG('r', 'l', 'e', ' ') }, |
354 |
+ { AV_CODEC_ID_HQX, MKTAG('C', 'H', 'Q', 'X') }, |
|
354 | 355 |
{ AV_CODEC_ID_NONE, 0 } |
355 | 356 |
}; |
356 | 357 |
|
... | ... |
@@ -52,6 +52,15 @@ fate-bink-video: $(FATE_BINK_VIDEO) |
52 | 52 |
FATE_SAMPLES_AVCONV-$(call DEMDEC, BMV, BMV_VIDEO) += fate-bmv-video |
53 | 53 |
fate-bmv-video: CMD = framecrc -i $(TARGET_SAMPLES)/bmv/SURFING-partial.BMV -pix_fmt rgb24 -an |
54 | 54 |
|
55 |
+FATE_CANOPUS_HQX += fate-canopus-hqx422 |
|
56 |
+fate-canopus-hqx422: CMD = framecrc -i $(TARGET_SAMPLES)/canopus/hqx422.avi -pix_fmt yuv422p16be -an |
|
57 |
+ |
|
58 |
+FATE_CANOPUS_HQX += fate-canopus-hqx422a |
|
59 |
+fate-canopus-hqx422a: CMD = framecrc -i $(TARGET_SAMPLES)/canopus/hqx422a.avi -pix_fmt yuv422p16be -an |
|
60 |
+ |
|
61 |
+FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, HQX) += $(FATE_CANOPUS_HQX) |
|
62 |
+fate-canopus-hqx: $(FATE_CANOPUS_HQX) |
|
63 |
+ |
|
55 | 64 |
FATE_SAMPLES_AVCONV-$(call DEMDEC, MPEGPS, CAVS) += fate-cavs |
56 | 65 |
fate-cavs: CMD = framecrc -i $(TARGET_SAMPLES)/cavs/cavs.mpg -an |
57 | 66 |
|