]> git.nihav.org Git - nihav.git/blob - nihav-duck/src/codecs/truemotion1data.rs
8474588b539a5d37b11ff9c08e194e972cf3c0b2
[nihav.git] / nihav-duck / src / codecs / truemotion1data.rs
1 use nihav_core::formats::*;
2
3 pub const RGB555_FORMAT: NAPixelFormaton = NAPixelFormaton { model: ColorModel::RGB(RGBSubmodel::RGB), components: 3,
4 comp_info: [
5 Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 5, shift: 10, comp_offs: 0, next_elem: 2 }),
6 Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 5, shift: 5, comp_offs: 0, next_elem: 2 }),
7 Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 5, shift: 0, comp_offs: 0, next_elem: 2 }),
8 None, None],
9 elem_size: 2, be: false, alpha: false, palette: false };
10 pub const BGR0_FORMAT: NAPixelFormaton = NAPixelFormaton { model: ColorModel::RGB(RGBSubmodel::RGB), components: 3,
11 comp_info: [
12 Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 8, shift: 0, comp_offs: 2, next_elem: 4 }),
13 Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 8, shift: 0, comp_offs: 1, next_elem: 4 }),
14 Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 8, shift: 0, comp_offs: 0, next_elem: 4 }),
15 None, None],
16 elem_size: 4, be: false, alpha: false, palette: false };
17
18 #[derive(Clone,Copy)]
19 pub struct TM1ComprInfo {
20 pub is_24bit: bool,
21 pub block_w: usize,
22 pub block_h: usize,
23 }
24
25 pub const TM1_COMPR_TYPES: [Option<TM1ComprInfo>; 17] = [
26 None,
27 Some(TM1ComprInfo { is_24bit: false, block_w: 4, block_h: 4 }),
28 Some(TM1ComprInfo { is_24bit: false, block_w: 4, block_h: 4 }),
29 Some(TM1ComprInfo { is_24bit: false, block_w: 4, block_h: 2 }),
30 Some(TM1ComprInfo { is_24bit: false, block_w: 4, block_h: 2 }),
31 Some(TM1ComprInfo { is_24bit: false, block_w: 2, block_h: 4 }),
32 Some(TM1ComprInfo { is_24bit: false, block_w: 2, block_h: 4 }),
33 Some(TM1ComprInfo { is_24bit: false, block_w: 2, block_h: 2 }),
34 Some(TM1ComprInfo { is_24bit: false, block_w: 2, block_h: 2 }),
35 None,
36 Some(TM1ComprInfo { is_24bit: true, block_w: 4, block_h: 4 }),
37 None,
38 Some(TM1ComprInfo { is_24bit: true, block_w: 4, block_h: 2 }),
39 None,
40 Some(TM1ComprInfo { is_24bit: true, block_w: 2, block_h: 4 }),
41 None,
42 Some(TM1ComprInfo { is_24bit: true, block_w: 2, block_h: 2 }),
43 ];
44
45 pub const DUCK_Y_DELTAS: [[i32; 8]; 4] = [
46 [ 0, -1, 1, -3, 3, -6, 6, -6 ],
47 [ 0, -1, 2, -3, 4, -6, 6, -6 ],
48 [ 2, -3, 10, -10, 23, -23, 47, -47 ],
49 [ 0, -2, 2, -8, 8, -18, 18, -40 ]
50 ];
51 const DUCK_Y_FAT_DELTA3: [i32; 8] = [ 0, -15, 50, -50, 115, -115, 235, -235 ];
52 const DUCK_Y_FAT_DELTA4: [i32; 8] = [ 0, 40, 80, -76, 160, -154, 236, -236 ];
53 pub const DUCK_Y_FAT_DELTAS: [&[i32; 8]; 4] = [
54 &DUCK_Y_FAT_DELTA3, &DUCK_Y_FAT_DELTA3, &DUCK_Y_FAT_DELTA3, &DUCK_Y_FAT_DELTA4
55 ];
56
57 pub const DUCK_C_DELTAS: [[i32; 8]; 4] = [
58 [ 0, -1, 1, -2, 3, -4, 5, -4 ],
59 [ 0, -1, 1, -2, 3, -4, 5, -4 ],
60 [ 0, -4, 3, -16, 20, -32, 36, -32 ],
61 [ 0, -2, 2, -8, 8, -18, 18, -40 ]
62 ];
63 const DUCK_C_FAT_DELTA3: [i32; 8] = [ 0, -20, 15, -80, 100, -160, 180, -160 ];
64 pub const DUCK_C_FAT_DELTAS: [&[i32; 8]; 4] = [
65 &DUCK_C_FAT_DELTA3, &DUCK_C_FAT_DELTA3, &DUCK_C_FAT_DELTA3, &DUCK_Y_FAT_DELTA4
66 ];
67
68 const DUCK_VECTBL1: &[u8] = &[
69 0x8,0x00,0x00,0x00,0x00,
70 0x8,0x10,0x00,0x00,0x00,
71 0x8,0x01,0x00,0x00,0x00,
72 0x8,0x00,0x10,0x00,0x00,
73 0x8,0x00,0x01,0x00,0x00,
74 0x8,0x00,0x00,0x10,0x00,
75 0x8,0x00,0x00,0x01,0x00,
76 0x8,0x00,0x00,0x00,0x10,
77 0x8,0x00,0x00,0x00,0x01,
78 0x6,0x00,0x00,0x00,
79 0x6,0x10,0x00,0x00,
80 0x6,0x01,0x00,0x00,
81 0x6,0x00,0x10,0x00,
82 0x6,0x00,0x01,0x00,
83 0x6,0x00,0x00,0x01,
84 0x6,0x00,0x00,0x10,
85 0x6,0x00,0x00,0x02,
86 0x6,0x00,0x00,0x20,
87 0x6,0x20,0x10,0x00,
88 0x6,0x00,0x02,0x01,
89 0x6,0x00,0x20,0x10,
90 0x6,0x02,0x01,0x00,
91 0x6,0x11,0x00,0x00,
92 0x6,0x00,0x20,0x00,
93 0x6,0x00,0x02,0x00,
94 0x6,0x20,0x00,0x00,
95 0x6,0x01,0x10,0x00,
96 0x6,0x02,0x00,0x00,
97 0x6,0x01,0x00,0x02,
98 0x6,0x10,0x00,0x20,
99 0x6,0x00,0x01,0x02,
100 0x6,0x10,0x01,0x00,
101 0x6,0x00,0x10,0x20,
102 0x6,0x10,0x10,0x00,
103 0x6,0x10,0x00,0x01,
104 0x6,0x20,0x00,0x10,
105 0x6,0x02,0x00,0x01,
106 0x6,0x01,0x01,0x00,
107 0x6,0x01,0x00,0x10,
108 0x6,0x00,0x11,0x00,
109 0x6,0x10,0x00,0x02,
110 0x6,0x00,0x01,0x10,
111 0x6,0x00,0x00,0x11,
112 0x6,0x10,0x00,0x10,
113 0x6,0x01,0x00,0x01,
114 0x6,0x00,0x00,0x22,
115 0x6,0x02,0x01,0x01,
116 0x6,0x10,0x20,0x10,
117 0x6,0x01,0x02,0x01,
118 0x6,0x20,0x10,0x10,
119 0x6,0x01,0x00,0x20,
120 0x6,0x00,0x10,0x01,
121 0x6,0x21,0x10,0x00,
122 0x6,0x10,0x02,0x01,
123 0x6,0x12,0x01,0x00,
124 0x6,0x01,0x20,0x10,
125 0x6,0x01,0x02,0x00,
126 0x6,0x10,0x20,0x00,
127 0x6,0x00,0x10,0x02,
128 0x6,0x00,0x01,0x20,
129 0x6,0x00,0x02,0x21,
130 0x6,0x00,0x02,0x20,
131 0x6,0x00,0x00,0x12,
132 0x6,0x00,0x00,0x21,
133 0x6,0x20,0x11,0x00,
134 0x6,0x00,0x01,0x01,
135 0x6,0x11,0x10,0x00,
136 0x6,0x00,0x20,0x12,
137 0x6,0x00,0x20,0x11,
138 0x6,0x20,0x10,0x02,
139 0x6,0x02,0x01,0x20,
140 0x6,0x00,0x22,0x11,
141 0x6,0x00,0x10,0x10,
142 0x6,0x02,0x11,0x00,
143 0x6,0x00,0x21,0x10,
144 0x6,0x00,0x02,0x03,
145 0x6,0x20,0x10,0x01,
146 0x6,0x00,0x12,0x01,
147 0x4,0x11,0x00,
148 0x4,0x00,0x22,
149 0x4,0x20,0x00,
150 0x4,0x01,0x10,
151 0x4,0x02,0x20,
152 0x4,0x00,0x20,
153 0x4,0x02,0x00,
154 0x4,0x10,0x01,
155 0x4,0x00,0x11,
156 0x4,0x02,0x01,
157 0x4,0x02,0x21,
158 0x4,0x00,0x02,
159 0x4,0x20,0x02,
160 0x4,0x01,0x01,
161 0x4,0x10,0x10,
162 0x4,0x10,0x02,
163 0x4,0x22,0x00,
164 0x4,0x10,0x00,
165 0x4,0x01,0x00,
166 0x4,0x21,0x00,
167 0x4,0x12,0x00,
168 0x4,0x00,0x10,
169 0x4,0x20,0x12,
170 0x4,0x01,0x11,
171 0x4,0x00,0x01,
172 0x4,0x01,0x02,
173 0x4,0x11,0x02,
174 0x4,0x11,0x01,
175 0x4,0x10,0x20,
176 0x4,0x20,0x01,
177 0x4,0x22,0x11,
178 0x4,0x00,0x12,
179 0x4,0x20,0x10,
180 0x4,0x22,0x01,
181 0x4,0x01,0x20,
182 0x4,0x00,0x21,
183 0x4,0x10,0x11,
184 0x4,0x21,0x10,
185 0x4,0x10,0x22,
186 0x4,0x02,0x03,
187 0x4,0x12,0x01,
188 0x4,0x20,0x11,
189 0x4,0x11,0x10,
190 0x4,0x20,0x30,
191 0x4,0x11,0x20,
192 0x4,0x02,0x10,
193 0x4,0x22,0x10,
194 0x4,0x11,0x11,
195 0x4,0x30,0x20,
196 0x4,0x30,0x00,
197 0x4,0x01,0x22,
198 0x4,0x01,0x12,
199 0x4,0x02,0x11,
200 0x4,0x03,0x02,
201 0x4,0x03,0x00,
202 0x4,0x10,0x21,
203 0x4,0x12,0x20,
204 0x4,0x00,0x00,
205 0x4,0x12,0x21,
206 0x4,0x21,0x11,
207 0x4,0x02,0x22,
208 0x4,0x10,0x12,
209 0x4,0x31,0x00,
210 0x4,0x20,0x20,
211 0x4,0x00,0x03,
212 0x4,0x02,0x02,
213 0x4,0x22,0x20,
214 0x4,0x01,0x21,
215 0x4,0x21,0x02,
216 0x4,0x21,0x12,
217 0x4,0x11,0x22,
218 0x4,0x00,0x30,
219 0x4,0x12,0x11,
220 0x4,0x20,0x22,
221 0x4,0x31,0x20,
222 0x4,0x21,0x30,
223 0x4,0x22,0x02,
224 0x4,0x22,0x22,
225 0x4,0x20,0x31,
226 0x4,0x13,0x02,
227 0x4,0x03,0x10,
228 0x4,0x11,0x12,
229 0x4,0x00,0x13,
230 0x4,0x21,0x01,
231 0x4,0x12,0x03,
232 0x4,0x13,0x00,
233 0x4,0x13,0x10,
234 0x4,0x02,0x13,
235 0x4,0x30,0x01,
236 0x4,0x12,0x10,
237 0x4,0x22,0x13,
238 0x4,0x03,0x12,
239 0x4,0x31,0x01,
240 0x4,0x30,0x22,
241 0x4,0x00,0x31,
242 0x4,0x01,0x31,
243 0x4,0x02,0x23,
244 0x4,0x01,0x30,
245 0x4,0x11,0x21,
246 0x4,0x22,0x21,
247 0x4,0x01,0x13,
248 0x4,0x10,0x03,
249 0x4,0x22,0x03,
250 0x4,0x30,0x21,
251 0x4,0x21,0x31,
252 0x4,0x33,0x00,
253 0x4,0x13,0x12,
254 0x4,0x11,0x31,
255 0x4,0x30,0x02,
256 0x4,0x12,0x02,
257 0x4,0x11,0x13,
258 0x4,0x12,0x22,
259 0x4,0x20,0x32,
260 0x4,0x10,0x13,
261 0x4,0x22,0x31,
262 0x4,0x21,0x20,
263 0x4,0x01,0x33,
264 0x4,0x33,0x10,
265 0x4,0x20,0x13,
266 0x4,0x31,0x22,
267 0x4,0x13,0x30,
268 0x4,0x01,0x03,
269 0x4,0x11,0x33,
270 0x4,0x20,0x21,
271 0x4,0x13,0x31,
272 0x4,0x03,0x22,
273 0x4,0x31,0x02,
274 0x4,0x00,0x24,
275 0x4,0x02,0x12,
276 0x2,0x00,
277 0x2,0x10,
278 0x2,0x20,
279 0x2,0x30,
280 0x2,0x40,
281 0x2,0x50,
282 0x2,0x60,
283 0x2,0x01,
284 0x2,0x11,
285 0x2,0x21,
286 0x2,0x31,
287 0x2,0x41,
288 0x2,0x51,
289 0x2,0x61,
290 0x2,0x02,
291 0x2,0x12,
292 0x2,0x22,
293 0x2,0x32,
294 0x2,0x42,
295 0x2,0x52,
296 0x2,0x62,
297 0x2,0x03,
298 0x2,0x13,
299 0x2,0x23,
300 0x2,0x33,
301 0x2,0x43,
302 0x2,0x53,
303 0x2,0x63,
304 0x2,0x04,
305 0x2,0x14,
306 0x2,0x24,
307 0x2,0x34,
308 0x2,0x44,
309 0x2,0x54,
310 0x2,0x64,
311 0x2,0x05,
312 0x2,0x15,
313 0x2,0x25,
314 0x2,0x35,
315 0x2,0x45,
316 0x2,0x55,
317 0x2,0x65,
318 0x2,0x06,
319 0x2,0x16,
320 0x2,0x26,
321 0x2,0x36,
322 0x2,0x46,
323 0x2,0x56,
324 0x2,0x66
325 ];
326
327 const DUCK_VECTBL2: &[u8] = &[
328 0x8,0x00,0x00,0x00,0x00,
329 0x8,0x00,0x00,0x00,0x00,
330 0x8,0x10,0x00,0x00,0x00,
331 0x8,0x01,0x00,0x00,0x00,
332 0x8,0x00,0x10,0x00,0x00,
333 0x8,0x00,0x01,0x00,0x00,
334 0x8,0x00,0x00,0x10,0x00,
335 0x8,0x00,0x00,0x01,0x00,
336 0x8,0x00,0x00,0x00,0x10,
337 0x8,0x00,0x00,0x00,0x01,
338 0x6,0x00,0x00,0x00,
339 0x6,0x10,0x00,0x00,
340 0x6,0x01,0x00,0x00,
341 0x6,0x00,0x10,0x00,
342 0x6,0x00,0x01,0x00,
343 0x6,0x00,0x00,0x01,
344 0x6,0x00,0x00,0x10,
345 0x6,0x00,0x00,0x02,
346 0x6,0x00,0x00,0x20,
347 0x6,0x20,0x10,0x00,
348 0x6,0x00,0x02,0x01,
349 0x6,0x00,0x20,0x10,
350 0x6,0x02,0x01,0x00,
351 0x6,0x11,0x00,0x00,
352 0x6,0x00,0x20,0x00,
353 0x6,0x00,0x02,0x00,
354 0x6,0x20,0x00,0x00,
355 0x6,0x01,0x10,0x00,
356 0x6,0x02,0x00,0x00,
357 0x6,0x01,0x00,0x02,
358 0x6,0x10,0x00,0x20,
359 0x6,0x00,0x01,0x02,
360 0x6,0x10,0x01,0x00,
361 0x6,0x00,0x10,0x20,
362 0x6,0x10,0x10,0x00,
363 0x6,0x10,0x00,0x01,
364 0x6,0x20,0x00,0x10,
365 0x6,0x02,0x00,0x01,
366 0x6,0x01,0x01,0x00,
367 0x6,0x01,0x00,0x10,
368 0x6,0x00,0x11,0x00,
369 0x6,0x10,0x00,0x02,
370 0x6,0x00,0x01,0x10,
371 0x6,0x00,0x00,0x11,
372 0x6,0x10,0x00,0x10,
373 0x6,0x01,0x00,0x01,
374 0x6,0x00,0x00,0x22,
375 0x6,0x02,0x01,0x01,
376 0x6,0x10,0x20,0x10,
377 0x6,0x01,0x02,0x01,
378 0x6,0x20,0x10,0x10,
379 0x6,0x01,0x00,0x20,
380 0x6,0x00,0x10,0x01,
381 0x6,0x21,0x10,0x00,
382 0x6,0x10,0x02,0x01,
383 0x6,0x12,0x01,0x00,
384 0x6,0x01,0x20,0x10,
385 0x6,0x01,0x02,0x00,
386 0x6,0x10,0x20,0x00,
387 0x6,0x00,0x10,0x02,
388 0x6,0x00,0x01,0x20,
389 0x6,0x00,0x02,0x21,
390 0x6,0x00,0x02,0x20,
391 0x6,0x00,0x00,0x12,
392 0x6,0x00,0x00,0x21,
393 0x6,0x20,0x11,0x00,
394 0x6,0x00,0x01,0x01,
395 0x6,0x11,0x10,0x00,
396 0x6,0x00,0x20,0x12,
397 0x6,0x00,0x20,0x11,
398 0x6,0x20,0x10,0x02,
399 0x6,0x02,0x01,0x20,
400 0x6,0x00,0x22,0x11,
401 0x6,0x00,0x10,0x10,
402 0x6,0x02,0x11,0x00,
403 0x6,0x00,0x21,0x10,
404 0x6,0x00,0x02,0x03,
405 0x6,0x20,0x10,0x01,
406 0x6,0x00,0x12,0x01,
407 0x4,0x11,0x00,
408 0x4,0x00,0x22,
409 0x4,0x20,0x00,
410 0x4,0x01,0x10,
411 0x4,0x02,0x20,
412 0x4,0x00,0x20,
413 0x4,0x02,0x00,
414 0x4,0x10,0x01,
415 0x4,0x00,0x11,
416 0x4,0x02,0x01,
417 0x4,0x02,0x21,
418 0x4,0x00,0x02,
419 0x4,0x20,0x02,
420 0x4,0x01,0x01,
421 0x4,0x10,0x10,
422 0x4,0x10,0x02,
423 0x4,0x22,0x00,
424 0x4,0x10,0x00,
425 0x4,0x01,0x00,
426 0x4,0x21,0x00,
427 0x4,0x12,0x00,
428 0x4,0x00,0x10,
429 0x4,0x20,0x12,
430 0x4,0x01,0x11,
431 0x4,0x00,0x01,
432 0x4,0x01,0x02,
433 0x4,0x11,0x02,
434 0x4,0x11,0x01,
435 0x4,0x10,0x20,
436 0x4,0x20,0x01,
437 0x4,0x22,0x11,
438 0x4,0x00,0x12,
439 0x4,0x20,0x10,
440 0x4,0x22,0x01,
441 0x4,0x01,0x20,
442 0x4,0x00,0x21,
443 0x4,0x10,0x11,
444 0x4,0x21,0x10,
445 0x4,0x10,0x22,
446 0x4,0x02,0x03,
447 0x4,0x12,0x01,
448 0x4,0x20,0x11,
449 0x4,0x11,0x10,
450 0x4,0x20,0x30,
451 0x4,0x11,0x20,
452 0x4,0x02,0x10,
453 0x4,0x22,0x10,
454 0x4,0x11,0x11,
455 0x4,0x30,0x20,
456 0x4,0x30,0x00,
457 0x4,0x01,0x22,
458 0x4,0x01,0x12,
459 0x4,0x02,0x11,
460 0x4,0x03,0x02,
461 0x4,0x03,0x00,
462 0x4,0x10,0x21,
463 0x4,0x12,0x20,
464 0x4,0x00,0x00,
465 0x4,0x12,0x21,
466 0x4,0x21,0x11,
467 0x4,0x02,0x22,
468 0x4,0x10,0x12,
469 0x4,0x31,0x00,
470 0x4,0x20,0x20,
471 0x4,0x00,0x03,
472 0x4,0x02,0x02,
473 0x4,0x22,0x20,
474 0x4,0x01,0x21,
475 0x4,0x21,0x02,
476 0x4,0x21,0x12,
477 0x4,0x11,0x22,
478 0x4,0x00,0x30,
479 0x4,0x12,0x11,
480 0x4,0x20,0x22,
481 0x4,0x31,0x20,
482 0x4,0x21,0x30,
483 0x4,0x22,0x02,
484 0x4,0x22,0x22,
485 0x4,0x20,0x31,
486 0x4,0x13,0x02,
487 0x4,0x03,0x10,
488 0x4,0x11,0x12,
489 0x4,0x00,0x13,
490 0x4,0x21,0x01,
491 0x4,0x12,0x03,
492 0x4,0x13,0x00,
493 0x4,0x13,0x10,
494 0x4,0x02,0x13,
495 0x4,0x30,0x01,
496 0x4,0x12,0x10,
497 0x4,0x22,0x13,
498 0x4,0x03,0x12,
499 0x4,0x31,0x01,
500 0x4,0x30,0x22,
501 0x4,0x00,0x31,
502 0x4,0x01,0x31,
503 0x4,0x02,0x23,
504 0x4,0x01,0x30,
505 0x4,0x11,0x21,
506 0x4,0x22,0x21,
507 0x4,0x01,0x13,
508 0x4,0x10,0x03,
509 0x4,0x22,0x03,
510 0x4,0x30,0x21,
511 0x4,0x21,0x31,
512 0x4,0x33,0x00,
513 0x4,0x13,0x12,
514 0x4,0x11,0x31,
515 0x4,0x30,0x02,
516 0x4,0x12,0x02,
517 0x4,0x11,0x13,
518 0x4,0x12,0x22,
519 0x4,0x20,0x32,
520 0x4,0x10,0x13,
521 0x4,0x22,0x31,
522 0x4,0x21,0x20,
523 0x4,0x01,0x33,
524 0x4,0x33,0x10,
525 0x4,0x20,0x13,
526 0x4,0x31,0x22,
527 0x4,0x13,0x30,
528 0x4,0x01,0x03,
529 0x4,0x11,0x33,
530 0x4,0x20,0x21,
531 0x4,0x13,0x31,
532 0x4,0x03,0x22,
533 0x4,0x31,0x02,
534 0x4,0x00,0x24,
535 0x2,0x00,
536 0x2,0x10,
537 0x2,0x20,
538 0x2,0x30,
539 0x2,0x40,
540 0x2,0x50,
541 0x2,0x60,
542 0x2,0x01,
543 0x2,0x11,
544 0x2,0x21,
545 0x2,0x31,
546 0x2,0x41,
547 0x2,0x51,
548 0x2,0x61,
549 0x2,0x02,
550 0x2,0x12,
551 0x2,0x22,
552 0x2,0x32,
553 0x2,0x42,
554 0x2,0x52,
555 0x2,0x62,
556 0x2,0x03,
557 0x2,0x13,
558 0x2,0x23,
559 0x2,0x33,
560 0x2,0x43,
561 0x2,0x53,
562 0x2,0x63,
563 0x2,0x04,
564 0x2,0x14,
565 0x2,0x24,
566 0x2,0x34,
567 0x2,0x44,
568 0x2,0x54,
569 0x2,0x64,
570 0x2,0x05,
571 0x2,0x15,
572 0x2,0x25,
573 0x2,0x35,
574 0x2,0x45,
575 0x2,0x55,
576 0x2,0x65,
577 0x2,0x06,
578 0x2,0x16,
579 0x2,0x26,
580 0x2,0x36,
581 0x2,0x46,
582 0x2,0x56,
583 0x2,0x66
584 ];
585
586 const DUCK_VECTBL3: &[u8] = &[
587 0x6,0x00,0x00,0x00,
588 0x6,0x00,0x00,0x00,
589 0x6,0x00,0x00,0x01,
590 0x6,0x00,0x00,0x10,
591 0x6,0x00,0x00,0x11,
592 0x6,0x00,0x01,0x00,
593 0x6,0x00,0x01,0x01,
594 0x6,0x00,0x01,0x10,
595 0x6,0x00,0x01,0x11,
596 0x6,0x00,0x10,0x00,
597 0x6,0x00,0x10,0x01,
598 0x6,0x00,0x10,0x10,
599 0x6,0x00,0x10,0x11,
600 0x6,0x00,0x11,0x00,
601 0x6,0x00,0x11,0x01,
602 0x6,0x00,0x11,0x10,
603 0x6,0x00,0x11,0x11,
604 0x6,0x01,0x00,0x00,
605 0x6,0x01,0x00,0x01,
606 0x6,0x01,0x00,0x10,
607 0x6,0x01,0x00,0x11,
608 0x6,0x01,0x01,0x00,
609 0x6,0x01,0x01,0x01,
610 0x6,0x01,0x01,0x10,
611 0x6,0x01,0x01,0x11,
612 0x6,0x01,0x10,0x00,
613 0x6,0x01,0x10,0x01,
614 0x6,0x01,0x10,0x10,
615 0x6,0x01,0x10,0x11,
616 0x6,0x01,0x11,0x00,
617 0x6,0x01,0x11,0x01,
618 0x6,0x01,0x11,0x10,
619 0x6,0x01,0x11,0x11,
620 0x6,0x10,0x00,0x00,
621 0x6,0x10,0x00,0x01,
622 0x6,0x10,0x00,0x10,
623 0x6,0x10,0x00,0x11,
624 0x6,0x10,0x01,0x00,
625 0x6,0x10,0x01,0x01,
626 0x6,0x10,0x01,0x10,
627 0x6,0x10,0x01,0x11,
628 0x6,0x10,0x10,0x00,
629 0x6,0x10,0x10,0x01,
630 0x6,0x10,0x10,0x10,
631 0x6,0x10,0x10,0x11,
632 0x6,0x10,0x11,0x00,
633 0x6,0x10,0x11,0x01,
634 0x6,0x10,0x11,0x10,
635 0x6,0x10,0x11,0x11,
636 0x6,0x11,0x00,0x00,
637 0x6,0x11,0x00,0x01,
638 0x6,0x11,0x00,0x10,
639 0x6,0x11,0x00,0x11,
640 0x6,0x11,0x01,0x00,
641 0x6,0x11,0x01,0x01,
642 0x6,0x11,0x01,0x10,
643 0x6,0x11,0x01,0x11,
644 0x6,0x11,0x10,0x00,
645 0x6,0x11,0x10,0x01,
646 0x6,0x11,0x10,0x10,
647 0x6,0x11,0x10,0x11,
648 0x6,0x11,0x11,0x00,
649 0x6,0x11,0x11,0x01,
650 0x6,0x11,0x11,0x10,
651 0x4,0x00,0x00,
652 0x4,0x00,0x01,
653 0x4,0x00,0x02,
654 0x4,0x00,0x03,
655 0x4,0x00,0x10,
656 0x4,0x00,0x11,
657 0x4,0x00,0x12,
658 0x4,0x00,0x13,
659 0x4,0x00,0x20,
660 0x4,0x00,0x21,
661 0x4,0x00,0x22,
662 0x4,0x00,0x23,
663 0x4,0x00,0x30,
664 0x4,0x00,0x31,
665 0x4,0x00,0x32,
666 0x4,0x00,0x33,
667 0x4,0x01,0x00,
668 0x4,0x01,0x01,
669 0x4,0x01,0x02,
670 0x4,0x01,0x03,
671 0x4,0x01,0x10,
672 0x4,0x01,0x11,
673 0x4,0x01,0x12,
674 0x4,0x01,0x13,
675 0x4,0x01,0x20,
676 0x4,0x01,0x21,
677 0x4,0x01,0x22,
678 0x4,0x01,0x23,
679 0x4,0x01,0x30,
680 0x4,0x01,0x31,
681 0x4,0x01,0x32,
682 0x4,0x01,0x33,
683 0x4,0x02,0x00,
684 0x4,0x02,0x01,
685 0x4,0x02,0x02,
686 0x4,0x02,0x03,
687 0x4,0x02,0x10,
688 0x4,0x02,0x11,
689 0x4,0x02,0x12,
690 0x4,0x02,0x13,
691 0x4,0x02,0x20,
692 0x4,0x02,0x21,
693 0x4,0x02,0x22,
694 0x4,0x02,0x23,
695 0x4,0x02,0x30,
696 0x4,0x02,0x31,
697 0x4,0x02,0x32,
698 0x4,0x02,0x33,
699 0x4,0x03,0x00,
700 0x4,0x03,0x01,
701 0x4,0x03,0x02,
702 0x4,0x03,0x03,
703 0x4,0x03,0x10,
704 0x4,0x03,0x11,
705 0x4,0x03,0x12,
706 0x4,0x03,0x13,
707 0x4,0x03,0x20,
708 0x4,0x03,0x21,
709 0x4,0x03,0x22,
710 0x4,0x03,0x23,
711 0x4,0x03,0x30,
712 0x4,0x03,0x31,
713 0x4,0x03,0x32,
714 0x4,0x03,0x33,
715 0x4,0x10,0x00,
716 0x4,0x10,0x01,
717 0x4,0x10,0x02,
718 0x4,0x10,0x03,
719 0x4,0x10,0x10,
720 0x4,0x10,0x11,
721 0x4,0x10,0x12,
722 0x4,0x10,0x13,
723 0x4,0x10,0x20,
724 0x4,0x10,0x21,
725 0x4,0x10,0x22,
726 0x4,0x10,0x23,
727 0x4,0x10,0x30,
728 0x4,0x10,0x31,
729 0x4,0x10,0x32,
730 0x4,0x10,0x33,
731 0x4,0x11,0x00,
732 0x4,0x11,0x01,
733 0x4,0x11,0x02,
734 0x4,0x11,0x03,
735 0x4,0x11,0x10,
736 0x4,0x11,0x11,
737 0x4,0x11,0x12,
738 0x4,0x11,0x13,
739 0x4,0x11,0x20,
740 0x4,0x11,0x21,
741 0x4,0x11,0x22,
742 0x4,0x11,0x23,
743 0x4,0x11,0x30,
744 0x4,0x11,0x31,
745 0x4,0x11,0x32,
746 0x4,0x11,0x33,
747 0x4,0x12,0x00,
748 0x4,0x12,0x01,
749 0x4,0x12,0x02,
750 0x4,0x12,0x03,
751 0x4,0x12,0x10,
752 0x4,0x12,0x11,
753 0x4,0x12,0x12,
754 0x4,0x12,0x13,
755 0x4,0x12,0x20,
756 0x4,0x12,0x21,
757 0x4,0x12,0x22,
758 0x4,0x12,0x23,
759 0x4,0x12,0x30,
760 0x4,0x12,0x31,
761 0x4,0x12,0x32,
762 0x4,0x12,0x33,
763 0x4,0x13,0x00,
764 0x4,0x13,0x01,
765 0x4,0x13,0x02,
766 0x4,0x13,0x03,
767 0x4,0x13,0x10,
768 0x4,0x13,0x11,
769 0x4,0x13,0x12,
770 0x4,0x13,0x13,
771 0x4,0x13,0x20,
772 0x4,0x13,0x21,
773 0x4,0x13,0x22,
774 0x4,0x13,0x23,
775 0x4,0x13,0x30,
776 0x4,0x13,0x31,
777 0x4,0x13,0x32,
778 0x4,0x13,0x33,
779 0x2,0x00,
780 0x2,0x10,
781 0x2,0x20,
782 0x2,0x30,
783 0x2,0x40,
784 0x2,0x50,
785 0x2,0x60,
786 0x2,0x70,
787 0x2,0x01,
788 0x2,0x11,
789 0x2,0x21,
790 0x2,0x31,
791 0x2,0x41,
792 0x2,0x51,
793 0x2,0x61,
794 0x2,0x71,
795 0x2,0x02,
796 0x2,0x12,
797 0x2,0x22,
798 0x2,0x32,
799 0x2,0x42,
800 0x2,0x52,
801 0x2,0x62,
802 0x2,0x72,
803 0x2,0x03,
804 0x2,0x13,
805 0x2,0x23,
806 0x2,0x33,
807 0x2,0x43,
808 0x2,0x53,
809 0x2,0x63,
810 0x2,0x73,
811 0x2,0x04,
812 0x2,0x14,
813 0x2,0x24,
814 0x2,0x34,
815 0x2,0x44,
816 0x2,0x54,
817 0x2,0x64,
818 0x2,0x74,
819 0x2,0x05,
820 0x2,0x15,
821 0x2,0x25,
822 0x2,0x35,
823 0x2,0x45,
824 0x2,0x55,
825 0x2,0x65,
826 0x2,0x75,
827 0x2,0x06,
828 0x2,0x16,
829 0x2,0x26,
830 0x2,0x36,
831 0x2,0x46,
832 0x2,0x56,
833 0x2,0x66,
834 0x2,0x76,
835 0x2,0x07,
836 0x2,0x17,
837 0x2,0x27,
838 0x2,0x37,
839 0x2,0x47,
840 0x2,0x57,
841 0x2,0x67,
842 0x2,0x77
843 ];
844
845 const DUCK_VECTBL4: &[u8] = &[
846 0x8,0x00,0x00,0x00,0x00,
847 0x8,0x00,0x00,0x00,0x00,
848 0x8,0x20,0x00,0x00,0x00,
849 0x8,0x00,0x00,0x00,0x01,
850 0x8,0x10,0x00,0x00,0x00,
851 0x8,0x00,0x00,0x00,0x02,
852 0x8,0x01,0x00,0x00,0x00,
853 0x8,0x00,0x00,0x00,0x10,
854 0x8,0x02,0x00,0x00,0x00,
855 0x6,0x00,0x00,0x00,
856 0x6,0x20,0x00,0x00,
857 0x6,0x00,0x00,0x01,
858 0x6,0x10,0x00,0x00,
859 0x6,0x00,0x00,0x02,
860 0x6,0x00,0x10,0x00,
861 0x6,0x00,0x20,0x00,
862 0x6,0x00,0x02,0x00,
863 0x6,0x00,0x01,0x00,
864 0x6,0x01,0x00,0x00,
865 0x6,0x00,0x00,0x20,
866 0x6,0x02,0x00,0x00,
867 0x6,0x00,0x00,0x10,
868 0x6,0x10,0x00,0x20,
869 0x6,0x01,0x00,0x02,
870 0x6,0x20,0x00,0x10,
871 0x6,0x02,0x00,0x01,
872 0x6,0x20,0x10,0x00,
873 0x6,0x00,0x12,0x00,
874 0x6,0x00,0x02,0x01,
875 0x6,0x02,0x01,0x00,
876 0x6,0x00,0x21,0x00,
877 0x6,0x00,0x01,0x02,
878 0x6,0x00,0x20,0x10,
879 0x6,0x00,0x00,0x21,
880 0x6,0x00,0x00,0x12,
881 0x6,0x00,0x01,0x20,
882 0x6,0x12,0x00,0x00,
883 0x6,0x00,0x10,0x20,
884 0x6,0x01,0x20,0x00,
885 0x6,0x02,0x10,0x00,
886 0x6,0x10,0x20,0x00,
887 0x6,0x01,0x02,0x00,
888 0x6,0x21,0x00,0x00,
889 0x6,0x00,0x02,0x10,
890 0x6,0x20,0x01,0x00,
891 0x6,0x00,0x22,0x00,
892 0x6,0x10,0x02,0x00,
893 0x6,0x00,0x10,0x02,
894 0x6,0x11,0x00,0x00,
895 0x6,0x00,0x11,0x00,
896 0x6,0x22,0x00,0x00,
897 0x6,0x20,0x00,0x02,
898 0x6,0x10,0x00,0x01,
899 0x6,0x00,0x20,0x01,
900 0x6,0x02,0x20,0x00,
901 0x6,0x01,0x10,0x00,
902 0x6,0x01,0x00,0x20,
903 0x6,0x00,0x20,0x02,
904 0x6,0x01,0x20,0x02,
905 0x6,0x10,0x01,0x00,
906 0x6,0x02,0x00,0x10,
907 0x6,0x00,0x10,0x01,
908 0x6,0x10,0x01,0x20,
909 0x6,0x20,0x02,0x10,
910 0x6,0x00,0x00,0x22,
911 0x6,0x10,0x00,0x02,
912 0x6,0x00,0x02,0x20,
913 0x6,0x20,0x02,0x00,
914 0x6,0x00,0x00,0x11,
915 0x6,0x02,0x10,0x01,
916 0x6,0x00,0x01,0x10,
917 0x6,0x00,0x02,0x11,
918 0x4,0x01,0x02,
919 0x4,0x02,0x01,
920 0x4,0x01,0x00,
921 0x4,0x10,0x20,
922 0x4,0x20,0x10,
923 0x4,0x20,0x00,
924 0x4,0x11,0x00,
925 0x4,0x02,0x00,
926 0x4,0x12,0x00,
927 0x4,0x00,0x21,
928 0x4,0x22,0x00,
929 0x4,0x00,0x12,
930 0x4,0x21,0x00,
931 0x4,0x02,0x11,
932 0x4,0x00,0x01,
933 0x4,0x10,0x02,
934 0x4,0x02,0x20,
935 0x4,0x20,0x11,
936 0x4,0x01,0x10,
937 0x4,0x21,0x10,
938 0x4,0x10,0x00,
939 0x4,0x10,0x22,
940 0x4,0x20,0x20,
941 0x4,0x00,0x22,
942 0x4,0x01,0x22,
943 0x4,0x20,0x01,
944 0x4,0x02,0x02,
945 0x4,0x00,0x20,
946 0x4,0x00,0x10,
947 0x4,0x00,0x11,
948 0x4,0x22,0x01,
949 0x4,0x11,0x20,
950 0x4,0x12,0x01,
951 0x4,0x12,0x20,
952 0x4,0x11,0x02,
953 0x4,0x10,0x10,
954 0x4,0x01,0x01,
955 0x4,0x02,0x21,
956 0x4,0x20,0x12,
957 0x4,0x01,0x12,
958 0x4,0x22,0x11,
959 0x4,0x21,0x12,
960 0x4,0x22,0x10,
961 0x4,0x21,0x02,
962 0x4,0x20,0x02,
963 0x4,0x10,0x01,
964 0x4,0x00,0x02,
965 0x4,0x10,0x21,
966 0x4,0x01,0x20,
967 0x4,0x11,0x22,
968 0x4,0x12,0x21,
969 0x4,0x22,0x20,
970 0x4,0x02,0x10,
971 0x4,0x02,0x22,
972 0x4,0x11,0x10,
973 0x4,0x22,0x02,
974 0x4,0x20,0x21,
975 0x4,0x01,0x11,
976 0x4,0x11,0x01,
977 0x4,0x10,0x12,
978 0x4,0x02,0x12,
979 0x4,0x20,0x22,
980 0x4,0x21,0x20,
981 0x4,0x01,0x21,
982 0x4,0x12,0x02,
983 0x4,0x21,0x11,
984 0x4,0x12,0x22,
985 0x4,0x12,0x10,
986 0x4,0x22,0x21,
987 0x4,0x10,0x11,
988 0x4,0x21,0x01,
989 0x4,0x11,0x12,
990 0x4,0x12,0x11,
991 0x4,0x66,0x66,
992 0x4,0x22,0x22,
993 0x4,0x11,0x21,
994 0x4,0x11,0x11,
995 0x4,0x21,0x22,
996 0x4,0x00,0x00,
997 0x4,0x22,0x12,
998 0x4,0x12,0x12,
999 0x4,0x21,0x21,
1000 0x4,0x42,0x00,
1001 0x4,0x00,0x04,
1002 0x4,0x40,0x00,
1003 0x4,0x30,0x00,
1004 0x4,0x31,0x00,
1005 0x4,0x00,0x03,
1006 0x4,0x00,0x14,
1007 0x4,0x00,0x13,
1008 0x4,0x01,0x24,
1009 0x4,0x20,0x13,
1010 0x4,0x01,0x42,
1011 0x4,0x14,0x20,
1012 0x4,0x42,0x02,
1013 0x4,0x13,0x00,
1014 0x4,0x00,0x24,
1015 0x4,0x31,0x20,
1016 0x4,0x22,0x13,
1017 0x4,0x11,0x24,
1018 0x4,0x12,0x66,
1019 0x4,0x30,0x01,
1020 0x4,0x02,0x13,
1021 0x4,0x12,0x42,
1022 0x4,0x40,0x10,
1023 0x4,0x40,0x02,
1024 0x4,0x01,0x04,
1025 0x4,0x24,0x00,
1026 0x4,0x42,0x10,
1027 0x4,0x21,0x13,
1028 0x4,0x13,0x12,
1029 0x4,0x31,0x21,
1030 0x4,0x21,0x24,
1031 0x4,0x00,0x40,
1032 0x4,0x10,0x24,
1033 0x4,0x10,0x42,
1034 0x4,0x32,0x01,
1035 0x4,0x11,0x42,
1036 0x4,0x20,0x31,
1037 0x4,0x12,0x40,
1038 0x2,0x00,
1039 0x2,0x10,
1040 0x2,0x20,
1041 0x2,0x30,
1042 0x2,0x40,
1043 0x2,0x50,
1044 0x2,0x60,
1045 0x2,0x70,
1046 0x2,0x01,
1047 0x2,0x11,
1048 0x2,0x21,
1049 0x2,0x31,
1050 0x2,0x41,
1051 0x2,0x51,
1052 0x2,0x61,
1053 0x2,0x71,
1054 0x2,0x02,
1055 0x2,0x12,
1056 0x2,0x22,
1057 0x2,0x32,
1058 0x2,0x42,
1059 0x2,0x52,
1060 0x2,0x62,
1061 0x2,0x72,
1062 0x2,0x03,
1063 0x2,0x13,
1064 0x2,0x23,
1065 0x2,0x33,
1066 0x2,0x43,
1067 0x2,0x53,
1068 0x2,0x63,
1069 0x2,0x73,
1070 0x2,0x04,
1071 0x2,0x14,
1072 0x2,0x24,
1073 0x2,0x34,
1074 0x2,0x44,
1075 0x2,0x54,
1076 0x2,0x64,
1077 0x2,0x74,
1078 0x2,0x05,
1079 0x2,0x15,
1080 0x2,0x25,
1081 0x2,0x35,
1082 0x2,0x45,
1083 0x2,0x55,
1084 0x2,0x65,
1085 0x2,0x75,
1086 0x2,0x06,
1087 0x2,0x16,
1088 0x2,0x26,
1089 0x2,0x36,
1090 0x2,0x46,
1091 0x2,0x56,
1092 0x2,0x66,
1093 0x2,0x76,
1094 0x2,0x07,
1095 0x2,0x17,
1096 0x2,0x27,
1097 0x2,0x37,
1098 0x2,0x47,
1099 0x2,0x57,
1100 0x2,0x67,
1101 0x2,0x77
1102 ];
1103
1104 pub const DUCK_VECTABLES: [&[u8]; 4] = [ DUCK_VECTBL1, DUCK_VECTBL2, DUCK_VECTBL3, DUCK_VECTBL4 ];