📄 umc_vc1_common_interlace_mv_tables.cpp
字号:
/* /////////////////////////////////////////////////////////////////////////////
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 2004-2007 Intel Corporation. All Rights Reserved.
//
//
// VC-1 (VC1) decoder, Interlace MV tables
//
*/
#include "umc_defs.h"
#if defined (UMC_ENABLE_VC1_VIDEO_DECODER) || defined (UMC_ENABLE_VC1_SPLITTER) || defined (UMC_ENABLE_VC1_VIDEO_ENCODER)
#include "umc_vc1_common_defs.h"
#include "umc_vc1_common_interlace_mv_tables.h"
//VC-1 Table 133: 2-Field reference interlace MV table 0
// Index VLC VLC Index VLC VLC Index VLC VLC
// Codeword Size Codeword Size Codeword Size
// 0 12 4 42 207 10 84 977 11
// 1 28 5 43 1395 12 85 408 11
// 2 11 5 44 9 5 86 489 11
// 3 0 5 45 35 7 87 1309 12
// 4 14 6 46 237 8 88 180 12
// 5 42 7 47 24 7 89 63 8
// 6 80 8 48 6 7 90 1109 12
// 7 872 10 49 68 8 91 555 11
// 8 2 2 50 245 9 92 553 11
// 9 26 5 51 121 9 93 1105 12
// 10 4 5 52 1746 11 94 1400 12
// 11 58 6 53 110 7 95 1970 12
// 12 29 6 54 43 9 96 1392 12
// 13 108 7 55 349 10 97 341 13
// 14 239 8 56 23 9 98 50 8
// 15 444 9 57 895 10 99 976 12
// 16 351 10 58 324 10 100 84 11
// 17 15 4 59 206 10 101 1747 11
// 18 3 5 60 40 10 102 1393 12
// 19 28 6 61 171 12 103 1108 12
// 20 13 6 62 16 6 104 820 12
// 21 11 7 63 437 9 105 7153 13
// 22 62 8 64 247 9 106 183 12
// 23 167 9 65 166 9 107 41 9
// 24 326 10 66 123 9 108 7812 14
// 25 409 11 67 40 9 109 364 13
// 26 6 4 68 493 10 110 411 11
// 27 31 6 69 489 10 111 7152 13
// 28 4 6 70 1789 11 112 1401 12
// 29 60 7 71 4 7 113 3907 13
// 30 7 7 72 245 10 114 181 12
// 31 446 9 73 41 10 115 2209 13
// 32 139 9 74 650 11 116 42 9
// 33 44 10 75 651 11 117 365 13
// 34 1971 12 76 655 11 118 2208 13
// 35 5 5 77 3577 12 119 1952 12
// 36 219 8 78 821 12 120 977 12
// 37 86 8 79 7813 14 121 2789 13
// 38 236 8 80 238 8 122 340 13
// 39 82 8 81 701 11 123 2788 13
// 40 445 9 82 43 10 124 2617 13
// 41 120 9 83 984 11 125 2616 13
//VC1_Field2ReferenceInterlaceMVTable0[]
const extern Ipp32s VC1_InterlacedMVDifTable0[] =
{
14, /* max bits */
2, /* total subtables */
7, 7,/* subtable sizes */
0, /* 1-bit codes */
1, /* 2-bit codes */
2,0x010009,
0, /* 3-bit codes */
3, /* 4-bit codes */
12,0x000101, 15,0x020012, 6, 0x03001B,
8, /* 5-bit codes */
28,0x000202, 11,0x000303, 0, 0x000404,
26,0x01010A, 4, 0x01020B, 3, 0x020113,
5, 0x040024, 9, 0x05002D,
8, /* 6-bit codes */
14,0x000505, 58,0x01030C, 29,0x01040D,
28,0x020214, 13,0x020315, 31,0x03011C,
4, 0x03021D, 16,0x07003F,
10, /* 7-bit codes */
42, 0x000606, 108,0x01050E, 11, 0x020416,
60, 0x03031E, 7, 0x03041F, 35, 0x05012E,
24, 0x050330, 6, 0x050431, 110,0x060036,
4, 0x080048,
12, /* 8-bit codes */
80, 0x000707, 239,0x01060F, 62, 0x020517,
219,0x040125, 86, 0x040226, 236,0x040327,
82, 0x040428, 237,0x05022F, 68, 0x050532,
238,0x090051, 63, 0x0A005A, 50, 0x0B0063,
17, /* 9-bit codes */
444,0x010710, 167,0x020618, 446,0x030520,
139,0x030621, 445,0x040529, 120,0x04062A,
245,0x050633, 121,0x050734, 43, 0x060137,
23, 0x060339, 437,0x070140, 247,0x070241,
166,0x070342, 123,0x070443, 40, 0x070544,
41, 0x0C006C, 42, 0x0D0075,
15, /* 10-bit codes */
872,0x000808, 351,0x010811, 326,0x020719,
44, 0x030722, 207,0x04072B, 349,0x060238,
895,0x06043A, 324,0x06053B, 206,0x06063C,
40, 0x06073D, 493,0x070645, 489,0x070746,
245,0x080149, 41, 0x08024A, 43, 0x090253,
16, /* 11-bit codes */
409, 0x02081A, 1746,0x050835, 1789,0x070847,
650, 0x08034B, 651, 0x08044C, 655, 0x08054D,
701, 0x090152, 984, 0x090354, 977, 0x090455,
408, 0x090556, 489, 0x090657, 555, 0x0A025C,
553, 0x0A035D, 84, 0x0B0265, 1747,0x0B0366,
411, 0x0C036F,
21, /* 12-bit codes */
1971,0x030823, 1395,0x04082C, 171, 0x06083E,
3577,0x08064E, 821, 0x08074F, 1309,0x090758,
180, 0x090859, 1109,0x0A015B, 1105,0x0A045E,
1400,0x0A055F, 1970,0x0A0660, 1392,0x0A0761,
976, 0x0B0164, 1393,0x0B0467, 1108,0x0B0568,
820, 0x0B0669, 183, 0x0B086B, 1401,0x0C0571,
181, 0x0C0773, 1952,0x0D0378, 977, 0x0D0479,
13, /* 13-bit codes */
341, 0x0A0862, 7153,0x0B076A, 364, 0x0C026E,
7152,0x0C0470, 3907,0x0C0672, 2209,0x0C0874,
365, 0x0D0176, 2208,0x0D0277, 2789,0x0D057A,
340, 0x0D067B, 2788,0x0D077C, 2617,0x0D087D,
2616,0x0E007E,
2, /* 14-bit codes */
7813,0x080850, 7812,0x0C016D,
-1 /* end of table */
};
//VC-1 Table 134: 2-Field reference interlace MV table 1
// Index VLC VLC Index VLC VLC Index VLC VLC
// Codeword Size Codeword Size Codeword Size
// 0 3 3 42 7408 13 84 827 10
// 1 9 4 43 2881 13 85 697 10
// 2 22 5 44 50 6 86 1771 11
// 3 16 6 45 230 8 87 1392 11
// 4 215 8 46 224 8 88 3620 12
// 5 821 10 47 207 8 89 925 10
// 6 1396 11 48 171 8 90 1442 12
// 7 1365 11 49 412 9 91 1443 12
// 8 0 2 50 683 10 92 3709 12
// 9 29 5 51 3627 12 93 1518 11
// 10 9 5 52 5593 13 94 1849 11
// 11 23 6 53 111 7 95 1364 11
// 12 44 7 54 451 9 96 2725 12
// 13 173 8 55 175 8 97 2724 12
// 14 884 10 56 191 8 98 887 10
// 15 1715 11 57 172 8 99 7413 13
// 16 1399 11 58 381 9 100 3022 12
// 17 15 4 59 1763 11 101 3705 12
// 18 24 5 60 3625 12 102 1632 11
// 19 10 5 61 6532 13 103 1652 11
// 20 46 6 62 84 7 104 1770 11
// 21 34 7 63 181 9 105 3708 12
// 22 380 9 64 378 9 106 3429 12
// 23 3707 12 65 429 9 107 758 10
// 24 7049 13 66 409 9 108 5594 13
// 25 5592 13 67 376 9 109 7048 13
// 26 8 4 68 856 10 110 1441 12
// 27 52 6 69 722 11 111 7412 13
// 28 109 7 70 7243 13 112 1510 11
// 29 35 7 71 91 8 113 3624 12
// 30 450 9 72 680 10 114 1397 11
// 31 886 10 73 817 10 115 3428 12
// 32 723 11 74 904 10 116 820 10
// 33 7242 13 75 907 10 117 13067 14
// 34 13066 14 76 880 10 118 5595 13
// 35 20 5 77 1811 11 119 2880 13
// 36 106 7 78 3267 12 120 3023 12
// 37 114 7 79 7409 13 121 3525 12
// 38 108 7 80 441 9 122 3626 12
// 39 227 8 81 1519 11 123 1653 11
// 40 411 9 82 1848 11 124 1393 11
// 41 1855 11 83 754 10 125 1363 11
//VC1_Field2ReferenceInterlaceMVTable1[]
const extern Ipp32s VC1_InterlacedMVDifTable1[] =
{
14, /* max bits */
2, /* total subtables */
7,7,
0, /* 1-bit codes */
1, /* 2-bit codes */
0, 0x010009,
1, /* 3-bit codes */
3, 0x000101,
3, /* 4-bit codes */
9, 0x000202, 15, 0x020012, 8, 0x03001B,
6, /* 5-bit codes */
22, 0x000303, 29, 0x01010A, 9, 0x01020B,
24, 0x020113, 10, 0x020214, 20, 0x040024,
5, /* 6-bit codes */
16, 0x000404, 23, 0x01030C, 46, 0x020315,
52, 0x03011C, 50, 0x05002D,
9, /* 7-bit codes */
44, 0x01040D, 34, 0x020416, 109, 0x03021D,
35, 0x03031E, 106, 0x040125, 114, 0x040226,
108, 0x040327, 111, 0x060036, 84, 0x07003F,
11, /* 8-bit codes */
215, 0x000505, 173, 0x01050E, 227, 0x040428,
230, 0x05012E, 224, 0x05022F, 207, 0x050330,
171, 0x050431, 175, 0x060238, 191, 0x060339,
172, 0x06043A, 91, 0x080048,
12, /* 9-bit codes */
380, 0x020517, 450, 0x03041F, 411, 0x040529,
412, 0x050532, 451, 0x060137, 381, 0x06053B,
181, 0x070140, 378, 0x070241, 429, 0x070342,
409, 0x070443, 376, 0x070544, 441, 0x090051,
17, /* 10-bit codes */
821, 0x000606, 884, 0x01060F, 886, 0x030520,
683, 0x050633, 856, 0x070645, 680, 0x080149,
817, 0x08024A, 904, 0x08034B, 907, 0x08044C,
880, 0x08054D, 754, 0x090354, 827, 0x090455,
697, 0x090556, 925, 0x0A005A, 887, 0x0B0063,
758, 0x0C006C, 820, 0x0D0075,
24, /* 11-bit codes */
1396, 0x000707, 1365, 0x000808, 1715, 0x010710,
1399, 0x010811, 723, 0x030621, 1855, 0x04062A,
1763, 0x06063C, 722, 0x070746, 1811, 0x08064E,
1519, 0x090152, 1848, 0x090253, 1771, 0x090657,
1392, 0x090758, 1518, 0x0A045E, 1849, 0x0A055F,
1364, 0x0A0660, 1632, 0x0B0467, 1652, 0x0B0568,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -