Skip to main content

wmv_decoder/
na_wmv2_tables.rs

1pub const FF_MSMP4_MB_I_TABLE: [(u32, u8); 64] = [
2    (0x1, 1u8),
3    (0x17, 6u8),
4    (0x9, 5u8),
5    (0x5, 5u8),
6    (0x6, 5u8),
7    (0x47, 9u8),
8    (0x20, 7u8),
9    (0x10, 7u8),
10    (0x2, 5u8),
11    (0x7c, 9u8),
12    (0x3a, 7u8),
13    (0x1d, 7u8),
14    (0x2, 6u8),
15    (0xec, 9u8),
16    (0x77, 8u8),
17    (0x0, 8u8),
18    (0x3, 5u8),
19    (0xb7, 9u8),
20    (0x2c, 7u8),
21    (0x13, 7u8),
22    (0x1, 6u8),
23    (0x168, 10u8),
24    (0x46, 8u8),
25    (0x3f, 8u8),
26    (0x1e, 6u8),
27    (0x712, 13u8),
28    (0xb5, 9u8),
29    (0x42, 8u8),
30    (0x22, 7u8),
31    (0x1c5, 11u8),
32    (0x11e, 10u8),
33    (0x87, 9u8),
34    (0x6, 4u8),
35    (0x3, 9u8),
36    (0x1e, 7u8),
37    (0x1c, 6u8),
38    (0x12, 7u8),
39    (0x388, 12u8),
40    (0x44, 9u8),
41    (0x70, 9u8),
42    (0x1f, 6u8),
43    (0x23e, 11u8),
44    (0x39, 8u8),
45    (0x8e, 9u8),
46    (0x1, 7u8),
47    (0x1c6, 11u8),
48    (0xb6, 9u8),
49    (0x45, 9u8),
50    (0x14, 6u8),
51    (0x23f, 11u8),
52    (0x7d, 9u8),
53    (0x18, 9u8),
54    (0x7, 7u8),
55    (0x1c7, 11u8),
56    (0x86, 9u8),
57    (0x19, 9u8),
58    (0x15, 6u8),
59    (0x1db, 10u8),
60    (0x2, 9u8),
61    (0x46, 9u8),
62    (0xd, 8u8),
63    (0x713, 13u8),
64    (0x1da, 10u8),
65    (0x169, 10u8),
66];
67
68pub const FF_MSMP4_DC_TABLES: [[[(u32, u8); 120]; 2]; 2] = [
69    [
70        [
71            (0x1, 1u8),
72            (0x1, 2u8),
73            (0x1, 4u8),
74            (0x1, 5u8),
75            (0x5, 5u8),
76            (0x7, 5u8),
77            (0x8, 6u8),
78            (0xc, 6u8),
79            (0x0, 7u8),
80            (0x2, 7u8),
81            (0x12, 7u8),
82            (0x1a, 7u8),
83            (0x3, 8u8),
84            (0x7, 8u8),
85            (0x27, 8u8),
86            (0x37, 8u8),
87            (0x5, 9u8),
88            (0x4c, 9u8),
89            (0x6c, 9u8),
90            (0x6d, 9u8),
91            (0x8, 10u8),
92            (0x19, 10u8),
93            (0x9b, 10u8),
94            (0x1b, 10u8),
95            (0x9a, 10u8),
96            (0x13, 11u8),
97            (0x34, 11u8),
98            (0x35, 11u8),
99            (0x61, 12u8),
100            (0x48, 13u8),
101            (0xc4, 13u8),
102            (0x4a, 13u8),
103            (0xc6, 13u8),
104            (0xc7, 13u8),
105            (0x92, 14u8),
106            (0x18b, 14u8),
107            (0x93, 14u8),
108            (0x183, 14u8),
109            (0x182, 14u8),
110            (0x96, 14u8),
111            (0x97, 14u8),
112            (0x180, 14u8),
113            (0x314, 15u8),
114            (0x315, 15u8),
115            (0x605, 16u8),
116            (0x604, 16u8),
117            (0x606, 16u8),
118            (0xc0e, 17u8),
119            (0x303cd, 23u8),
120            (0x303c9, 23u8),
121            (0x303c8, 23u8),
122            (0x303ca, 23u8),
123            (0x303cb, 23u8),
124            (0x303cc, 23u8),
125            (0x303ce, 23u8),
126            (0x303cf, 23u8),
127            (0x303d0, 23u8),
128            (0x303d1, 23u8),
129            (0x303d2, 23u8),
130            (0x303d3, 23u8),
131            (0x303d4, 23u8),
132            (0x303d5, 23u8),
133            (0x303d6, 23u8),
134            (0x303d7, 23u8),
135            (0x303d8, 23u8),
136            (0x303d9, 23u8),
137            (0x303da, 23u8),
138            (0x303db, 23u8),
139            (0x303dc, 23u8),
140            (0x303dd, 23u8),
141            (0x303de, 23u8),
142            (0x303df, 23u8),
143            (0x303e0, 23u8),
144            (0x303e1, 23u8),
145            (0x303e2, 23u8),
146            (0x303e3, 23u8),
147            (0x303e4, 23u8),
148            (0x303e5, 23u8),
149            (0x303e6, 23u8),
150            (0x303e7, 23u8),
151            (0x303e8, 23u8),
152            (0x303e9, 23u8),
153            (0x303ea, 23u8),
154            (0x303eb, 23u8),
155            (0x303ec, 23u8),
156            (0x303ed, 23u8),
157            (0x303ee, 23u8),
158            (0x303ef, 23u8),
159            (0x303f0, 23u8),
160            (0x303f1, 23u8),
161            (0x303f2, 23u8),
162            (0x303f3, 23u8),
163            (0x303f4, 23u8),
164            (0x303f5, 23u8),
165            (0x303f6, 23u8),
166            (0x303f7, 23u8),
167            (0x303f8, 23u8),
168            (0x303f9, 23u8),
169            (0x303fa, 23u8),
170            (0x303fb, 23u8),
171            (0x303fc, 23u8),
172            (0x303fd, 23u8),
173            (0x303fe, 23u8),
174            (0x303ff, 23u8),
175            (0x60780, 24u8),
176            (0x60781, 24u8),
177            (0x60782, 24u8),
178            (0x60783, 24u8),
179            (0x60784, 24u8),
180            (0x60785, 24u8),
181            (0x60786, 24u8),
182            (0x60787, 24u8),
183            (0x60788, 24u8),
184            (0x60789, 24u8),
185            (0x6078a, 24u8),
186            (0x6078b, 24u8),
187            (0x6078c, 24u8),
188            (0x6078d, 24u8),
189            (0x6078e, 24u8),
190            (0x6078f, 24u8),
191        ],
192        [
193            (0x0, 2u8),
194            (0x1, 2u8),
195            (0x5, 3u8),
196            (0x9, 4u8),
197            (0xd, 4u8),
198            (0x11, 5u8),
199            (0x1d, 5u8),
200            (0x1f, 5u8),
201            (0x21, 6u8),
202            (0x31, 6u8),
203            (0x38, 6u8),
204            (0x33, 6u8),
205            (0x39, 6u8),
206            (0x3d, 6u8),
207            (0x61, 7u8),
208            (0x79, 7u8),
209            (0x80, 8u8),
210            (0xc8, 8u8),
211            (0xca, 8u8),
212            (0xf0, 8u8),
213            (0x81, 8u8),
214            (0xc0, 8u8),
215            (0xc9, 8u8),
216            (0x107, 9u8),
217            (0x106, 9u8),
218            (0x196, 9u8),
219            (0x183, 9u8),
220            (0x1e3, 9u8),
221            (0x1e2, 9u8),
222            (0x20a, 10u8),
223            (0x20b, 10u8),
224            (0x609, 11u8),
225            (0x412, 11u8),
226            (0x413, 11u8),
227            (0x60b, 11u8),
228            (0x411, 11u8),
229            (0x60a, 11u8),
230            (0x65f, 11u8),
231            (0x410, 11u8),
232            (0x65d, 11u8),
233            (0x65e, 11u8),
234            (0xcb8, 12u8),
235            (0xc10, 12u8),
236            (0xcb9, 12u8),
237            (0x1823, 13u8),
238            (0x3045, 14u8),
239            (0x6089, 15u8),
240            (0xc110, 16u8),
241            (0x304448, 22u8),
242            (0x304449, 22u8),
243            (0x30444a, 22u8),
244            (0x30444b, 22u8),
245            (0x30444c, 22u8),
246            (0x30444d, 22u8),
247            (0x30444e, 22u8),
248            (0x30444f, 22u8),
249            (0x304450, 22u8),
250            (0x304451, 22u8),
251            (0x304452, 22u8),
252            (0x304453, 22u8),
253            (0x304454, 22u8),
254            (0x304455, 22u8),
255            (0x304456, 22u8),
256            (0x304457, 22u8),
257            (0x304458, 22u8),
258            (0x304459, 22u8),
259            (0x30445a, 22u8),
260            (0x30445b, 22u8),
261            (0x30445c, 22u8),
262            (0x30445d, 22u8),
263            (0x30445e, 22u8),
264            (0x30445f, 22u8),
265            (0x304460, 22u8),
266            (0x304461, 22u8),
267            (0x304462, 22u8),
268            (0x304463, 22u8),
269            (0x304464, 22u8),
270            (0x304465, 22u8),
271            (0x304466, 22u8),
272            (0x304467, 22u8),
273            (0x304468, 22u8),
274            (0x304469, 22u8),
275            (0x30446a, 22u8),
276            (0x30446b, 22u8),
277            (0x30446c, 22u8),
278            (0x30446d, 22u8),
279            (0x30446e, 22u8),
280            (0x30446f, 22u8),
281            (0x304470, 22u8),
282            (0x304471, 22u8),
283            (0x304472, 22u8),
284            (0x304473, 22u8),
285            (0x304474, 22u8),
286            (0x304475, 22u8),
287            (0x304476, 22u8),
288            (0x304477, 22u8),
289            (0x304478, 22u8),
290            (0x304479, 22u8),
291            (0x30447a, 22u8),
292            (0x30447b, 22u8),
293            (0x30447c, 22u8),
294            (0x30447d, 22u8),
295            (0x30447e, 22u8),
296            (0x30447f, 22u8),
297            (0x608880, 23u8),
298            (0x608881, 23u8),
299            (0x608882, 23u8),
300            (0x608883, 23u8),
301            (0x608884, 23u8),
302            (0x608885, 23u8),
303            (0x608886, 23u8),
304            (0x608887, 23u8),
305            (0x608888, 23u8),
306            (0x608889, 23u8),
307            (0x60888a, 23u8),
308            (0x60888b, 23u8),
309            (0x60888c, 23u8),
310            (0x60888d, 23u8),
311            (0x60888e, 23u8),
312            (0x60888f, 23u8),
313        ],
314    ],
315    [
316        [
317            (0x2, 2u8),
318            (0x3, 2u8),
319            (0x3, 3u8),
320            (0x2, 4u8),
321            (0x5, 4u8),
322            (0x1, 5u8),
323            (0x3, 5u8),
324            (0x8, 5u8),
325            (0x0, 6u8),
326            (0x5, 6u8),
327            (0xd, 6u8),
328            (0xf, 6u8),
329            (0x13, 6u8),
330            (0x8, 7u8),
331            (0x18, 7u8),
332            (0x1c, 7u8),
333            (0x24, 7u8),
334            (0x4, 8u8),
335            (0x6, 8u8),
336            (0x12, 8u8),
337            (0x32, 8u8),
338            (0x3b, 8u8),
339            (0x4a, 8u8),
340            (0x4b, 8u8),
341            (0xb, 9u8),
342            (0x26, 9u8),
343            (0x27, 9u8),
344            (0x66, 9u8),
345            (0x74, 9u8),
346            (0x75, 9u8),
347            (0x14, 10u8),
348            (0x1c, 10u8),
349            (0x1f, 10u8),
350            (0x1d, 10u8),
351            (0x2b, 11u8),
352            (0x3d, 11u8),
353            (0x19d, 11u8),
354            (0x19f, 11u8),
355            (0x54, 12u8),
356            (0x339, 12u8),
357            (0x338, 12u8),
358            (0x33d, 12u8),
359            (0xab, 13u8),
360            (0xf1, 13u8),
361            (0x678, 13u8),
362            (0xf2, 13u8),
363            (0x1e0, 14u8),
364            (0x1e1, 14u8),
365            (0x154, 14u8),
366            (0xcf2, 14u8),
367            (0x3cc, 15u8),
368            (0x2ab, 15u8),
369            (0x19e7, 15u8),
370            (0x3ce, 15u8),
371            (0x19e6, 15u8),
372            (0x554, 16u8),
373            (0x79f, 16u8),
374            (0x555, 16u8),
375            (0xf3d, 17u8),
376            (0xf37, 17u8),
377            (0xf3c, 17u8),
378            (0xf35, 17u8),
379            (0x1e6d, 18u8),
380            (0x1e68, 18u8),
381            (0x3cd8, 19u8),
382            (0x3cd3, 19u8),
383            (0x3cd9, 19u8),
384            (0x79a4, 20u8),
385            (0xf34ba, 25u8),
386            (0xf34b4, 25u8),
387            (0xf34b5, 25u8),
388            (0xf34b6, 25u8),
389            (0xf34b7, 25u8),
390            (0xf34b8, 25u8),
391            (0xf34b9, 25u8),
392            (0xf34bb, 25u8),
393            (0xf34bc, 25u8),
394            (0xf34bd, 25u8),
395            (0xf34be, 25u8),
396            (0xf34bf, 25u8),
397            (0x1e6940, 26u8),
398            (0x1e6941, 26u8),
399            (0x1e6942, 26u8),
400            (0x1e6943, 26u8),
401            (0x1e6944, 26u8),
402            (0x1e6945, 26u8),
403            (0x1e6946, 26u8),
404            (0x1e6947, 26u8),
405            (0x1e6948, 26u8),
406            (0x1e6949, 26u8),
407            (0x1e694a, 26u8),
408            (0x1e694b, 26u8),
409            (0x1e694c, 26u8),
410            (0x1e694d, 26u8),
411            (0x1e694e, 26u8),
412            (0x1e694f, 26u8),
413            (0x1e6950, 26u8),
414            (0x1e6951, 26u8),
415            (0x1e6952, 26u8),
416            (0x1e6953, 26u8),
417            (0x1e6954, 26u8),
418            (0x1e6955, 26u8),
419            (0x1e6956, 26u8),
420            (0x1e6957, 26u8),
421            (0x1e6958, 26u8),
422            (0x1e6959, 26u8),
423            (0x1e695a, 26u8),
424            (0x1e695b, 26u8),
425            (0x1e695c, 26u8),
426            (0x1e695d, 26u8),
427            (0x1e695e, 26u8),
428            (0x1e695f, 26u8),
429            (0x1e6960, 26u8),
430            (0x1e6961, 26u8),
431            (0x1e6962, 26u8),
432            (0x1e6963, 26u8),
433            (0x1e6964, 26u8),
434            (0x1e6965, 26u8),
435            (0x1e6966, 26u8),
436            (0x1e6967, 26u8),
437        ],
438        [
439            (0x0, 2u8),
440            (0x1, 2u8),
441            (0x4, 3u8),
442            (0x7, 3u8),
443            (0xb, 4u8),
444            (0xd, 4u8),
445            (0x15, 5u8),
446            (0x28, 6u8),
447            (0x30, 6u8),
448            (0x32, 6u8),
449            (0x52, 7u8),
450            (0x62, 7u8),
451            (0x66, 7u8),
452            (0xa6, 8u8),
453            (0xc6, 8u8),
454            (0xcf, 8u8),
455            (0x14f, 9u8),
456            (0x18e, 9u8),
457            (0x19c, 9u8),
458            (0x29d, 10u8),
459            (0x33a, 10u8),
460            (0x538, 11u8),
461            (0x63c, 11u8),
462            (0x63e, 11u8),
463            (0x63f, 11u8),
464            (0x676, 11u8),
465            (0xa73, 12u8),
466            (0xc7a, 12u8),
467            (0xcef, 12u8),
468            (0x14e5, 13u8),
469            (0x19dd, 13u8),
470            (0x29c8, 14u8),
471            (0x29c9, 14u8),
472            (0x63dd, 15u8),
473            (0x33b8, 14u8),
474            (0x33b9, 14u8),
475            (0xc7b6, 16u8),
476            (0x63d8, 15u8),
477            (0x63df, 15u8),
478            (0xc7b3, 16u8),
479            (0xc7b4, 16u8),
480            (0xc7b5, 16u8),
481            (0x63de, 15u8),
482            (0xc7b7, 16u8),
483            (0xc7b8, 16u8),
484            (0xc7b9, 16u8),
485            (0x18f65, 17u8),
486            (0x31ec8, 18u8),
487            (0xc7b248, 24u8),
488            (0xc7b249, 24u8),
489            (0xc7b24a, 24u8),
490            (0xc7b24b, 24u8),
491            (0xc7b24c, 24u8),
492            (0xc7b24d, 24u8),
493            (0xc7b24e, 24u8),
494            (0xc7b24f, 24u8),
495            (0xc7b250, 24u8),
496            (0xc7b251, 24u8),
497            (0xc7b252, 24u8),
498            (0xc7b253, 24u8),
499            (0xc7b254, 24u8),
500            (0xc7b255, 24u8),
501            (0xc7b256, 24u8),
502            (0xc7b257, 24u8),
503            (0xc7b258, 24u8),
504            (0xc7b259, 24u8),
505            (0xc7b25a, 24u8),
506            (0xc7b25b, 24u8),
507            (0xc7b25c, 24u8),
508            (0xc7b25d, 24u8),
509            (0xc7b25e, 24u8),
510            (0xc7b25f, 24u8),
511            (0xc7b260, 24u8),
512            (0xc7b261, 24u8),
513            (0xc7b262, 24u8),
514            (0xc7b263, 24u8),
515            (0xc7b264, 24u8),
516            (0xc7b265, 24u8),
517            (0xc7b266, 24u8),
518            (0xc7b267, 24u8),
519            (0xc7b268, 24u8),
520            (0xc7b269, 24u8),
521            (0xc7b26a, 24u8),
522            (0xc7b26b, 24u8),
523            (0xc7b26c, 24u8),
524            (0xc7b26d, 24u8),
525            (0xc7b26e, 24u8),
526            (0xc7b26f, 24u8),
527            (0xc7b270, 24u8),
528            (0xc7b271, 24u8),
529            (0xc7b272, 24u8),
530            (0xc7b273, 24u8),
531            (0xc7b274, 24u8),
532            (0xc7b275, 24u8),
533            (0xc7b276, 24u8),
534            (0xc7b277, 24u8),
535            (0xc7b278, 24u8),
536            (0xc7b279, 24u8),
537            (0xc7b27a, 24u8),
538            (0xc7b27b, 24u8),
539            (0xc7b27c, 24u8),
540            (0xc7b27d, 24u8),
541            (0xc7b27e, 24u8),
542            (0xc7b27f, 24u8),
543            (0x18f6480, 25u8),
544            (0x18f6481, 25u8),
545            (0x18f6482, 25u8),
546            (0x18f6483, 25u8),
547            (0x18f6484, 25u8),
548            (0x18f6485, 25u8),
549            (0x18f6486, 25u8),
550            (0x18f6487, 25u8),
551            (0x18f6488, 25u8),
552            (0x18f6489, 25u8),
553            (0x18f648a, 25u8),
554            (0x18f648b, 25u8),
555            (0x18f648c, 25u8),
556            (0x18f648d, 25u8),
557            (0x18f648e, 25u8),
558            (0x18f648f, 25u8),
559        ],
560    ],
561];