5
/* intra picture macro block coded block pattern */
6
const UINT16 table_mb_intra[64][2] = {
7
{ 0x1, 1 },{ 0x17, 6 },{ 0x9, 5 },{ 0x5, 5 },
8
{ 0x6, 5 },{ 0x47, 9 },{ 0x20, 7 },{ 0x10, 7 },
9
{ 0x2, 5 },{ 0x7c, 9 },{ 0x3a, 7 },{ 0x1d, 7 },
10
{ 0x2, 6 },{ 0xec, 9 },{ 0x77, 8 },{ 0x0, 8 },
11
{ 0x3, 5 },{ 0xb7, 9 },{ 0x2c, 7 },{ 0x13, 7 },
12
{ 0x1, 6 },{ 0x168, 10 },{ 0x46, 8 },{ 0x3f, 8 },
13
{ 0x1e, 6 },{ 0x712, 13 },{ 0xb5, 9 },{ 0x42, 8 },
14
{ 0x22, 7 },{ 0x1c5, 11 },{ 0x11e, 10 },{ 0x87, 9 },
15
{ 0x6, 4 },{ 0x3, 9 },{ 0x1e, 7 },{ 0x1c, 6 },
16
{ 0x12, 7 },{ 0x388, 12 },{ 0x44, 9 },{ 0x70, 9 },
17
{ 0x1f, 6 },{ 0x23e, 11 },{ 0x39, 8 },{ 0x8e, 9 },
18
{ 0x1, 7 },{ 0x1c6, 11 },{ 0xb6, 9 },{ 0x45, 9 },
19
{ 0x14, 6 },{ 0x23f, 11 },{ 0x7d, 9 },{ 0x18, 9 },
20
{ 0x7, 7 },{ 0x1c7, 11 },{ 0x86, 9 },{ 0x19, 9 },
21
{ 0x15, 6 },{ 0x1db, 10 },{ 0x2, 9 },{ 0x46, 9 },
22
{ 0xd, 8 },{ 0x713, 13 },{ 0x1da, 10 },{ 0x169, 10 },
25
/* non intra picture macro block coded block pattern + mb type */
26
const UINT32 table_mb_non_intra[128][2] = {
27
{ 0x40, 7 },{ 0x13c9, 13 },{ 0x9fd, 12 },{ 0x1fc, 15 },
28
{ 0x9fc, 12 },{ 0xa83, 18 },{ 0x12d34, 17 },{ 0x83bc, 16 },
29
{ 0x83a, 12 },{ 0x7f8, 17 },{ 0x3fd, 16 },{ 0x3ff, 16 },
30
{ 0x79, 13 },{ 0xa82, 18 },{ 0x969d, 16 },{ 0x2a4, 16 },
31
{ 0x978, 12 },{ 0x543, 17 },{ 0x41df, 15 },{ 0x7f9, 17 },
32
{ 0x12f3, 13 },{ 0x25a6b, 18 },{ 0x25ef9, 18 },{ 0x3fa, 16 },
33
{ 0x20ee, 14 },{ 0x969ab, 20 },{ 0x969c, 16 },{ 0x25ef8, 18 },
34
{ 0x12d2, 13 },{ 0xa85, 18 },{ 0x969e, 16 },{ 0x4bc8, 15 },
35
{ 0x3d, 12 },{ 0x12f7f, 17 },{ 0x2a2, 16 },{ 0x969f, 16 },
36
{ 0x25ee, 14 },{ 0x12d355, 21 },{ 0x12f7d, 17 },{ 0x12f7e, 17 },
37
{ 0x9e5, 12 },{ 0xa81, 18 },{ 0x4b4d4, 19 },{ 0x83bd, 16 },
38
{ 0x78, 13 },{ 0x969b, 16 },{ 0x3fe, 16 },{ 0x2a5, 16 },
39
{ 0x7e, 13 },{ 0xa80, 18 },{ 0x2a3, 16 },{ 0x3fb, 16 },
40
{ 0x1076, 13 },{ 0xa84, 18 },{ 0x153, 15 },{ 0x4bc9, 15 },
41
{ 0x55, 13 },{ 0x12d354, 21 },{ 0x4bde, 15 },{ 0x25e5, 14 },
42
{ 0x25b, 10 },{ 0x4b4c, 15 },{ 0x96b, 12 },{ 0x96a, 12 },
43
{ 0x1, 2 },{ 0x0, 7 },{ 0x26, 6 },{ 0x12b, 9 },
44
{ 0x7, 3 },{ 0x20f, 10 },{ 0x4, 9 },{ 0x28, 12 },
45
{ 0x6, 3 },{ 0x20a, 10 },{ 0x128, 9 },{ 0x2b, 12 },
46
{ 0x11, 5 },{ 0x1b, 11 },{ 0x13a, 9 },{ 0x4ff, 11 },
47
{ 0x3, 4 },{ 0x277, 10 },{ 0x106, 9 },{ 0x839, 12 },
48
{ 0xb, 4 },{ 0x27b, 10 },{ 0x12c, 9 },{ 0x4bf, 11 },
49
{ 0x9, 6 },{ 0x35, 12 },{ 0x27e, 10 },{ 0x13c8, 13 },
50
{ 0x1, 6 },{ 0x4aa, 11 },{ 0x208, 10 },{ 0x29, 12 },
51
{ 0x1, 4 },{ 0x254, 10 },{ 0x12e, 9 },{ 0x838, 12 },
52
{ 0x24, 6 },{ 0x4f3, 11 },{ 0x276, 10 },{ 0x12f6, 13 },
53
{ 0x1, 5 },{ 0x27a, 10 },{ 0x13e, 9 },{ 0x3e, 12 },
54
{ 0x8, 6 },{ 0x413, 11 },{ 0xc, 10 },{ 0x4be, 11 },
55
{ 0x14, 5 },{ 0x412, 11 },{ 0x253, 10 },{ 0x97a, 12 },
56
{ 0x21, 6 },{ 0x4ab, 11 },{ 0x20b, 10 },{ 0x34, 12 },
57
{ 0x15, 5 },{ 0x278, 10 },{ 0x252, 10 },{ 0x968, 12 },
58
{ 0x5, 5 },{ 0xb, 10 },{ 0x9c, 8 },{ 0xe, 10 },
63
static const UINT32 table0_dc_lum[120][2] = {
64
{ 0x1, 1 },{ 0x1, 2 },{ 0x1, 4 },{ 0x1, 5 },
65
{ 0x5, 5 },{ 0x7, 5 },{ 0x8, 6 },{ 0xc, 6 },
66
{ 0x0, 7 },{ 0x2, 7 },{ 0x12, 7 },{ 0x1a, 7 },
67
{ 0x3, 8 },{ 0x7, 8 },{ 0x27, 8 },{ 0x37, 8 },
68
{ 0x5, 9 },{ 0x4c, 9 },{ 0x6c, 9 },{ 0x6d, 9 },
69
{ 0x8, 10 },{ 0x19, 10 },{ 0x9b, 10 },{ 0x1b, 10 },
70
{ 0x9a, 10 },{ 0x13, 11 },{ 0x34, 11 },{ 0x35, 11 },
71
{ 0x61, 12 },{ 0x48, 13 },{ 0xc4, 13 },{ 0x4a, 13 },
72
{ 0xc6, 13 },{ 0xc7, 13 },{ 0x92, 14 },{ 0x18b, 14 },
73
{ 0x93, 14 },{ 0x183, 14 },{ 0x182, 14 },{ 0x96, 14 },
74
{ 0x97, 14 },{ 0x180, 14 },{ 0x314, 15 },{ 0x315, 15 },
75
{ 0x605, 16 },{ 0x604, 16 },{ 0x606, 16 },{ 0xc0e, 17 },
76
{ 0x303cd, 23 },{ 0x303c9, 23 },{ 0x303c8, 23 },{ 0x303ca, 23 },
77
{ 0x303cb, 23 },{ 0x303cc, 23 },{ 0x303ce, 23 },{ 0x303cf, 23 },
78
{ 0x303d0, 23 },{ 0x303d1, 23 },{ 0x303d2, 23 },{ 0x303d3, 23 },
79
{ 0x303d4, 23 },{ 0x303d5, 23 },{ 0x303d6, 23 },{ 0x303d7, 23 },
80
{ 0x303d8, 23 },{ 0x303d9, 23 },{ 0x303da, 23 },{ 0x303db, 23 },
81
{ 0x303dc, 23 },{ 0x303dd, 23 },{ 0x303de, 23 },{ 0x303df, 23 },
82
{ 0x303e0, 23 },{ 0x303e1, 23 },{ 0x303e2, 23 },{ 0x303e3, 23 },
83
{ 0x303e4, 23 },{ 0x303e5, 23 },{ 0x303e6, 23 },{ 0x303e7, 23 },
84
{ 0x303e8, 23 },{ 0x303e9, 23 },{ 0x303ea, 23 },{ 0x303eb, 23 },
85
{ 0x303ec, 23 },{ 0x303ed, 23 },{ 0x303ee, 23 },{ 0x303ef, 23 },
86
{ 0x303f0, 23 },{ 0x303f1, 23 },{ 0x303f2, 23 },{ 0x303f3, 23 },
87
{ 0x303f4, 23 },{ 0x303f5, 23 },{ 0x303f6, 23 },{ 0x303f7, 23 },
88
{ 0x303f8, 23 },{ 0x303f9, 23 },{ 0x303fa, 23 },{ 0x303fb, 23 },
89
{ 0x303fc, 23 },{ 0x303fd, 23 },{ 0x303fe, 23 },{ 0x303ff, 23 },
90
{ 0x60780, 24 },{ 0x60781, 24 },{ 0x60782, 24 },{ 0x60783, 24 },
91
{ 0x60784, 24 },{ 0x60785, 24 },{ 0x60786, 24 },{ 0x60787, 24 },
92
{ 0x60788, 24 },{ 0x60789, 24 },{ 0x6078a, 24 },{ 0x6078b, 24 },
93
{ 0x6078c, 24 },{ 0x6078d, 24 },{ 0x6078e, 24 },{ 0x6078f, 24 },
96
static const UINT32 table0_dc_chroma[120][2] = {
97
{ 0x0, 2 },{ 0x1, 2 },{ 0x5, 3 },{ 0x9, 4 },
98
{ 0xd, 4 },{ 0x11, 5 },{ 0x1d, 5 },{ 0x1f, 5 },
99
{ 0x21, 6 },{ 0x31, 6 },{ 0x38, 6 },{ 0x33, 6 },
100
{ 0x39, 6 },{ 0x3d, 6 },{ 0x61, 7 },{ 0x79, 7 },
101
{ 0x80, 8 },{ 0xc8, 8 },{ 0xca, 8 },{ 0xf0, 8 },
102
{ 0x81, 8 },{ 0xc0, 8 },{ 0xc9, 8 },{ 0x107, 9 },
103
{ 0x106, 9 },{ 0x196, 9 },{ 0x183, 9 },{ 0x1e3, 9 },
104
{ 0x1e2, 9 },{ 0x20a, 10 },{ 0x20b, 10 },{ 0x609, 11 },
105
{ 0x412, 11 },{ 0x413, 11 },{ 0x60b, 11 },{ 0x411, 11 },
106
{ 0x60a, 11 },{ 0x65f, 11 },{ 0x410, 11 },{ 0x65d, 11 },
107
{ 0x65e, 11 },{ 0xcb8, 12 },{ 0xc10, 12 },{ 0xcb9, 12 },
108
{ 0x1823, 13 },{ 0x3045, 14 },{ 0x6089, 15 },{ 0xc110, 16 },
109
{ 0x304448, 22 },{ 0x304449, 22 },{ 0x30444a, 22 },{ 0x30444b, 22 },
110
{ 0x30444c, 22 },{ 0x30444d, 22 },{ 0x30444e, 22 },{ 0x30444f, 22 },
111
{ 0x304450, 22 },{ 0x304451, 22 },{ 0x304452, 22 },{ 0x304453, 22 },
112
{ 0x304454, 22 },{ 0x304455, 22 },{ 0x304456, 22 },{ 0x304457, 22 },
113
{ 0x304458, 22 },{ 0x304459, 22 },{ 0x30445a, 22 },{ 0x30445b, 22 },
114
{ 0x30445c, 22 },{ 0x30445d, 22 },{ 0x30445e, 22 },{ 0x30445f, 22 },
115
{ 0x304460, 22 },{ 0x304461, 22 },{ 0x304462, 22 },{ 0x304463, 22 },
116
{ 0x304464, 22 },{ 0x304465, 22 },{ 0x304466, 22 },{ 0x304467, 22 },
117
{ 0x304468, 22 },{ 0x304469, 22 },{ 0x30446a, 22 },{ 0x30446b, 22 },
118
{ 0x30446c, 22 },{ 0x30446d, 22 },{ 0x30446e, 22 },{ 0x30446f, 22 },
119
{ 0x304470, 22 },{ 0x304471, 22 },{ 0x304472, 22 },{ 0x304473, 22 },
120
{ 0x304474, 22 },{ 0x304475, 22 },{ 0x304476, 22 },{ 0x304477, 22 },
121
{ 0x304478, 22 },{ 0x304479, 22 },{ 0x30447a, 22 },{ 0x30447b, 22 },
122
{ 0x30447c, 22 },{ 0x30447d, 22 },{ 0x30447e, 22 },{ 0x30447f, 22 },
123
{ 0x608880, 23 },{ 0x608881, 23 },{ 0x608882, 23 },{ 0x608883, 23 },
124
{ 0x608884, 23 },{ 0x608885, 23 },{ 0x608886, 23 },{ 0x608887, 23 },
125
{ 0x608888, 23 },{ 0x608889, 23 },{ 0x60888a, 23 },{ 0x60888b, 23 },
126
{ 0x60888c, 23 },{ 0x60888d, 23 },{ 0x60888e, 23 },{ 0x60888f, 23 },
131
const UINT32 table1_dc_lum[120][2] = {
132
{ 0x2, 2 },{ 0x3, 2 },{ 0x3, 3 },{ 0x2, 4 },
133
{ 0x5, 4 },{ 0x1, 5 },{ 0x3, 5 },{ 0x8, 5 },
134
{ 0x0, 6 },{ 0x5, 6 },{ 0xd, 6 },{ 0xf, 6 },
135
{ 0x13, 6 },{ 0x8, 7 },{ 0x18, 7 },{ 0x1c, 7 },
136
{ 0x24, 7 },{ 0x4, 8 },{ 0x6, 8 },{ 0x12, 8 },
137
{ 0x32, 8 },{ 0x3b, 8 },{ 0x4a, 8 },{ 0x4b, 8 },
138
{ 0xb, 9 },{ 0x26, 9 },{ 0x27, 9 },{ 0x66, 9 },
139
{ 0x74, 9 },{ 0x75, 9 },{ 0x14, 10 },{ 0x1c, 10 },
140
{ 0x1f, 10 },{ 0x1d, 10 },{ 0x2b, 11 },{ 0x3d, 11 },
141
{ 0x19d, 11 },{ 0x19f, 11 },{ 0x54, 12 },{ 0x339, 12 },
142
{ 0x338, 12 },{ 0x33d, 12 },{ 0xab, 13 },{ 0xf1, 13 },
143
{ 0x678, 13 },{ 0xf2, 13 },{ 0x1e0, 14 },{ 0x1e1, 14 },
144
{ 0x154, 14 },{ 0xcf2, 14 },{ 0x3cc, 15 },{ 0x2ab, 15 },
145
{ 0x19e7, 15 },{ 0x3ce, 15 },{ 0x19e6, 15 },{ 0x554, 16 },
146
{ 0x79f, 16 },{ 0x555, 16 },{ 0xf3d, 17 },{ 0xf37, 17 },
147
{ 0xf3c, 17 },{ 0xf35, 17 },{ 0x1e6d, 18 },{ 0x1e68, 18 },
148
{ 0x3cd8, 19 },{ 0x3cd3, 19 },{ 0x3cd9, 19 },{ 0x79a4, 20 },
149
{ 0xf34ba, 25 },{ 0xf34b4, 25 },{ 0xf34b5, 25 },{ 0xf34b6, 25 },
150
{ 0xf34b7, 25 },{ 0xf34b8, 25 },{ 0xf34b9, 25 },{ 0xf34bb, 25 },
151
{ 0xf34bc, 25 },{ 0xf34bd, 25 },{ 0xf34be, 25 },{ 0xf34bf, 25 },
152
{ 0x1e6940, 26 },{ 0x1e6941, 26 },{ 0x1e6942, 26 },{ 0x1e6943, 26 },
153
{ 0x1e6944, 26 },{ 0x1e6945, 26 },{ 0x1e6946, 26 },{ 0x1e6947, 26 },
154
{ 0x1e6948, 26 },{ 0x1e6949, 26 },{ 0x1e694a, 26 },{ 0x1e694b, 26 },
155
{ 0x1e694c, 26 },{ 0x1e694d, 26 },{ 0x1e694e, 26 },{ 0x1e694f, 26 },
156
{ 0x1e6950, 26 },{ 0x1e6951, 26 },{ 0x1e6952, 26 },{ 0x1e6953, 26 },
157
{ 0x1e6954, 26 },{ 0x1e6955, 26 },{ 0x1e6956, 26 },{ 0x1e6957, 26 },
158
{ 0x1e6958, 26 },{ 0x1e6959, 26 },{ 0x1e695a, 26 },{ 0x1e695b, 26 },
159
{ 0x1e695c, 26 },{ 0x1e695d, 26 },{ 0x1e695e, 26 },{ 0x1e695f, 26 },
160
{ 0x1e6960, 26 },{ 0x1e6961, 26 },{ 0x1e6962, 26 },{ 0x1e6963, 26 },
161
{ 0x1e6964, 26 },{ 0x1e6965, 26 },{ 0x1e6966, 26 },{ 0x1e6967, 26 },
164
const UINT32 table1_dc_chroma[120][2] = {
165
{ 0x0, 2 },{ 0x1, 2 },{ 0x4, 3 },{ 0x7, 3 },
166
{ 0xb, 4 },{ 0xd, 4 },{ 0x15, 5 },{ 0x28, 6 },
167
{ 0x30, 6 },{ 0x32, 6 },{ 0x52, 7 },{ 0x62, 7 },
168
{ 0x66, 7 },{ 0xa6, 8 },{ 0xc6, 8 },{ 0xcf, 8 },
169
{ 0x14f, 9 },{ 0x18e, 9 },{ 0x19c, 9 },{ 0x29d, 10 },
170
{ 0x33a, 10 },{ 0x538, 11 },{ 0x63c, 11 },{ 0x63e, 11 },
171
{ 0x63f, 11 },{ 0x676, 11 },{ 0xa73, 12 },{ 0xc7a, 12 },
172
{ 0xcef, 12 },{ 0x14e5, 13 },{ 0x19dd, 13 },{ 0x29c8, 14 },
173
{ 0x29c9, 14 },{ 0x63dd, 15 },{ 0x33b8, 14 },{ 0x33b9, 14 },
174
{ 0xc7b6, 16 },{ 0x63d8, 15 },{ 0x63df, 15 },{ 0xc7b3, 16 },
175
{ 0xc7b4, 16 },{ 0xc7b5, 16 },{ 0x63de, 15 },{ 0xc7b7, 16 },
176
{ 0xc7b8, 16 },{ 0xc7b9, 16 },{ 0x18f65, 17 },{ 0x31ec8, 18 },
177
{ 0xc7b248, 24 },{ 0xc7b249, 24 },{ 0xc7b24a, 24 },{ 0xc7b24b, 24 },
178
{ 0xc7b24c, 24 },{ 0xc7b24d, 24 },{ 0xc7b24e, 24 },{ 0xc7b24f, 24 },
179
{ 0xc7b250, 24 },{ 0xc7b251, 24 },{ 0xc7b252, 24 },{ 0xc7b253, 24 },
180
{ 0xc7b254, 24 },{ 0xc7b255, 24 },{ 0xc7b256, 24 },{ 0xc7b257, 24 },
181
{ 0xc7b258, 24 },{ 0xc7b259, 24 },{ 0xc7b25a, 24 },{ 0xc7b25b, 24 },
182
{ 0xc7b25c, 24 },{ 0xc7b25d, 24 },{ 0xc7b25e, 24 },{ 0xc7b25f, 24 },
183
{ 0xc7b260, 24 },{ 0xc7b261, 24 },{ 0xc7b262, 24 },{ 0xc7b263, 24 },
184
{ 0xc7b264, 24 },{ 0xc7b265, 24 },{ 0xc7b266, 24 },{ 0xc7b267, 24 },
185
{ 0xc7b268, 24 },{ 0xc7b269, 24 },{ 0xc7b26a, 24 },{ 0xc7b26b, 24 },
186
{ 0xc7b26c, 24 },{ 0xc7b26d, 24 },{ 0xc7b26e, 24 },{ 0xc7b26f, 24 },
187
{ 0xc7b270, 24 },{ 0xc7b271, 24 },{ 0xc7b272, 24 },{ 0xc7b273, 24 },
188
{ 0xc7b274, 24 },{ 0xc7b275, 24 },{ 0xc7b276, 24 },{ 0xc7b277, 24 },
189
{ 0xc7b278, 24 },{ 0xc7b279, 24 },{ 0xc7b27a, 24 },{ 0xc7b27b, 24 },
190
{ 0xc7b27c, 24 },{ 0xc7b27d, 24 },{ 0xc7b27e, 24 },{ 0xc7b27f, 24 },
191
{ 0x18f6480, 25 },{ 0x18f6481, 25 },{ 0x18f6482, 25 },{ 0x18f6483, 25 },
192
{ 0x18f6484, 25 },{ 0x18f6485, 25 },{ 0x18f6486, 25 },{ 0x18f6487, 25 },
193
{ 0x18f6488, 25 },{ 0x18f6489, 25 },{ 0x18f648a, 25 },{ 0x18f648b, 25 },
194
{ 0x18f648c, 25 },{ 0x18f648d, 25 },{ 0x18f648e, 25 },{ 0x18f648f, 25 },
197
/* vlc table 0, for intra luma */
199
static const UINT16 table0_vlc[133][2] = {
200
{ 0x1, 2 },{ 0x6, 3 },{ 0xf, 4 },{ 0x16, 5 },
201
{ 0x20, 6 },{ 0x18, 7 },{ 0x8, 8 },{ 0x9a, 8 },
202
{ 0x56, 9 },{ 0x13e, 9 },{ 0xf0, 10 },{ 0x3a5, 10 },
203
{ 0x77, 11 },{ 0x1ef, 11 },{ 0x9a, 12 },{ 0x5d, 13 },
204
{ 0x1, 4 },{ 0x11, 5 },{ 0x2, 7 },{ 0xb, 8 },
205
{ 0x12, 9 },{ 0x1d6, 9 },{ 0x27e, 10 },{ 0x191, 11 },
206
{ 0xea, 12 },{ 0x3dc, 12 },{ 0x13b, 13 },{ 0x4, 5 },
207
{ 0x14, 7 },{ 0x9e, 8 },{ 0x9, 10 },{ 0x1ac, 11 },
208
{ 0x1e2, 11 },{ 0x3ca, 12 },{ 0x5f, 13 },{ 0x17, 5 },
209
{ 0x4e, 7 },{ 0x5e, 9 },{ 0xf3, 10 },{ 0x1ad, 11 },
210
{ 0xec, 12 },{ 0x5f0, 13 },{ 0xe, 6 },{ 0xe1, 8 },
211
{ 0x3a4, 10 },{ 0x9c, 12 },{ 0x13d, 13 },{ 0x3b, 6 },
212
{ 0x1c, 9 },{ 0x14, 11 },{ 0x9be, 12 },{ 0x6, 7 },
213
{ 0x7a, 9 },{ 0x190, 11 },{ 0x137, 13 },{ 0x1b, 7 },
214
{ 0x8, 10 },{ 0x75c, 11 },{ 0x71, 7 },{ 0xd7, 10 },
215
{ 0x9bf, 12 },{ 0x7, 8 },{ 0xaf, 10 },{ 0x4cc, 11 },
216
{ 0x34, 8 },{ 0x265, 10 },{ 0x9f, 12 },{ 0xe0, 8 },
217
{ 0x16, 11 },{ 0x327, 12 },{ 0x15, 9 },{ 0x17d, 11 },
218
{ 0xebb, 12 },{ 0x14, 9 },{ 0xf6, 10 },{ 0x1e4, 11 },
219
{ 0xcb, 10 },{ 0x99d, 12 },{ 0xca, 10 },{ 0x2fc, 12 },
220
{ 0x17f, 11 },{ 0x4cd, 11 },{ 0x2fd, 12 },{ 0x4fe, 11 },
221
{ 0x13a, 13 },{ 0xa, 4 },{ 0x42, 7 },{ 0x1d3, 9 },
222
{ 0x4dd, 11 },{ 0x12, 5 },{ 0xe8, 8 },{ 0x4c, 11 },
223
{ 0x136, 13 },{ 0x39, 6 },{ 0x264, 10 },{ 0xeba, 12 },
224
{ 0x0, 7 },{ 0xae, 10 },{ 0x99c, 12 },{ 0x1f, 7 },
225
{ 0x4de, 11 },{ 0x43, 7 },{ 0x4dc, 11 },{ 0x3, 8 },
226
{ 0x3cb, 12 },{ 0x6, 8 },{ 0x99e, 12 },{ 0x2a, 8 },
227
{ 0x5f1, 13 },{ 0xf, 8 },{ 0x9fe, 12 },{ 0x33, 8 },
228
{ 0x9ff, 12 },{ 0x98, 8 },{ 0x99f, 12 },{ 0xea, 8 },
229
{ 0x13c, 13 },{ 0x2e, 8 },{ 0x192, 11 },{ 0x136, 9 },
230
{ 0x6a, 9 },{ 0x15, 11 },{ 0x3af, 10 },{ 0x1e3, 11 },
231
{ 0x74, 11 },{ 0xeb, 12 },{ 0x2f9, 12 },{ 0x5c, 13 },
232
{ 0xed, 12 },{ 0x3dd, 12 },{ 0x326, 12 },{ 0x5e, 13 },
236
const INT8 table0_level[132] = {
237
1, 2, 3, 4, 5, 6, 7, 8,
238
9, 10, 11, 12, 13, 14, 15, 16,
239
1, 2, 3, 4, 5, 6, 7, 8,
240
9, 10, 11, 1, 2, 3, 4, 5,
241
6, 7, 8, 1, 2, 3, 4, 5,
242
6, 7, 1, 2, 3, 4, 5, 1,
243
2, 3, 4, 1, 2, 3, 4, 1,
244
2, 3, 1, 2, 3, 1, 2, 3,
245
1, 2, 3, 1, 2, 3, 1, 2,
246
3, 1, 2, 3, 1, 2, 1, 2,
247
1, 1, 1, 1, 1, 1, 2, 3,
248
4, 1, 2, 3, 4, 1, 2, 3,
249
1, 2, 3, 1, 2, 1, 2, 1,
250
2, 1, 2, 1, 2, 1, 2, 1,
251
2, 1, 2, 1, 2, 1, 2, 1,
252
1, 1, 1, 1, 1, 1, 1, 1,
256
const INT8 table0_run[132] = {
257
0, 0, 0, 0, 0, 0, 0, 0,
258
0, 0, 0, 0, 0, 0, 0, 0,
259
1, 1, 1, 1, 1, 1, 1, 1,
260
1, 1, 1, 2, 2, 2, 2, 2,
261
2, 2, 2, 3, 3, 3, 3, 3,
262
3, 3, 4, 4, 4, 4, 4, 5,
263
5, 5, 5, 6, 6, 6, 6, 7,
264
7, 7, 8, 8, 8, 9, 9, 9,
265
10, 10, 10, 11, 11, 11, 12, 12,
266
12, 13, 13, 13, 14, 14, 15, 15,
267
16, 17, 18, 19, 20, 0, 0, 0,
268
0, 1, 1, 1, 1, 2, 2, 2,
269
3, 3, 3, 4, 4, 5, 5, 6,
270
6, 7, 7, 8, 8, 9, 9, 10,
271
10, 11, 11, 12, 12, 13, 13, 14,
272
15, 16, 17, 18, 19, 20, 21, 22,
276
/* vlc table 1, for intra chroma and P macro blocks */
278
const UINT16 table1_vlc[149][2] = {
279
{ 0x4, 3 },{ 0x14, 5 },{ 0x17, 7 },{ 0x7f, 8 },
280
{ 0x154, 9 },{ 0x1f2, 10 },{ 0xbf, 11 },{ 0x65, 12 },
281
{ 0xaaa, 12 },{ 0x630, 13 },{ 0x1597, 13 },{ 0x3b7, 14 },
282
{ 0x2b22, 14 },{ 0xbe6, 15 },{ 0xb, 4 },{ 0x37, 7 },
283
{ 0x62, 9 },{ 0x7, 11 },{ 0x166, 12 },{ 0xce, 13 },
284
{ 0x1590, 13 },{ 0x5f6, 14 },{ 0xbe7, 15 },{ 0x7, 5 },
285
{ 0x6d, 8 },{ 0x3, 11 },{ 0x31f, 12 },{ 0x5f2, 14 },
286
{ 0x2, 6 },{ 0x61, 9 },{ 0x55, 12 },{ 0x1df, 14 },
287
{ 0x1a, 6 },{ 0x1e, 10 },{ 0xac9, 12 },{ 0x2b23, 14 },
288
{ 0x1e, 6 },{ 0x1f, 10 },{ 0xac3, 12 },{ 0x2b2b, 14 },
289
{ 0x6, 7 },{ 0x4, 11 },{ 0x2f8, 13 },{ 0x19, 7 },
290
{ 0x6, 11 },{ 0x63d, 13 },{ 0x57, 7 },{ 0x182, 11 },
291
{ 0x2aa2, 14 },{ 0x4, 8 },{ 0x180, 11 },{ 0x59c, 14 },
292
{ 0x7d, 8 },{ 0x164, 12 },{ 0x76d, 15 },{ 0x2, 9 },
293
{ 0x18d, 11 },{ 0x1581, 13 },{ 0xad, 8 },{ 0x60, 12 },
294
{ 0xc67, 14 },{ 0x1c, 9 },{ 0xee, 13 },{ 0x3, 9 },
295
{ 0x2cf, 13 },{ 0xd9, 9 },{ 0x1580, 13 },{ 0x2, 11 },
296
{ 0x183, 11 },{ 0x57, 12 },{ 0x61, 12 },{ 0x31, 11 },
297
{ 0x66, 12 },{ 0x631, 13 },{ 0x632, 13 },{ 0xac, 13 },
298
{ 0x31d, 12 },{ 0x76, 12 },{ 0x3a, 11 },{ 0x165, 12 },
299
{ 0xc66, 14 },{ 0x3, 2 },{ 0x54, 7 },{ 0x2ab, 10 },
300
{ 0x16, 13 },{ 0x5f7, 14 },{ 0x5, 4 },{ 0xf8, 9 },
301
{ 0xaa9, 12 },{ 0x5f, 15 },{ 0x4, 4 },{ 0x1c, 10 },
302
{ 0x1550, 13 },{ 0x4, 5 },{ 0x77, 11 },{ 0x76c, 15 },
303
{ 0xe, 5 },{ 0xa, 12 },{ 0xc, 5 },{ 0x562, 11 },
304
{ 0x4, 6 },{ 0x31c, 12 },{ 0x6, 6 },{ 0xc8, 13 },
305
{ 0xd, 6 },{ 0x1da, 13 },{ 0x7, 6 },{ 0xc9, 13 },
306
{ 0x1, 7 },{ 0x2e, 14 },{ 0x14, 7 },{ 0x1596, 13 },
307
{ 0xa, 7 },{ 0xac2, 12 },{ 0x16, 7 },{ 0x15b, 14 },
308
{ 0x15, 7 },{ 0x15a, 14 },{ 0xf, 8 },{ 0x5e, 15 },
309
{ 0x7e, 8 },{ 0xab, 8 },{ 0x2d, 9 },{ 0xd8, 9 },
310
{ 0xb, 9 },{ 0x14, 10 },{ 0x2b3, 10 },{ 0x1f3, 10 },
311
{ 0x3a, 10 },{ 0x0, 10 },{ 0x58, 10 },{ 0x2e, 9 },
312
{ 0x5e, 10 },{ 0x563, 11 },{ 0xec, 12 },{ 0x54, 12 },
313
{ 0xac1, 12 },{ 0x1556, 13 },{ 0x2fa, 13 },{ 0x181, 11 },
314
{ 0x1557, 13 },{ 0x59d, 14 },{ 0x2aa3, 14 },{ 0x2b2a, 14 },
315
{ 0x1de, 14 },{ 0x63c, 13 },{ 0xcf, 13 },{ 0x1594, 13 },
319
const INT8 table1_level[148] = {
320
1, 2, 3, 4, 5, 6, 7, 8,
321
9, 10, 11, 12, 13, 14, 1, 2,
322
3, 4, 5, 6, 7, 8, 9, 1,
323
2, 3, 4, 5, 1, 2, 3, 4,
324
1, 2, 3, 4, 1, 2, 3, 4,
325
1, 2, 3, 1, 2, 3, 1, 2,
326
3, 1, 2, 3, 1, 2, 3, 1,
327
2, 3, 1, 2, 3, 1, 2, 1,
328
2, 1, 2, 1, 1, 1, 1, 1,
329
1, 1, 1, 1, 1, 1, 1, 1,
330
1, 1, 2, 3, 4, 5, 1, 2,
331
3, 4, 1, 2, 3, 1, 2, 3,
332
1, 2, 1, 2, 1, 2, 1, 2,
333
1, 2, 1, 2, 1, 2, 1, 2,
334
1, 2, 1, 2, 1, 2, 1, 2,
335
1, 1, 1, 1, 1, 1, 1, 1,
336
1, 1, 1, 1, 1, 1, 1, 1,
337
1, 1, 1, 1, 1, 1, 1, 1,
341
const INT8 table1_run[148] = {
342
0, 0, 0, 0, 0, 0, 0, 0,
343
0, 0, 0, 0, 0, 0, 1, 1,
344
1, 1, 1, 1, 1, 1, 1, 2,
345
2, 2, 2, 2, 3, 3, 3, 3,
346
4, 4, 4, 4, 5, 5, 5, 5,
347
6, 6, 6, 7, 7, 7, 8, 8,
348
8, 9, 9, 9, 10, 10, 10, 11,
349
11, 11, 12, 12, 12, 13, 13, 14,
350
14, 15, 15, 16, 17, 18, 19, 20,
351
21, 22, 23, 24, 25, 26, 27, 28,
352
29, 0, 0, 0, 0, 0, 1, 1,
353
1, 1, 2, 2, 2, 3, 3, 3,
354
4, 4, 5, 5, 6, 6, 7, 7,
355
8, 8, 9, 9, 10, 10, 11, 11,
356
12, 12, 13, 13, 14, 14, 15, 15,
357
16, 17, 18, 19, 20, 21, 22, 23,
358
24, 25, 26, 27, 28, 29, 30, 31,
359
32, 33, 34, 35, 36, 37, 38, 39,
363
/* third vlc table */
365
const UINT16 table2_vlc[186][2] = {
366
{ 0x1, 2 },{ 0x5, 3 },{ 0xd, 4 },{ 0x12, 5 },
367
{ 0xe, 6 },{ 0x15, 7 },{ 0x13, 8 },{ 0x3f, 8 },
368
{ 0x4b, 9 },{ 0x11f, 9 },{ 0xb8, 10 },{ 0x3e3, 10 },
369
{ 0x172, 11 },{ 0x24d, 12 },{ 0x3da, 12 },{ 0x2dd, 13 },
370
{ 0x1f55, 13 },{ 0x5b9, 14 },{ 0x3eae, 14 },{ 0x0, 4 },
371
{ 0x10, 5 },{ 0x8, 7 },{ 0x20, 8 },{ 0x29, 9 },
372
{ 0x1f4, 9 },{ 0x233, 10 },{ 0x1e0, 11 },{ 0x12a, 12 },
373
{ 0x3dd, 12 },{ 0x50a, 13 },{ 0x1f29, 13 },{ 0xa42, 14 },
374
{ 0x1272, 15 },{ 0x1737, 15 },{ 0x3, 5 },{ 0x11, 7 },
375
{ 0xc4, 8 },{ 0x4b, 10 },{ 0xb4, 11 },{ 0x7d4, 11 },
376
{ 0x345, 12 },{ 0x2d7, 13 },{ 0x7bf, 13 },{ 0x938, 14 },
377
{ 0xbbb, 14 },{ 0x95e, 15 },{ 0x13, 5 },{ 0x78, 7 },
378
{ 0x69, 9 },{ 0x232, 10 },{ 0x461, 11 },{ 0x3ec, 12 },
379
{ 0x520, 13 },{ 0x1f2a, 13 },{ 0x3e50, 14 },{ 0x3e51, 14 },
380
{ 0x1486, 15 },{ 0xc, 6 },{ 0x24, 9 },{ 0x94, 11 },
381
{ 0x8c0, 12 },{ 0xf09, 14 },{ 0x1ef0, 15 },{ 0x3d, 6 },
382
{ 0x53, 9 },{ 0x1a0, 11 },{ 0x2d6, 13 },{ 0xf08, 14 },
383
{ 0x13, 7 },{ 0x7c, 9 },{ 0x7c1, 11 },{ 0x4ac, 14 },
384
{ 0x1b, 7 },{ 0xa0, 10 },{ 0x344, 12 },{ 0xf79, 14 },
385
{ 0x79, 7 },{ 0x3e1, 10 },{ 0x2d4, 13 },{ 0x2306, 14 },
386
{ 0x21, 8 },{ 0x23c, 10 },{ 0xfae, 12 },{ 0x23de, 14 },
387
{ 0x35, 8 },{ 0x175, 11 },{ 0x7b3, 13 },{ 0xc5, 8 },
388
{ 0x174, 11 },{ 0x785, 13 },{ 0x48, 9 },{ 0x1a3, 11 },
389
{ 0x49e, 13 },{ 0x2c, 9 },{ 0xfa, 10 },{ 0x7d6, 11 },
390
{ 0x92, 10 },{ 0x5cc, 13 },{ 0x1ef1, 15 },{ 0xa3, 10 },
391
{ 0x3ed, 12 },{ 0x93e, 14 },{ 0x1e2, 11 },{ 0x1273, 15 },
392
{ 0x7c4, 11 },{ 0x1487, 15 },{ 0x291, 12 },{ 0x293, 12 },
393
{ 0xf8a, 12 },{ 0x509, 13 },{ 0x508, 13 },{ 0x78d, 13 },
394
{ 0x7be, 13 },{ 0x78c, 13 },{ 0x4ae, 14 },{ 0xbba, 14 },
395
{ 0x2307, 14 },{ 0xb9a, 14 },{ 0x1736, 15 },{ 0xe, 4 },
396
{ 0x45, 7 },{ 0x1f3, 9 },{ 0x47a, 11 },{ 0x5dc, 13 },
397
{ 0x23df, 14 },{ 0x19, 5 },{ 0x28, 9 },{ 0x176, 11 },
398
{ 0x49d, 13 },{ 0x23dd, 14 },{ 0x30, 6 },{ 0xa2, 10 },
399
{ 0x2ef, 12 },{ 0x5b8, 14 },{ 0x3f, 6 },{ 0xa5, 10 },
400
{ 0x3db, 12 },{ 0x93f, 14 },{ 0x44, 7 },{ 0x7cb, 11 },
401
{ 0x95f, 15 },{ 0x63, 7 },{ 0x3c3, 12 },{ 0x15, 8 },
402
{ 0x8f6, 12 },{ 0x17, 8 },{ 0x498, 13 },{ 0x2c, 8 },
403
{ 0x7b2, 13 },{ 0x2f, 8 },{ 0x1f54, 13 },{ 0x8d, 8 },
404
{ 0x7bd, 13 },{ 0x8e, 8 },{ 0x1182, 13 },{ 0xfb, 8 },
405
{ 0x50b, 13 },{ 0x2d, 8 },{ 0x7c0, 11 },{ 0x79, 9 },
406
{ 0x1f5f, 13 },{ 0x7a, 9 },{ 0x1f56, 13 },{ 0x231, 10 },
407
{ 0x3e4, 10 },{ 0x1a1, 11 },{ 0x143, 11 },{ 0x1f7, 11 },
408
{ 0x16f, 12 },{ 0x292, 12 },{ 0x2e7, 12 },{ 0x16c, 12 },
409
{ 0x16d, 12 },{ 0x3dc, 12 },{ 0xf8b, 12 },{ 0x499, 13 },
410
{ 0x3d8, 12 },{ 0x78e, 13 },{ 0x2d5, 13 },{ 0x1f5e, 13 },
411
{ 0x1f2b, 13 },{ 0x78f, 13 },{ 0x4ad, 14 },{ 0x3eaf, 14 },
412
{ 0x23dc, 14 },{ 0x4a, 9 },
415
const INT8 table2_level[185] = {
416
1, 2, 3, 4, 5, 6, 7, 8,
417
9, 10, 11, 12, 13, 14, 15, 16,
418
17, 18, 19, 1, 2, 3, 4, 5,
419
6, 7, 8, 9, 10, 11, 12, 13,
420
14, 15, 1, 2, 3, 4, 5, 6,
421
7, 8, 9, 10, 11, 12, 1, 2,
422
3, 4, 5, 6, 7, 8, 9, 10,
423
11, 1, 2, 3, 4, 5, 6, 1,
424
2, 3, 4, 5, 1, 2, 3, 4,
425
1, 2, 3, 4, 1, 2, 3, 4,
426
1, 2, 3, 4, 1, 2, 3, 1,
427
2, 3, 1, 2, 3, 1, 2, 3,
428
1, 2, 3, 1, 2, 3, 1, 2,
429
1, 2, 1, 1, 1, 1, 1, 1,
430
1, 1, 1, 1, 1, 1, 1, 1,
431
2, 3, 4, 5, 6, 1, 2, 3,
432
4, 5, 1, 2, 3, 4, 1, 2,
433
3, 4, 1, 2, 3, 1, 2, 1,
434
2, 1, 2, 1, 2, 1, 2, 1,
435
2, 1, 2, 1, 2, 1, 2, 1,
436
2, 1, 2, 1, 1, 1, 1, 1,
437
1, 1, 1, 1, 1, 1, 1, 1,
438
1, 1, 1, 1, 1, 1, 1, 1,
442
const INT8 table2_run[185] = {
443
0, 0, 0, 0, 0, 0, 0, 0,
444
0, 0, 0, 0, 0, 0, 0, 0,
445
0, 0, 0, 1, 1, 1, 1, 1,
446
1, 1, 1, 1, 1, 1, 1, 1,
447
1, 1, 2, 2, 2, 2, 2, 2,
448
2, 2, 2, 2, 2, 2, 3, 3,
449
3, 3, 3, 3, 3, 3, 3, 3,
450
3, 4, 4, 4, 4, 4, 4, 5,
451
5, 5, 5, 5, 6, 6, 6, 6,
452
7, 7, 7, 7, 8, 8, 8, 8,
453
9, 9, 9, 9, 10, 10, 10, 11,
454
11, 11, 12, 12, 12, 13, 13, 13,
455
14, 14, 14, 15, 15, 15, 16, 16,
456
17, 17, 18, 19, 20, 21, 22, 23,
457
24, 25, 26, 27, 28, 29, 30, 0,
458
0, 0, 0, 0, 0, 1, 1, 1,
459
1, 1, 2, 2, 2, 2, 3, 3,
460
3, 3, 4, 4, 4, 5, 5, 6,
461
6, 7, 7, 8, 8, 9, 9, 10,
462
10, 11, 11, 12, 12, 13, 13, 14,
463
14, 15, 15, 16, 17, 18, 19, 20,
464
21, 22, 23, 24, 25, 26, 27, 28,
465
29, 30, 31, 32, 33, 34, 35, 36,
469
/* second non intra vlc table */
470
const UINT16 table4_vlc[169][2] = {
471
{ 0x0, 3 },{ 0x3, 4 },{ 0xb, 5 },{ 0x14, 6 },
472
{ 0x3f, 6 },{ 0x5d, 7 },{ 0xa2, 8 },{ 0xac, 9 },
473
{ 0x16e, 9 },{ 0x20a, 10 },{ 0x2e2, 10 },{ 0x432, 11 },
474
{ 0x5c9, 11 },{ 0x827, 12 },{ 0xb54, 12 },{ 0x4e6, 13 },
475
{ 0x105f, 13 },{ 0x172a, 13 },{ 0x20b2, 14 },{ 0x2d4e, 14 },
476
{ 0x39f0, 14 },{ 0x4175, 15 },{ 0x5a9e, 15 },{ 0x4, 4 },
477
{ 0x1e, 5 },{ 0x42, 7 },{ 0xb6, 8 },{ 0x173, 9 },
478
{ 0x395, 10 },{ 0x72e, 11 },{ 0xb94, 12 },{ 0x16a4, 13 },
479
{ 0x20b3, 14 },{ 0x2e45, 14 },{ 0x5, 5 },{ 0x40, 7 },
480
{ 0x49, 9 },{ 0x28f, 10 },{ 0x5cb, 11 },{ 0x48a, 13 },
481
{ 0x9dd, 14 },{ 0x73e2, 15 },{ 0x18, 5 },{ 0x25, 8 },
482
{ 0x8a, 10 },{ 0x51b, 11 },{ 0xe5f, 12 },{ 0x9c9, 14 },
483
{ 0x139c, 15 },{ 0x29, 6 },{ 0x4f, 9 },{ 0x412, 11 },
484
{ 0x48d, 13 },{ 0x2e41, 14 },{ 0x38, 6 },{ 0x10e, 9 },
485
{ 0x5a8, 11 },{ 0x105c, 13 },{ 0x39f2, 14 },{ 0x58, 7 },
486
{ 0x21f, 10 },{ 0xe7e, 12 },{ 0x39ff, 14 },{ 0x23, 8 },
487
{ 0x2e3, 10 },{ 0x4e5, 13 },{ 0x2e40, 14 },{ 0xa1, 8 },
488
{ 0x5be, 11 },{ 0x9c8, 14 },{ 0x83, 8 },{ 0x13a, 11 },
489
{ 0x1721, 13 },{ 0x44, 9 },{ 0x276, 12 },{ 0x39f6, 14 },
490
{ 0x8b, 10 },{ 0x4ef, 13 },{ 0x5a9b, 15 },{ 0x208, 10 },
491
{ 0x1cfe, 13 },{ 0x399, 10 },{ 0x1cb4, 13 },{ 0x39e, 10 },
492
{ 0x39f3, 14 },{ 0x5ab, 11 },{ 0x73e3, 15 },{ 0x737, 11 },
493
{ 0x5a9f, 15 },{ 0x82d, 12 },{ 0xe69, 12 },{ 0xe68, 12 },
494
{ 0x433, 11 },{ 0xb7b, 12 },{ 0x2df8, 14 },{ 0x2e56, 14 },
495
{ 0x2e57, 14 },{ 0x39f7, 14 },{ 0x51a5, 15 },{ 0x3, 3 },
496
{ 0x2a, 6 },{ 0xe4, 8 },{ 0x28e, 10 },{ 0x735, 11 },
497
{ 0x1058, 13 },{ 0x1cfa, 13 },{ 0x2df9, 14 },{ 0x4174, 15 },
498
{ 0x9, 4 },{ 0x54, 8 },{ 0x398, 10 },{ 0x48b, 13 },
499
{ 0x139d, 15 },{ 0xd, 4 },{ 0xad, 9 },{ 0x826, 12 },
500
{ 0x2d4c, 14 },{ 0x11, 5 },{ 0x16b, 9 },{ 0xb7f, 12 },
501
{ 0x51a4, 15 },{ 0x19, 5 },{ 0x21b, 10 },{ 0x16fd, 13 },
502
{ 0x1d, 5 },{ 0x394, 10 },{ 0x28d3, 14 },{ 0x2b, 6 },
503
{ 0x5bc, 11 },{ 0x5a9a, 15 },{ 0x2f, 6 },{ 0x247, 12 },
504
{ 0x10, 7 },{ 0xa35, 12 },{ 0x3e, 6 },{ 0xb7a, 12 },
505
{ 0x59, 7 },{ 0x105e, 13 },{ 0x26, 8 },{ 0x9cf, 14 },
506
{ 0x55, 8 },{ 0x1cb5, 13 },{ 0x57, 8 },{ 0xe5b, 12 },
507
{ 0xa0, 8 },{ 0x1468, 13 },{ 0x170, 9 },{ 0x90, 10 },
508
{ 0x1ce, 9 },{ 0x21a, 10 },{ 0x218, 10 },{ 0x168, 9 },
509
{ 0x21e, 10 },{ 0x244, 12 },{ 0x736, 11 },{ 0x138, 11 },
510
{ 0x519, 11 },{ 0xe5e, 12 },{ 0x72c, 11 },{ 0xb55, 12 },
511
{ 0x9dc, 14 },{ 0x20bb, 14 },{ 0x48c, 13 },{ 0x1723, 13 },
512
{ 0x2e44, 14 },{ 0x16a5, 13 },{ 0x518, 11 },{ 0x39fe, 14 },
516
const INT8 table4_level[168] = {
517
1, 2, 3, 4, 5, 6, 7, 8,
518
9, 10, 11, 12, 13, 14, 15, 16,
519
17, 18, 19, 20, 21, 22, 23, 1,
520
2, 3, 4, 5, 6, 7, 8, 9,
521
10, 11, 1, 2, 3, 4, 5, 6,
522
7, 8, 1, 2, 3, 4, 5, 6,
523
7, 1, 2, 3, 4, 5, 1, 2,
524
3, 4, 5, 1, 2, 3, 4, 1,
525
2, 3, 4, 1, 2, 3, 1, 2,
526
3, 1, 2, 3, 1, 2, 3, 1,
527
2, 1, 2, 1, 2, 1, 2, 1,
528
2, 1, 1, 1, 1, 1, 1, 1,
529
1, 1, 1, 1, 2, 3, 4, 5,
530
6, 7, 8, 9, 1, 2, 3, 4,
531
5, 1, 2, 3, 4, 1, 2, 3,
532
4, 1, 2, 3, 1, 2, 3, 1,
533
2, 3, 1, 2, 1, 2, 1, 2,
534
1, 2, 1, 2, 1, 2, 1, 2,
535
1, 2, 1, 1, 1, 1, 1, 1,
536
1, 1, 1, 1, 1, 1, 1, 1,
537
1, 1, 1, 1, 1, 1, 1, 1,
540
const INT8 table4_run[168] = {
541
0, 0, 0, 0, 0, 0, 0, 0,
542
0, 0, 0, 0, 0, 0, 0, 0,
543
0, 0, 0, 0, 0, 0, 0, 1,
544
1, 1, 1, 1, 1, 1, 1, 1,
545
1, 1, 2, 2, 2, 2, 2, 2,
546
2, 2, 3, 3, 3, 3, 3, 3,
547
3, 4, 4, 4, 4, 4, 5, 5,
548
5, 5, 5, 6, 6, 6, 6, 7,
549
7, 7, 7, 8, 8, 8, 9, 9,
550
9, 10, 10, 10, 11, 11, 11, 12,
551
12, 13, 13, 14, 14, 15, 15, 16,
552
16, 17, 18, 19, 20, 21, 22, 23,
553
24, 25, 26, 0, 0, 0, 0, 0,
554
0, 0, 0, 0, 1, 1, 1, 1,
555
1, 2, 2, 2, 2, 3, 3, 3,
556
3, 4, 4, 4, 5, 5, 5, 6,
557
6, 6, 7, 7, 8, 8, 9, 9,
558
10, 10, 11, 11, 12, 12, 13, 13,
559
14, 14, 15, 16, 17, 18, 19, 20,
560
21, 22, 23, 24, 25, 26, 27, 28,
561
29, 30, 31, 32, 33, 34, 35, 36,
564
extern const UINT16 inter_vlc[103][2];
565
extern const INT8 inter_level[102];
566
extern const INT8 inter_run[102];
568
extern const UINT16 intra_vlc[103][2];
569
extern const INT8 intra_level[102];
570
extern const INT8 intra_run[102];
572
#define NB_RL_TABLES 6
574
static RLTable rl_table[NB_RL_TABLES] = {
575
/* intra luminance tables */
597
/* intra chrominance / non intra tables */
621
/* motion vector table 0 */
623
const UINT16 table0_mv_code[1100] = {
624
0x0001, 0x0003, 0x0005, 0x0007, 0x0003, 0x0008, 0x000c, 0x0001,
625
0x0002, 0x001b, 0x0006, 0x000b, 0x0015, 0x0002, 0x000e, 0x000f,
626
0x0014, 0x0020, 0x0022, 0x0025, 0x0027, 0x0029, 0x002d, 0x004b,
627
0x004d, 0x0003, 0x0022, 0x0023, 0x0025, 0x0027, 0x0042, 0x0048,
628
0x0049, 0x0050, 0x005c, 0x0091, 0x009f, 0x000e, 0x0043, 0x004c,
629
0x0054, 0x0056, 0x008c, 0x0098, 0x009a, 0x009b, 0x00b1, 0x00b2,
630
0x0120, 0x0121, 0x0126, 0x0133, 0x0139, 0x01a1, 0x01a4, 0x01a5,
631
0x01a6, 0x01a7, 0x01ae, 0x01af, 0x000b, 0x0019, 0x0085, 0x0090,
632
0x009b, 0x00aa, 0x00af, 0x010c, 0x010e, 0x011c, 0x011e, 0x0133,
633
0x0144, 0x0160, 0x0174, 0x0175, 0x0177, 0x0178, 0x0249, 0x024b,
634
0x0252, 0x0261, 0x0265, 0x0270, 0x0352, 0x0353, 0x0355, 0x0359,
635
0x0010, 0x0011, 0x0013, 0x0034, 0x0035, 0x0036, 0x0037, 0x003d,
636
0x003e, 0x0109, 0x0126, 0x0156, 0x021a, 0x021e, 0x023a, 0x023e,
637
0x028e, 0x028f, 0x02cf, 0x0491, 0x0494, 0x049f, 0x04a0, 0x04a3,
638
0x04a6, 0x04a7, 0x04ad, 0x04ae, 0x04c0, 0x04c4, 0x04c6, 0x04c8,
639
0x04c9, 0x04f5, 0x04f6, 0x04f7, 0x0680, 0x0682, 0x0683, 0x0688,
640
0x0689, 0x068d, 0x068e, 0x068f, 0x06a2, 0x06a3, 0x06a9, 0x06b0,
641
0x06b1, 0x06b4, 0x06b5, 0x0024, 0x0060, 0x0063, 0x0078, 0x0079,
642
0x0211, 0x0244, 0x0245, 0x0247, 0x0248, 0x0249, 0x024a, 0x024b,
643
0x026b, 0x02af, 0x02b8, 0x02bb, 0x0436, 0x0476, 0x0477, 0x047e,
644
0x04c8, 0x04c9, 0x04ca, 0x0514, 0x0586, 0x0587, 0x0598, 0x059d,
645
0x05d9, 0x05da, 0x0920, 0x0921, 0x093b, 0x093c, 0x093d, 0x0942,
646
0x0943, 0x0944, 0x0945, 0x0959, 0x095e, 0x095f, 0x0982, 0x0983,
647
0x098e, 0x098f, 0x09c4, 0x09e7, 0x09e8, 0x09e9, 0x0d02, 0x0d17,
648
0x0d18, 0x0d19, 0x0d41, 0x0d42, 0x0d43, 0x0d50, 0x0d5f, 0x0d6d,
649
0x0d6e, 0x0d6f, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
650
0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x041e, 0x041f, 0x0420, 0x0421,
651
0x048c, 0x048d, 0x04d3, 0x04d4, 0x04d5, 0x055c, 0x055d, 0x0572,
652
0x0573, 0x0574, 0x0575, 0x08de, 0x08df, 0x08fe, 0x08ff, 0x0996,
653
0x0a36, 0x0a37, 0x0b08, 0x0b09, 0x0b0a, 0x0b0b, 0x0b32, 0x0b33,
654
0x0b34, 0x0b35, 0x0b36, 0x0b37, 0x0b38, 0x0b39, 0x0bb0, 0x0bf7,
655
0x0bf8, 0x0bf9, 0x0bfa, 0x0bfb, 0x0bfc, 0x0bfd, 0x0bfe, 0x0bff,
656
0x1254, 0x1255, 0x1256, 0x1257, 0x1270, 0x1271, 0x1272, 0x1273,
657
0x1274, 0x1275, 0x12ab, 0x12ac, 0x12ad, 0x12ae, 0x12af, 0x12b0,
658
0x12b1, 0x1315, 0x1316, 0x1317, 0x13bf, 0x13c0, 0x13c1, 0x13c2,
659
0x13c3, 0x13c4, 0x13c5, 0x13c6, 0x13c7, 0x13c8, 0x13c9, 0x13ca,
660
0x13cb, 0x13cc, 0x13cd, 0x1a06, 0x1a07, 0x1a28, 0x1a29, 0x1a2a,
661
0x1a2b, 0x1a2c, 0x1a2d, 0x1a80, 0x1abb, 0x1abc, 0x1abd, 0x1ad8,
662
0x1ad9, 0x0094, 0x0095, 0x0096, 0x0097, 0x00a0, 0x00a1, 0x00a2,
663
0x00a3, 0x0831, 0x0832, 0x0833, 0x0834, 0x0835, 0x0836, 0x0837,
664
0x0838, 0x0839, 0x083a, 0x083b, 0x0939, 0x093a, 0x093b, 0x093c,
665
0x093d, 0x093e, 0x093f, 0x09a0, 0x09a1, 0x09a2, 0x09a3, 0x09a4,
666
0x09a5, 0x11ac, 0x11ad, 0x11ae, 0x11af, 0x11b0, 0x11b1, 0x11b2,
667
0x11b3, 0x11b4, 0x11b5, 0x11b6, 0x11b7, 0x11b8, 0x11b9, 0x11ba,
668
0x11bb, 0x132f, 0x1454, 0x1455, 0x1456, 0x1457, 0x1458, 0x1459,
669
0x145a, 0x145b, 0x145c, 0x145d, 0x145e, 0x145f, 0x1460, 0x1461,
670
0x1462, 0x1463, 0x1464, 0x1465, 0x1466, 0x1467, 0x1468, 0x1469,
671
0x146a, 0x146b, 0x17de, 0x17df, 0x17e0, 0x17e1, 0x17e2, 0x17e3,
672
0x17e4, 0x17e5, 0x17e6, 0x17e7, 0x17e8, 0x17e9, 0x17ea, 0x17eb,
673
0x17ec, 0x17ed, 0x2540, 0x2541, 0x2542, 0x2543, 0x2544, 0x2545,
674
0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x254b, 0x254c, 0x254d,
675
0x254e, 0x254f, 0x2550, 0x2551, 0x2552, 0x2553, 0x2554, 0x2555,
676
0x2628, 0x2766, 0x2767, 0x2768, 0x2769, 0x276a, 0x276b, 0x276c,
677
0x276d, 0x276e, 0x276f, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774,
678
0x2775, 0x2776, 0x2777, 0x2778, 0x2779, 0x277a, 0x277b, 0x277c,
679
0x277d, 0x3503, 0x3544, 0x3545, 0x3546, 0x3547, 0x3560, 0x3561,
680
0x3562, 0x3563, 0x3564, 0x3565, 0x3566, 0x3567, 0x3568, 0x3569,
681
0x356a, 0x356b, 0x356c, 0x356d, 0x356e, 0x356f, 0x3570, 0x3571,
682
0x3572, 0x3573, 0x3574, 0x3575, 0x03f0, 0x103d, 0x103e, 0x103f,
683
0x1040, 0x1041, 0x1042, 0x1043, 0x1044, 0x1045, 0x1046, 0x1047,
684
0x1048, 0x1049, 0x104a, 0x104b, 0x104c, 0x104d, 0x104e, 0x104f,
685
0x1050, 0x1051, 0x1052, 0x1053, 0x1054, 0x1055, 0x1056, 0x1057,
686
0x1058, 0x1059, 0x105a, 0x105b, 0x105c, 0x105d, 0x105e, 0x105f,
687
0x1060, 0x1061, 0x1270, 0x1271, 0x21b8, 0x21b9, 0x21ba, 0x21bb,
688
0x21bc, 0x21bd, 0x21be, 0x21bf, 0x21f0, 0x21f1, 0x21f2, 0x21f3,
689
0x21f4, 0x21f5, 0x21f6, 0x21f7, 0x21f8, 0x21f9, 0x21fa, 0x21fb,
690
0x21fc, 0x21fd, 0x21fe, 0x21ff, 0x2340, 0x2341, 0x2342, 0x2343,
691
0x2344, 0x2345, 0x2346, 0x2347, 0x2348, 0x2349, 0x234a, 0x234b,
692
0x234c, 0x234d, 0x234e, 0x234f, 0x2350, 0x2351, 0x2352, 0x2353,
693
0x2354, 0x2355, 0x2356, 0x2357, 0x265c, 0x2f88, 0x2f89, 0x2f8a,
694
0x2f8b, 0x2f8c, 0x2f8d, 0x2f8e, 0x2f8f, 0x2f90, 0x2f91, 0x2f92,
695
0x2f93, 0x2f94, 0x2f95, 0x2f96, 0x2f97, 0x2f98, 0x2f99, 0x2f9a,
696
0x2f9b, 0x2f9c, 0x2f9d, 0x2f9e, 0x2f9f, 0x2fa0, 0x2fa1, 0x2fa2,
697
0x2fa3, 0x2fa4, 0x2fa5, 0x2fa6, 0x2fa7, 0x2fa8, 0x2fa9, 0x2faa,
698
0x2fab, 0x2fac, 0x2fad, 0x2fae, 0x2faf, 0x2fb0, 0x2fb1, 0x2fb2,
699
0x2fb3, 0x2fb4, 0x2fb5, 0x2fb6, 0x2fb7, 0x2fb8, 0x2fb9, 0x2fba,
700
0x2fbb, 0x4c52, 0x4c53, 0x4e28, 0x4e29, 0x4e2a, 0x4e2b, 0x4e2c,
701
0x4e2d, 0x4e2e, 0x4e2f, 0x4e30, 0x4e31, 0x4e32, 0x4e33, 0x4e34,
702
0x4e35, 0x4e36, 0x4e37, 0x4e38, 0x4e39, 0x4e3a, 0x4e3b, 0x4e3c,
703
0x4e3d, 0x4e3e, 0x4e3f, 0x4e80, 0x4e81, 0x4e82, 0x4e83, 0x4e84,
704
0x4e85, 0x4e86, 0x4e87, 0x4e88, 0x4e89, 0x4e8a, 0x4e8b, 0x4e8c,
705
0x4e8d, 0x4e8e, 0x4e8f, 0x4e90, 0x4e91, 0x4e92, 0x4e93, 0x4e94,
706
0x4e95, 0x4e96, 0x4e97, 0x4e98, 0x4e99, 0x4e9a, 0x4e9b, 0x4e9c,
707
0x4e9d, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea1, 0x4ea2, 0x4ea3, 0x4ea4,
708
0x4ea5, 0x4ea6, 0x4ea7, 0x4ea8, 0x4ea9, 0x4eaa, 0x4eab, 0x4eac,
709
0x4ead, 0x4eae, 0x4eaf, 0x4eb0, 0x4eb1, 0x4eb2, 0x4eb3, 0x4eb4,
710
0x4eb5, 0x4eb6, 0x4eb7, 0x4eb8, 0x4eb9, 0x4eba, 0x4ebb, 0x4ebc,
711
0x4ebd, 0x4ebe, 0x4ebf, 0x4ec0, 0x4ec1, 0x4ec2, 0x4ec3, 0x4ec4,
712
0x4ec5, 0x4ec6, 0x4ec7, 0x4ec8, 0x4ec9, 0x4eca, 0x4ecb, 0x6a04,
713
0x6a05, 0x07e2, 0x07e3, 0x07e4, 0x07e5, 0x07e6, 0x07e7, 0x07e8,
714
0x07e9, 0x07ea, 0x07eb, 0x07ec, 0x07ed, 0x07ee, 0x07ef, 0x07f0,
715
0x07f1, 0x07f2, 0x07f3, 0x07f4, 0x07f5, 0x07f6, 0x07f7, 0x07f8,
716
0x07f9, 0x07fa, 0x07fb, 0x07fc, 0x07fd, 0x07fe, 0x07ff, 0x2000,
717
0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008,
718
0x2009, 0x200a, 0x200b, 0x200c, 0x200d, 0x200e, 0x200f, 0x2010,
719
0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2018,
720
0x2019, 0x201a, 0x201b, 0x201c, 0x201d, 0x201e, 0x201f, 0x2020,
721
0x2021, 0x2022, 0x2023, 0x2024, 0x2025, 0x2026, 0x2027, 0x2028,
722
0x2029, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x202f, 0x2030,
723
0x2031, 0x2032, 0x2033, 0x2034, 0x2035, 0x2036, 0x2037, 0x2038,
724
0x2039, 0x203a, 0x203b, 0x203c, 0x203d, 0x203e, 0x203f, 0x2040,
725
0x2041, 0x2042, 0x2043, 0x2044, 0x2045, 0x2046, 0x2047, 0x2048,
726
0x2049, 0x204a, 0x204b, 0x204c, 0x204d, 0x204e, 0x204f, 0x2050,
727
0x2051, 0x2052, 0x2053, 0x2054, 0x2055, 0x2056, 0x2057, 0x2058,
728
0x2059, 0x205a, 0x205b, 0x205c, 0x205d, 0x205e, 0x205f, 0x2060,
729
0x2061, 0x2062, 0x2063, 0x2064, 0x2065, 0x2066, 0x2067, 0x2068,
730
0x2069, 0x206a, 0x206b, 0x206c, 0x206d, 0x206e, 0x206f, 0x2070,
731
0x2071, 0x2072, 0x2073, 0x2074, 0x2075, 0x2076, 0x2077, 0x2078,
732
0x2079, 0x4cba, 0x4cbb, 0x5d88, 0x5d89, 0x5d8a, 0x5d8b, 0x5d8c,
733
0x5d8d, 0x5d8e, 0x5d8f, 0x5db0, 0x5db1, 0x5db2, 0x5db3, 0x5db4,
734
0x5db5, 0x5db6, 0x5db7, 0x5db8, 0x5db9, 0x5dba, 0x5dbb, 0x5dbc,
735
0x5dbd, 0x5dbe, 0x5dbf, 0x5e40, 0x5e41, 0x5e42, 0x5e43, 0x5e44,
736
0x5e45, 0x5e46, 0x5e47, 0x5e48, 0x5e49, 0x5e4a, 0x5e4b, 0x5e4c,
737
0x5e4d, 0x5e4e, 0x5e4f, 0x5e50, 0x5e51, 0x5e52, 0x5e53, 0x5e54,
738
0x5e55, 0x5e56, 0x5e57, 0x5e58, 0x5e59, 0x5e5a, 0x5e5b, 0x5e5c,
739
0x5e5d, 0x5e5e, 0x5e5f, 0x5e60, 0x5e61, 0x5e62, 0x5e63, 0x5e64,
740
0x5e65, 0x5e66, 0x5e67, 0x5e68, 0x5e69, 0x5e6a, 0x5e6b, 0x5e6c,
741
0x5e6d, 0x5e6e, 0x5e6f, 0x5e70, 0x5e71, 0x5e72, 0x5e73, 0x5e74,
742
0x5e75, 0x5e76, 0x5e77, 0x5e78, 0x5e79, 0x5e7a, 0x5e7b, 0x5e7c,
743
0x5e7d, 0x5e7e, 0x5e7f, 0x5e80, 0x5e81, 0x5e82, 0x5e83, 0x5e84,
744
0x5e85, 0x5e86, 0x5e87, 0x5e88, 0x5e89, 0x5e8a, 0x5e8b, 0x5e8c,
745
0x5e8d, 0x5e8e, 0x5e8f, 0x5e90, 0x5e91, 0x5e92, 0x5e93, 0x5e94,
746
0x5e95, 0x5e96, 0x5e97, 0x5e98, 0x5e99, 0x5e9a, 0x5e9b, 0x5e9c,
747
0x5e9d, 0x5e9e, 0x5e9f, 0x5ea0, 0x5ea1, 0x5ea2, 0x5ea3, 0x5ea4,
748
0x5ea5, 0x5ea6, 0x5ea7, 0x5ea8, 0x5ea9, 0x5eaa, 0x5eab, 0x5eac,
749
0x5ead, 0x5eae, 0x5eaf, 0x5eb0, 0x5eb1, 0x5eb2, 0x5eb3, 0x5eb4,
750
0x5eb5, 0x5eb6, 0x5eb7, 0x5eb8, 0x5eb9, 0x5eba, 0x5ebb, 0x5ebc,
751
0x5ebd, 0x5ebe, 0x5ebf, 0x5ec0, 0x5ec1, 0x5ec2, 0x5ec3, 0x5ec4,
752
0x5ec5, 0x5ec6, 0x5ec7, 0x5ec8, 0x5ec9, 0x5eca, 0x5ecb, 0x5ecc,
753
0x5ecd, 0x5ece, 0x5ecf, 0x5ed0, 0x5ed1, 0x5ed2, 0x5ed3, 0x5ed4,
754
0x5ed5, 0x5ed6, 0x5ed7, 0x5ed8, 0x5ed9, 0x5eda, 0x5edb, 0x5edc,
755
0x5edd, 0x5ede, 0x5edf, 0x5ee0, 0x5ee1, 0x5ee2, 0x5ee3, 0x5ee4,
756
0x5ee5, 0x5ee6, 0x5ee7, 0x5ee8, 0x5ee9, 0x5eea, 0x5eeb, 0x5eec,
757
0x5eed, 0x5eee, 0x5eef, 0x5ef0, 0x5ef1, 0x5ef2, 0x5ef3, 0x5ef4,
758
0x5ef5, 0x5ef6, 0x5ef7, 0x5ef8, 0x5ef9, 0x5efa, 0x5efb, 0x5efc,
759
0x5efd, 0x5efe, 0x5eff, 0x5f00, 0x5f01, 0x5f02, 0x5f03, 0x5f04,
760
0x5f05, 0x5f06, 0x5f07, 0x5f08, 0x5f09, 0x5f0a, 0x5f0b, 0x5f0c,
761
0x5f0d, 0x5f0e, 0x5f0f, 0x0000,
764
const UINT8 table0_mv_bits[1100] = {
765
1, 4, 4, 4, 5, 5, 5, 6,
766
6, 6, 7, 7, 7, 8, 8, 8,
767
8, 8, 8, 8, 8, 8, 8, 8,
768
8, 9, 9, 9, 9, 9, 9, 9,
769
9, 9, 9, 9, 9, 10, 10, 10,
770
10, 10, 10, 10, 10, 10, 10, 10,
771
10, 10, 10, 10, 10, 10, 10, 10,
772
10, 10, 10, 10, 11, 11, 11, 11,
773
11, 11, 11, 11, 11, 11, 11, 11,
774
11, 11, 11, 11, 11, 11, 11, 11,
775
11, 11, 11, 11, 11, 11, 11, 11,
776
12, 12, 12, 12, 12, 12, 12, 12,
777
12, 12, 12, 12, 12, 12, 12, 12,
778
12, 12, 12, 12, 12, 12, 12, 12,
779
12, 12, 12, 12, 12, 12, 12, 12,
780
12, 12, 12, 12, 12, 12, 12, 12,
781
12, 12, 12, 12, 12, 12, 12, 12,
782
12, 12, 12, 13, 13, 13, 13, 13,
783
13, 13, 13, 13, 13, 13, 13, 13,
784
13, 13, 13, 13, 13, 13, 13, 13,
785
13, 13, 13, 13, 13, 13, 13, 13,
786
13, 13, 13, 13, 13, 13, 13, 13,
787
13, 13, 13, 13, 13, 13, 13, 13,
788
13, 13, 13, 13, 13, 13, 13, 13,
789
13, 13, 13, 13, 13, 13, 13, 13,
790
13, 13, 14, 14, 14, 14, 14, 14,
791
14, 14, 14, 14, 14, 14, 14, 14,
792
14, 14, 14, 14, 14, 14, 14, 14,
793
14, 14, 14, 14, 14, 14, 14, 14,
794
14, 14, 14, 14, 14, 14, 14, 14,
795
14, 14, 14, 14, 14, 14, 14, 14,
796
14, 14, 14, 14, 14, 14, 14, 14,
797
14, 14, 14, 14, 14, 14, 14, 14,
798
14, 14, 14, 14, 14, 14, 14, 14,
799
14, 14, 14, 14, 14, 14, 14, 14,
800
14, 14, 14, 14, 14, 14, 14, 14,
801
14, 14, 14, 14, 14, 14, 14, 14,
802
14, 14, 14, 14, 14, 14, 14, 14,
803
14, 15, 15, 15, 15, 15, 15, 15,
804
15, 15, 15, 15, 15, 15, 15, 15,
805
15, 15, 15, 15, 15, 15, 15, 15,
806
15, 15, 15, 15, 15, 15, 15, 15,
807
15, 15, 15, 15, 15, 15, 15, 15,
808
15, 15, 15, 15, 15, 15, 15, 15,
809
15, 15, 15, 15, 15, 15, 15, 15,
810
15, 15, 15, 15, 15, 15, 15, 15,
811
15, 15, 15, 15, 15, 15, 15, 15,
812
15, 15, 15, 15, 15, 15, 15, 15,
813
15, 15, 15, 15, 15, 15, 15, 15,
814
15, 15, 15, 15, 15, 15, 15, 15,
815
15, 15, 15, 15, 15, 15, 15, 15,
816
15, 15, 15, 15, 15, 15, 15, 15,
817
15, 15, 15, 15, 15, 15, 15, 15,
818
15, 15, 15, 15, 15, 15, 15, 15,
819
15, 15, 15, 15, 15, 15, 15, 15,
820
15, 15, 15, 15, 15, 15, 15, 15,
821
15, 15, 15, 15, 15, 15, 15, 15,
822
15, 15, 15, 15, 15, 15, 15, 15,
823
15, 15, 15, 15, 16, 16, 16, 16,
824
16, 16, 16, 16, 16, 16, 16, 16,
825
16, 16, 16, 16, 16, 16, 16, 16,
826
16, 16, 16, 16, 16, 16, 16, 16,
827
16, 16, 16, 16, 16, 16, 16, 16,
828
16, 16, 16, 16, 16, 16, 16, 16,
829
16, 16, 16, 16, 16, 16, 16, 16,
830
16, 16, 16, 16, 16, 16, 16, 16,
831
16, 16, 16, 16, 16, 16, 16, 16,
832
16, 16, 16, 16, 16, 16, 16, 16,
833
16, 16, 16, 16, 16, 16, 16, 16,
834
16, 16, 16, 16, 16, 16, 16, 16,
835
16, 16, 16, 16, 16, 16, 16, 16,
836
16, 16, 16, 16, 16, 16, 16, 16,
837
16, 16, 16, 16, 16, 16, 16, 16,
838
16, 16, 16, 16, 16, 16, 16, 16,
839
16, 16, 16, 16, 16, 16, 16, 16,
840
16, 16, 16, 16, 16, 16, 16, 16,
841
16, 16, 16, 16, 16, 16, 16, 16,
842
16, 16, 16, 16, 16, 16, 16, 16,
843
16, 16, 16, 16, 16, 16, 16, 16,
844
16, 16, 16, 16, 16, 16, 16, 16,
845
16, 16, 16, 16, 16, 16, 16, 16,
846
16, 16, 16, 16, 16, 16, 16, 16,
847
16, 16, 16, 16, 16, 16, 16, 16,
848
16, 16, 16, 16, 16, 16, 16, 16,
849
16, 16, 16, 16, 16, 16, 16, 16,
850
16, 16, 16, 16, 16, 16, 16, 16,
851
16, 16, 16, 16, 16, 16, 16, 16,
852
16, 16, 16, 16, 16, 16, 16, 16,
853
16, 16, 16, 16, 16, 16, 16, 16,
854
16, 17, 17, 17, 17, 17, 17, 17,
855
17, 17, 17, 17, 17, 17, 17, 17,
856
17, 17, 17, 17, 17, 17, 17, 17,
857
17, 17, 17, 17, 17, 17, 17, 17,
858
17, 17, 17, 17, 17, 17, 17, 17,
859
17, 17, 17, 17, 17, 17, 17, 17,
860
17, 17, 17, 17, 17, 17, 17, 17,
861
17, 17, 17, 17, 17, 17, 17, 17,
862
17, 17, 17, 17, 17, 17, 17, 17,
863
17, 17, 17, 17, 17, 17, 17, 17,
864
17, 17, 17, 17, 17, 17, 17, 17,
865
17, 17, 17, 17, 17, 17, 17, 17,
866
17, 17, 17, 17, 17, 17, 17, 17,
867
17, 17, 17, 17, 17, 17, 17, 17,
868
17, 17, 17, 17, 17, 17, 17, 17,
869
17, 17, 17, 17, 17, 17, 17, 17,
870
17, 17, 17, 17, 17, 17, 17, 17,
871
17, 17, 17, 17, 17, 17, 17, 17,
872
17, 17, 17, 17, 17, 17, 17, 17,
873
17, 17, 17, 17, 17, 17, 17, 17,
874
17, 17, 17, 17, 17, 17, 17, 17,
875
17, 17, 17, 17, 17, 17, 17, 17,
876
17, 17, 17, 17, 17, 17, 17, 17,
877
17, 17, 17, 17, 17, 17, 17, 17,
878
17, 17, 17, 17, 17, 17, 17, 17,
879
17, 17, 17, 17, 17, 17, 17, 17,
880
17, 17, 17, 17, 17, 17, 17, 17,
881
17, 17, 17, 17, 17, 17, 17, 17,
882
17, 17, 17, 17, 17, 17, 17, 17,
883
17, 17, 17, 17, 17, 17, 17, 17,
884
17, 17, 17, 17, 17, 17, 17, 17,
885
17, 17, 17, 17, 17, 17, 17, 17,
886
17, 17, 17, 17, 17, 17, 17, 17,
887
17, 17, 17, 17, 17, 17, 17, 17,
888
17, 17, 17, 17, 17, 17, 17, 17,
889
17, 17, 17, 17, 17, 17, 17, 17,
890
17, 17, 17, 17, 17, 17, 17, 17,
891
17, 17, 17, 17, 17, 17, 17, 17,
892
17, 17, 17, 17, 17, 17, 17, 17,
893
17, 17, 17, 17, 17, 17, 17, 17,
894
17, 17, 17, 17, 17, 17, 17, 17,
895
17, 17, 17, 17, 17, 17, 17, 17,
896
17, 17, 17, 17, 17, 17, 17, 17,
897
17, 17, 17, 17, 17, 17, 17, 17,
898
17, 17, 17, 17, 17, 17, 17, 17,
899
17, 17, 17, 17, 17, 17, 17, 17,
900
17, 17, 17, 17, 17, 17, 17, 17,
901
17, 17, 17, 17, 17, 17, 17, 17,
905
const UINT8 table0_mvx[1099] = {
906
32, 32, 31, 32, 33, 31, 33, 31,
907
33, 32, 34, 32, 30, 32, 31, 34,
908
35, 32, 34, 33, 29, 33, 30, 30,
909
31, 31, 35, 29, 33, 35, 33, 34,
910
31, 29, 30, 34, 30, 36, 28, 32,
911
34, 37, 30, 27, 32, 25, 39, 32,
912
34, 32, 35, 35, 35, 31, 35, 29,
913
32, 29, 30, 29, 37, 27, 36, 38,
914
37, 33, 32, 31, 29, 31, 28, 36,
915
33, 30, 34, 33, 33, 28, 27, 25,
916
31, 26, 39, 32, 32, 31, 33, 39,
917
31, 38, 28, 36, 21, 23, 43, 36,
918
34, 41, 30, 25, 28, 31, 30, 34,
919
38, 35, 61, 34, 28, 30, 37, 37,
920
35, 27, 36, 3, 59, 38, 37, 32,
921
31, 29, 26, 33, 37, 33, 27, 27,
922
35, 34, 34, 40, 42, 33, 32, 29,
923
4, 5, 28, 24, 25, 35, 39, 38,
924
32, 23, 27, 32, 30, 35, 26, 34,
925
60, 36, 29, 22, 26, 41, 7, 30,
926
38, 30, 36, 29, 30, 41, 26, 25,
927
32, 34, 24, 39, 1, 25, 39, 32,
928
28, 29, 32, 38, 26, 36, 28, 63,
929
28, 39, 23, 21, 26, 35, 31, 35,
930
57, 31, 29, 29, 28, 30, 27, 35,
931
2, 38, 40, 34, 37, 29, 38, 43,
932
26, 32, 33, 42, 24, 40, 28, 32,
933
32, 32, 36, 32, 43, 25, 21, 31,
934
30, 31, 41, 29, 33, 37, 26, 37,
935
27, 59, 23, 33, 35, 31, 31, 37,
936
38, 39, 32, 23, 32, 27, 37, 36,
937
31, 40, 25, 27, 38, 31, 36, 28,
938
31, 36, 25, 45, 3, 34, 38, 39,
939
40, 38, 30, 32, 19, 24, 25, 26,
940
45, 20, 24, 33, 33, 31, 41, 34,
941
39, 47, 40, 58, 59, 41, 33, 3,
942
17, 61, 42, 30, 26, 29, 36, 61,
943
33, 37, 62, 28, 25, 38, 25, 38,
944
17, 23, 34, 33, 21, 33, 49, 27,
945
32, 23, 27, 22, 24, 22, 39, 43,
946
27, 37, 6, 42, 47, 26, 30, 31,
947
41, 39, 33, 22, 45, 36, 32, 45,
948
19, 22, 30, 5, 5, 17, 29, 22,
949
31, 31, 43, 37, 27, 32, 32, 32,
950
33, 34, 43, 35, 29, 26, 22, 32,
951
19, 32, 25, 31, 41, 49, 28, 34,
952
28, 39, 34, 19, 37, 38, 29, 21,
953
36, 42, 24, 48, 16, 28, 49, 22,
954
34, 31, 38, 39, 44, 11, 35, 30,
955
33, 33, 23, 28, 33, 46, 15, 13,
956
24, 41, 24, 34, 34, 30, 26, 24,
957
14, 60, 21, 29, 39, 23, 35, 37,
958
63, 45, 33, 34, 47, 41, 22, 42,
959
35, 35, 23, 32, 35, 43, 32, 7,
960
31, 41, 20, 31, 16, 13, 63, 25,
961
30, 32, 35, 30, 30, 31, 42, 47,
962
39, 38, 40, 40, 51, 55, 56, 18,
963
21, 39, 39, 33, 17, 41, 23, 24,
964
43, 25, 31, 20, 19, 45, 1, 34,
965
31, 22, 35, 15, 46, 46, 35, 31,
966
28, 29, 29, 23, 41, 27, 14, 53,
967
53, 27, 24, 32, 57, 32, 17, 42,
968
37, 29, 33, 1, 25, 32, 32, 63,
969
26, 40, 44, 36, 31, 39, 20, 20,
970
44, 23, 33, 34, 35, 33, 33, 28,
971
41, 23, 41, 41, 29, 25, 26, 49,
972
29, 24, 37, 49, 50, 51, 51, 26,
973
39, 25, 26, 15, 39, 18, 42, 17,
974
4, 31, 32, 32, 60, 1, 42, 32,
975
0, 12, 19, 35, 21, 41, 17, 26,
976
20, 45, 46, 32, 37, 22, 47, 29,
977
31, 27, 29, 30, 21, 33, 35, 18,
978
25, 33, 50, 51, 42, 2, 15, 51,
979
53, 33, 25, 29, 55, 37, 38, 33,
980
38, 59, 38, 33, 39, 13, 32, 40,
981
61, 61, 32, 9, 44, 3, 31, 29,
982
25, 31, 27, 23, 9, 25, 9, 29,
983
20, 30, 30, 42, 18, 28, 25, 28,
984
28, 21, 29, 43, 29, 43, 26, 44,
985
44, 21, 38, 21, 24, 45, 45, 35,
986
39, 22, 35, 36, 34, 34, 45, 34,
987
29, 31, 46, 25, 46, 16, 17, 31,
988
20, 32, 47, 47, 47, 32, 49, 49,
989
49, 31, 1, 27, 28, 39, 39, 21,
990
36, 23, 51, 2, 40, 51, 32, 53,
991
24, 30, 24, 30, 21, 40, 57, 57,
992
31, 41, 58, 32, 12, 4, 32, 34,
993
59, 31, 32, 13, 9, 35, 26, 35,
994
37, 61, 37, 63, 26, 29, 41, 38,
995
23, 20, 41, 26, 41, 42, 42, 42,
996
26, 26, 26, 26, 1, 26, 37, 37,
997
37, 23, 34, 42, 27, 43, 34, 27,
998
31, 24, 33, 16, 3, 31, 24, 33,
999
24, 4, 44, 44, 11, 44, 31, 13,
1000
13, 44, 45, 13, 25, 22, 38, 26,
1001
38, 38, 39, 32, 30, 39, 30, 22,
1002
32, 26, 30, 47, 47, 47, 19, 47,
1003
30, 31, 35, 8, 23, 47, 47, 27,
1004
35, 47, 31, 48, 35, 19, 36, 49,
1005
49, 33, 31, 39, 27, 39, 49, 49,
1006
50, 50, 50, 39, 31, 51, 51, 39,
1007
28, 33, 33, 21, 40, 31, 52, 53,
1008
40, 53, 9, 33, 31, 53, 54, 54,
1009
54, 55, 55, 34, 15, 56, 25, 56,
1010
21, 21, 40, 40, 25, 40, 58, 36,
1011
5, 41, 41, 12, 60, 41, 41, 37,
1012
22, 61, 18, 29, 29, 30, 61, 30,
1013
61, 62, 62, 30, 30, 63, 18, 13,
1014
30, 23, 19, 20, 20, 41, 13, 2,
1015
5, 5, 1, 5, 32, 6, 32, 35,
1016
20, 35, 27, 35, 35, 36, 36, 13,
1017
36, 41, 41, 41, 3, 30, 42, 27,
1018
20, 30, 27, 28, 30, 21, 33, 33,
1019
14, 24, 30, 42, 24, 33, 25, 42,
1020
43, 14, 43, 43, 14, 43, 7, 36,
1021
37, 37, 37, 37, 7, 14, 25, 43,
1022
43, 44, 15, 37, 7, 7, 3, 1,
1023
8, 15, 15, 8, 44, 44, 44, 45,
1024
45, 45, 45, 8, 8, 45, 21, 45,
1025
28, 28, 28, 21, 28, 28, 22, 37,
1026
46, 46, 37, 8, 29, 37, 29, 22,
1027
46, 37, 22, 29, 47, 47, 38, 38,
1028
16, 38, 38, 33, 38, 22, 47, 47,
1029
29, 25, 16, 0, 48, 1, 34, 48,
1030
48, 34, 25, 26, 26, 49, 49, 26,
1031
1, 49, 4, 26, 4, 49, 1, 9,
1032
49, 49, 49, 10, 49, 17, 38, 17,
1033
17, 50, 38, 50, 50, 22, 38, 51,
1034
38, 38, 51, 39, 39, 18, 22, 39,
1035
51, 22, 52, 52, 52, 39, 53, 53,
1036
10, 23, 18, 29, 10, 53, 29, 54,
1037
11, 54, 11, 11, 55, 1, 18, 55,
1038
55, 55, 55, 55, 55, 29, 34, 18,
1039
29, 56, 56, 34, 57, 34, 34, 29,
1040
29, 57, 57, 35, 35, 35, 35, 35,
1041
39, 35, 59, 59, 18, 59, 39, 30,
1042
18, 40, 60, 60, 61, 30, 18, 61,
1046
const UINT8 table0_mvy[1099] = {
1047
32, 31, 32, 33, 32, 31, 31, 33,
1048
33, 34, 32, 30, 32, 35, 34, 31,
1049
32, 29, 33, 30, 32, 34, 33, 31,
1050
30, 35, 31, 31, 29, 33, 35, 30,
1051
29, 33, 34, 34, 30, 32, 32, 36,
1052
29, 32, 35, 32, 28, 32, 32, 27,
1053
35, 37, 34, 29, 30, 36, 35, 34,
1054
25, 30, 29, 35, 33, 31, 31, 32,
1055
31, 28, 39, 28, 29, 37, 31, 33,
1056
27, 36, 28, 36, 37, 33, 33, 31,
1057
27, 32, 31, 38, 26, 25, 25, 33,
1058
39, 31, 34, 30, 32, 32, 32, 34,
1059
36, 32, 28, 33, 30, 38, 37, 27,
1060
33, 28, 32, 37, 35, 38, 29, 34,
1061
27, 29, 29, 32, 32, 34, 35, 3,
1062
26, 36, 31, 38, 30, 26, 35, 34,
1063
37, 26, 25, 32, 32, 39, 23, 37,
1064
32, 32, 29, 32, 29, 36, 29, 30,
1065
41, 31, 30, 21, 39, 25, 34, 38,
1066
32, 35, 39, 32, 33, 33, 32, 27,
1067
29, 25, 28, 27, 26, 31, 30, 35,
1068
24, 24, 31, 34, 32, 30, 35, 40,
1069
28, 38, 5, 35, 29, 36, 36, 32,
1070
38, 30, 33, 31, 35, 26, 23, 38,
1071
32, 41, 28, 25, 37, 40, 37, 39,
1072
32, 36, 33, 39, 25, 26, 28, 31,
1073
28, 42, 23, 31, 33, 31, 39, 1,
1074
59, 22, 27, 4, 33, 34, 33, 24,
1075
41, 3, 35, 41, 41, 28, 36, 36,
1076
28, 33, 35, 21, 23, 21, 22, 37,
1077
27, 27, 43, 29, 60, 39, 27, 25,
1078
59, 34, 27, 27, 26, 40, 37, 27,
1079
61, 26, 39, 33, 31, 22, 37, 25,
1080
30, 25, 24, 61, 31, 34, 25, 38,
1081
32, 32, 30, 3, 61, 43, 29, 23,
1082
28, 32, 28, 32, 31, 34, 5, 33,
1083
32, 33, 33, 42, 37, 23, 38, 31,
1084
40, 26, 32, 26, 37, 38, 36, 24,
1085
29, 30, 20, 22, 29, 24, 32, 41,
1086
2, 34, 25, 33, 29, 31, 39, 35,
1087
36, 24, 32, 30, 33, 27, 44, 60,
1088
30, 36, 19, 34, 31, 24, 16, 35,
1089
32, 38, 21, 33, 31, 31, 21, 35,
1090
5, 17, 29, 38, 38, 18, 58, 19,
1091
43, 41, 30, 41, 43, 39, 29, 7,
1092
29, 17, 28, 19, 28, 31, 25, 19,
1093
40, 26, 21, 33, 39, 23, 40, 30,
1094
39, 34, 35, 32, 32, 24, 33, 30,
1095
40, 47, 39, 37, 32, 33, 24, 23,
1096
45, 47, 27, 23, 42, 32, 32, 33,
1097
36, 37, 37, 17, 18, 22, 40, 38,
1098
32, 31, 35, 24, 17, 25, 17, 23,
1099
33, 34, 51, 42, 31, 36, 36, 29,
1100
21, 22, 37, 44, 43, 25, 47, 33,
1101
45, 27, 31, 58, 31, 32, 31, 38,
1102
43, 20, 47, 45, 54, 1, 26, 34,
1103
38, 14, 22, 24, 33, 34, 32, 32,
1104
37, 21, 23, 49, 35, 23, 28, 39,
1105
39, 23, 55, 33, 30, 30, 63, 16,
1106
42, 28, 13, 33, 33, 35, 19, 46,
1107
43, 17, 19, 36, 39, 24, 31, 32,
1108
33, 26, 28, 62, 33, 63, 33, 39,
1109
19, 49, 17, 31, 43, 13, 15, 29,
1110
25, 35, 33, 23, 49, 41, 28, 29,
1111
34, 38, 7, 61, 11, 50, 13, 41,
1112
19, 47, 25, 26, 15, 42, 41, 29,
1113
45, 27, 17, 35, 32, 29, 32, 24,
1114
13, 26, 26, 31, 24, 33, 28, 30,
1115
31, 11, 45, 46, 33, 33, 35, 57,
1116
32, 32, 35, 45, 34, 11, 37, 42,
1117
39, 37, 31, 49, 21, 27, 29, 47,
1118
53, 40, 51, 16, 26, 1, 40, 30,
1119
41, 44, 34, 25, 27, 31, 35, 35,
1120
31, 15, 49, 1, 35, 40, 5, 58,
1121
21, 29, 22, 59, 45, 31, 9, 26,
1122
9, 29, 11, 32, 30, 3, 13, 20,
1123
18, 20, 11, 3, 29, 40, 31, 53,
1124
30, 17, 20, 37, 31, 42, 47, 47,
1125
54, 38, 9, 34, 13, 37, 21, 25,
1126
27, 43, 42, 45, 40, 25, 27, 46,
1127
22, 25, 53, 20, 2, 14, 39, 15,
1128
22, 44, 34, 21, 38, 33, 27, 48,
1129
34, 52, 35, 47, 49, 54, 2, 13,
1130
23, 52, 29, 45, 22, 49, 54, 21,
1131
40, 42, 31, 30, 29, 34, 0, 25,
1132
23, 51, 24, 59, 28, 38, 29, 31,
1133
2, 13, 31, 8, 31, 33, 12, 45,
1134
41, 7, 14, 30, 25, 18, 43, 20,
1135
43, 35, 44, 1, 49, 42, 42, 18,
1136
41, 38, 41, 44, 53, 11, 20, 25,
1137
45, 46, 47, 48, 39, 52, 46, 49,
1138
63, 55, 44, 38, 13, 13, 57, 22,
1139
51, 16, 12, 28, 35, 57, 25, 20,
1140
26, 28, 28, 29, 32, 31, 62, 34,
1141
35, 35, 19, 49, 48, 39, 40, 18,
1142
43, 46, 11, 6, 48, 19, 49, 41,
1143
10, 23, 58, 17, 21, 23, 34, 30,
1144
60, 0, 44, 34, 26, 37, 46, 43,
1145
49, 59, 4, 34, 59, 37, 22, 25,
1146
28, 46, 6, 40, 59, 42, 36, 61,
1147
28, 30, 31, 43, 10, 22, 23, 47,
1148
20, 52, 55, 36, 25, 16, 1, 11,
1149
27, 29, 5, 63, 18, 41, 31, 34,
1150
38, 1, 5, 13, 28, 31, 17, 38,
1151
39, 41, 36, 37, 22, 39, 33, 43,
1152
43, 15, 17, 49, 30, 21, 22, 20,
1153
10, 17, 25, 54, 57, 3, 34, 8,
1154
36, 25, 31, 14, 15, 19, 29, 25,
1155
18, 39, 53, 22, 27, 20, 29, 33,
1156
41, 42, 35, 62, 50, 29, 53, 50,
1157
35, 55, 42, 61, 63, 4, 7, 42,
1158
21, 46, 47, 49, 27, 46, 17, 55,
1159
41, 50, 63, 4, 56, 18, 8, 10,
1160
18, 51, 63, 36, 55, 18, 5, 55,
1161
9, 29, 17, 21, 30, 27, 1, 59,
1162
7, 11, 12, 15, 5, 42, 24, 41,
1163
43, 7, 27, 22, 25, 31, 30, 37,
1164
22, 39, 53, 29, 36, 37, 48, 0,
1165
5, 13, 17, 31, 32, 26, 46, 28,
1166
44, 45, 46, 53, 49, 51, 3, 41,
1167
3, 22, 42, 33, 5, 45, 7, 22,
1168
40, 53, 24, 14, 25, 27, 10, 12,
1169
34, 16, 17, 53, 20, 26, 39, 45,
1170
18, 45, 35, 33, 31, 49, 4, 39,
1171
42, 11, 51, 5, 13, 26, 27, 17,
1172
52, 30, 0, 22, 12, 34, 62, 36,
1173
38, 41, 47, 30, 63, 38, 41, 43,
1174
59, 33, 45, 37, 38, 40, 47, 24,
1175
48, 49, 30, 1, 10, 22, 49, 15,
1176
39, 59, 31, 32, 33, 18, 13, 15,
1177
31, 21, 27, 44, 42, 39, 46, 17,
1178
26, 32, 30, 31, 0, 30, 34, 9,
1179
12, 13, 25, 31, 32, 55, 43, 35,
1180
61, 33, 35, 46, 25, 47, 48, 62,
1181
63, 38, 61, 1, 2, 5, 7, 9,
1182
46, 10, 34, 35, 36, 55, 51, 7,
1183
40, 23, 34, 37, 5, 13, 42, 18,
1187
/* motion vector table 1 */
1188
const UINT16 table1_mv_code[1100] = {
1189
0x0000, 0x0007, 0x0009, 0x000f, 0x000a, 0x0011, 0x001a, 0x001c,
1190
0x0011, 0x0031, 0x0025, 0x002d, 0x002f, 0x006f, 0x0075, 0x0041,
1191
0x004c, 0x004e, 0x005c, 0x0060, 0x0062, 0x0066, 0x0068, 0x0069,
1192
0x006b, 0x00a6, 0x00c1, 0x00cb, 0x00cc, 0x00ce, 0x00da, 0x00e8,
1193
0x00ee, 0x0087, 0x0090, 0x009e, 0x009f, 0x00ba, 0x00ca, 0x00d8,
1194
0x00db, 0x00df, 0x0104, 0x0109, 0x010c, 0x0143, 0x0145, 0x014a,
1195
0x0156, 0x015c, 0x01b3, 0x01d3, 0x01da, 0x0103, 0x0109, 0x010b,
1196
0x0122, 0x0127, 0x0134, 0x0161, 0x0164, 0x0176, 0x0184, 0x018d,
1197
0x018e, 0x018f, 0x0190, 0x0193, 0x0196, 0x019d, 0x019e, 0x019f,
1198
0x01a9, 0x01b2, 0x01b4, 0x01ba, 0x01bb, 0x01bc, 0x0201, 0x0202,
1199
0x0205, 0x0207, 0x020d, 0x0210, 0x0211, 0x0215, 0x021b, 0x021f,
1200
0x0281, 0x0285, 0x0290, 0x029c, 0x029d, 0x02a2, 0x02a7, 0x02a8,
1201
0x02aa, 0x02b0, 0x02b1, 0x02b4, 0x02bc, 0x02bf, 0x0320, 0x0326,
1202
0x0327, 0x0329, 0x032a, 0x0336, 0x0360, 0x0362, 0x0363, 0x0372,
1203
0x03b2, 0x03bc, 0x03bd, 0x0203, 0x0205, 0x021a, 0x0249, 0x024a,
1204
0x024c, 0x02c7, 0x02ca, 0x02ce, 0x02ef, 0x030d, 0x0322, 0x0325,
1205
0x0338, 0x0373, 0x037a, 0x0409, 0x0415, 0x0416, 0x0418, 0x0428,
1206
0x042d, 0x042f, 0x0434, 0x0508, 0x0509, 0x0510, 0x0511, 0x051c,
1207
0x051e, 0x0524, 0x0541, 0x0543, 0x0546, 0x0547, 0x054d, 0x0557,
1208
0x055f, 0x056a, 0x056c, 0x056d, 0x056f, 0x0576, 0x0577, 0x057a,
1209
0x057b, 0x057c, 0x057d, 0x0600, 0x0601, 0x0603, 0x0614, 0x0616,
1210
0x0617, 0x061c, 0x061f, 0x0642, 0x0648, 0x0649, 0x064a, 0x064b,
1211
0x0657, 0x0668, 0x0669, 0x066b, 0x066e, 0x067f, 0x06c2, 0x06c8,
1212
0x06cb, 0x06de, 0x06df, 0x06e2, 0x06e3, 0x06ef, 0x0748, 0x074b,
1213
0x076e, 0x076f, 0x077c, 0x0409, 0x0423, 0x0428, 0x0429, 0x042a,
1214
0x042b, 0x0432, 0x0433, 0x0496, 0x049a, 0x04d5, 0x04db, 0x0581,
1215
0x0582, 0x058b, 0x058c, 0x058d, 0x0598, 0x0599, 0x059a, 0x059e,
1216
0x05dd, 0x0619, 0x0632, 0x0633, 0x0648, 0x0672, 0x06a1, 0x06a2,
1217
0x06a3, 0x06af, 0x06e2, 0x06e3, 0x06e4, 0x0800, 0x0801, 0x0802,
1218
0x0803, 0x081a, 0x081b, 0x0829, 0x082f, 0x0832, 0x083e, 0x083f,
1219
0x0852, 0x0853, 0x0858, 0x086b, 0x0877, 0x0878, 0x0879, 0x087a,
1220
0x087b, 0x0a00, 0x0a01, 0x0a0d, 0x0a0e, 0x0a0f, 0x0a24, 0x0a37,
1221
0x0a3a, 0x0a3b, 0x0a3e, 0x0a46, 0x0a47, 0x0a4a, 0x0a4b, 0x0a5f,
1222
0x0a79, 0x0a7a, 0x0a7b, 0x0a80, 0x0a81, 0x0a84, 0x0a85, 0x0a99,
1223
0x0aa5, 0x0aa6, 0x0ab8, 0x0aba, 0x0abb, 0x0abc, 0x0abd, 0x0ac8,
1224
0x0ace, 0x0acf, 0x0ad7, 0x0adc, 0x0aeb, 0x0c04, 0x0c25, 0x0c26,
1225
0x0c27, 0x0c2a, 0x0c2b, 0x0c3a, 0x0c3b, 0x0c3c, 0x0c3d, 0x0ca0,
1226
0x0cad, 0x0cd4, 0x0cd5, 0x0cfc, 0x0cfd, 0x0d86, 0x0d92, 0x0d93,
1227
0x0d94, 0x0d95, 0x0db0, 0x0db8, 0x0db9, 0x0dba, 0x0dbb, 0x0dc0,
1228
0x0dc2, 0x0dc3, 0x0dda, 0x0ddb, 0x0ddc, 0x0ddd, 0x0e92, 0x0e93,
1229
0x0e94, 0x0e95, 0x0ec7, 0x0ecc, 0x0ece, 0x0ecf, 0x0ed8, 0x0ed9,
1230
0x0eda, 0x0edb, 0x0808, 0x0809, 0x080a, 0x0810, 0x0811, 0x0844,
1231
0x0845, 0x0861, 0x0862, 0x0863, 0x086c, 0x0922, 0x0923, 0x092e,
1232
0x092f, 0x0936, 0x0937, 0x09b1, 0x09b2, 0x09b3, 0x09b4, 0x09b5,
1233
0x09b8, 0x09b9, 0x09ba, 0x09bb, 0x09bc, 0x09bd, 0x09be, 0x09bf,
1234
0x0b00, 0x0b15, 0x0b2c, 0x0b2d, 0x0b2e, 0x0b2f, 0x0b36, 0x0bb9,
1235
0x0c28, 0x0c2a, 0x0c2b, 0x0c2c, 0x0c2d, 0x0c2e, 0x0c2f, 0x0c30,
1236
0x0c31, 0x0c38, 0x0c60, 0x0c61, 0x0c62, 0x0c63, 0x0c8d, 0x0c8e,
1237
0x0c8f, 0x0c92, 0x0cbe, 0x0cbf, 0x0ce6, 0x0ce7, 0x0d40, 0x0d41,
1238
0x0d57, 0x0d58, 0x0d59, 0x0d5a, 0x0d5b, 0x0d5c, 0x0d5d, 0x0d98,
1239
0x0d99, 0x0d9a, 0x0d9b, 0x0d9c, 0x0d9d, 0x0dad, 0x0dae, 0x0daf,
1240
0x0dc0, 0x0dc1, 0x0dc2, 0x0dc3, 0x0dca, 0x0dcb, 0x0dec, 0x0ded,
1241
0x0dee, 0x0def, 0x1018, 0x1022, 0x1023, 0x1030, 0x1031, 0x1032,
1242
0x1033, 0x1050, 0x1051, 0x105c, 0x1074, 0x1075, 0x1076, 0x1077,
1243
0x1078, 0x1079, 0x107a, 0x107b, 0x10b2, 0x10b3, 0x10b8, 0x10b9,
1244
0x10ba, 0x10bb, 0x10d4, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x1404,
1245
0x1405, 0x1406, 0x1407, 0x1410, 0x1411, 0x1412, 0x1413, 0x1414,
1246
0x1415, 0x1416, 0x1417, 0x1418, 0x1419, 0x1466, 0x1467, 0x1468,
1247
0x1469, 0x146a, 0x146b, 0x146c, 0x146d, 0x147e, 0x147f, 0x1488,
1248
0x1489, 0x148a, 0x148b, 0x14b6, 0x14b7, 0x14b8, 0x14b9, 0x14ba,
1249
0x14bb, 0x14bc, 0x14bd, 0x14f0, 0x14f1, 0x14f8, 0x14f9, 0x14fa,
1250
0x14fb, 0x14fc, 0x14fd, 0x14fe, 0x14ff, 0x152a, 0x152b, 0x152c,
1251
0x152d, 0x152e, 0x152f, 0x1530, 0x1531, 0x1548, 0x1549, 0x154e,
1252
0x154f, 0x1558, 0x1559, 0x155a, 0x155b, 0x1572, 0x159a, 0x159b,
1253
0x15ac, 0x15ba, 0x15bb, 0x15d0, 0x15d1, 0x15d2, 0x15d3, 0x15d4,
1254
0x15d5, 0x181d, 0x181e, 0x181f, 0x1840, 0x1841, 0x1842, 0x1843,
1255
0x1844, 0x1845, 0x1846, 0x1847, 0x1848, 0x1849, 0x1861, 0x1862,
1256
0x1863, 0x1864, 0x1865, 0x1866, 0x1867, 0x1868, 0x1869, 0x186a,
1257
0x186b, 0x186c, 0x186d, 0x186e, 0x191b, 0x191c, 0x191d, 0x191e,
1258
0x191f, 0x1942, 0x1943, 0x1944, 0x1945, 0x1946, 0x1947, 0x1958,
1259
0x1959, 0x19ed, 0x19ee, 0x19ef, 0x19f0, 0x19f1, 0x19f2, 0x19f3,
1260
0x19f4, 0x19f5, 0x19f6, 0x19f7, 0x1b0e, 0x1b0f, 0x1b62, 0x1b63,
1261
0x1b64, 0x1b65, 0x1b66, 0x1b67, 0x1b68, 0x1b69, 0x1b6a, 0x1b6b,
1262
0x1b6c, 0x1b6d, 0x1b6e, 0x1b6f, 0x1b82, 0x1ba8, 0x1ba9, 0x1baa,
1263
0x1bab, 0x1bac, 0x1bad, 0x1bae, 0x1baf, 0x1bb0, 0x1bb1, 0x1bb2,
1264
0x1bb3, 0x1d80, 0x1d81, 0x1d82, 0x1d83, 0x1d84, 0x1d85, 0x1d86,
1265
0x1d87, 0x1d88, 0x1d89, 0x1d8a, 0x1d8b, 0x1d8c, 0x1d8d, 0x1007,
1266
0x1008, 0x1009, 0x100a, 0x100b, 0x100c, 0x100d, 0x100e, 0x100f,
1267
0x1016, 0x1080, 0x1081, 0x1082, 0x1083, 0x1084, 0x1085, 0x1086,
1268
0x1087, 0x10c0, 0x123a, 0x123b, 0x123c, 0x123d, 0x123e, 0x123f,
1269
0x1240, 0x1241, 0x1242, 0x1243, 0x1350, 0x1352, 0x1353, 0x1358,
1270
0x1359, 0x135a, 0x135b, 0x135c, 0x135d, 0x135e, 0x135f, 0x1360,
1271
0x1361, 0x1602, 0x1603, 0x160c, 0x160d, 0x160e, 0x160f, 0x1620,
1272
0x1621, 0x1622, 0x1623, 0x1624, 0x1625, 0x1626, 0x1627, 0x1628,
1273
0x1629, 0x166e, 0x166f, 0x167c, 0x167d, 0x167e, 0x167f, 0x1770,
1274
0x1771, 0x1852, 0x1853, 0x1872, 0x1873, 0x1874, 0x1875, 0x1876,
1275
0x1877, 0x1878, 0x1879, 0x187a, 0x187b, 0x187c, 0x187d, 0x187e,
1276
0x187f, 0x1918, 0x1919, 0x1926, 0x1927, 0x1970, 0x1971, 0x1972,
1277
0x1973, 0x1974, 0x1975, 0x1976, 0x1977, 0x1978, 0x1979, 0x197a,
1278
0x197b, 0x1aa0, 0x1aa1, 0x1aa2, 0x1aa3, 0x1aa4, 0x1aa5, 0x1aa6,
1279
0x1aa7, 0x1aa8, 0x1aa9, 0x1aaa, 0x1aab, 0x1aac, 0x1aad, 0x1b3c,
1280
0x1b3d, 0x1b3e, 0x1b3f, 0x1b50, 0x1b51, 0x1b52, 0x1b53, 0x1b54,
1281
0x1b55, 0x1b56, 0x1b57, 0x1b58, 0x1b59, 0x2032, 0x2033, 0x2034,
1282
0x2035, 0x2036, 0x2037, 0x2038, 0x2039, 0x203a, 0x203b, 0x203c,
1283
0x203d, 0x203e, 0x203f, 0x2040, 0x2041, 0x2042, 0x2043, 0x20ba,
1284
0x20bb, 0x20cc, 0x20cd, 0x20ce, 0x20cf, 0x20e0, 0x20e1, 0x20e2,
1285
0x20e3, 0x20e4, 0x20e5, 0x20e6, 0x20e7, 0x21aa, 0x21ab, 0x21c0,
1286
0x21c1, 0x21c2, 0x21c3, 0x21c4, 0x21c5, 0x21c6, 0x21c7, 0x21c8,
1287
0x21c9, 0x21ca, 0x21cb, 0x21cc, 0x21cd, 0x21ce, 0x21cf, 0x21d0,
1288
0x21d1, 0x21d2, 0x21d3, 0x2894, 0x2895, 0x2896, 0x2897, 0x2898,
1289
0x2899, 0x289a, 0x289b, 0x289c, 0x289d, 0x289e, 0x289f, 0x28c0,
1290
0x28c1, 0x28c2, 0x28c3, 0x28c4, 0x28c5, 0x28c6, 0x28c7, 0x28c8,
1291
0x28c9, 0x28ca, 0x28cb, 0x2930, 0x2931, 0x2932, 0x2933, 0x2934,
1292
0x2935, 0x2936, 0x2937, 0x2938, 0x2939, 0x293a, 0x293b, 0x293c,
1293
0x293d, 0x293e, 0x293f, 0x2960, 0x2961, 0x2962, 0x2963, 0x2964,
1294
0x2965, 0x2966, 0x2967, 0x2968, 0x2969, 0x296a, 0x296b, 0x2a40,
1295
0x2a41, 0x2a42, 0x2a43, 0x2a44, 0x2a45, 0x2a46, 0x2a47, 0x2a48,
1296
0x2a49, 0x2a4a, 0x2a4b, 0x2a4c, 0x2a4d, 0x2a4e, 0x2a4f, 0x2a50,
1297
0x2a51, 0x2a52, 0x2a53, 0x2ae6, 0x2ae7, 0x2b24, 0x2b25, 0x2b26,
1298
0x2b27, 0x2b28, 0x2b29, 0x2b2a, 0x2b2b, 0x2b2c, 0x2b2d, 0x2b2e,
1299
0x2b2f, 0x2b30, 0x2b31, 0x2b32, 0x2b33, 0x2b5a, 0x2b5b, 0x3014,
1300
0x3015, 0x3016, 0x3017, 0x3020, 0x3021, 0x3022, 0x3023, 0x3024,
1301
0x3025, 0x3026, 0x3027, 0x3028, 0x3029, 0x302a, 0x302b, 0x302c,
1302
0x302d, 0x302e, 0x302f, 0x3030, 0x3031, 0x3032, 0x3033, 0x3034,
1303
0x3035, 0x3036, 0x3037, 0x3038, 0x3039, 0x30c0, 0x30c1, 0x30de,
1304
0x30df, 0x3218, 0x3219, 0x321a, 0x321b, 0x321c, 0x321d, 0x321e,
1305
0x321f, 0x3220, 0x3221, 0x3222, 0x3223, 0x3224, 0x3225, 0x3226,
1306
0x3227, 0x3228, 0x3229, 0x322a, 0x322b, 0x322c, 0x322d, 0x322e,
1307
0x322f, 0x3230, 0x3231, 0x3232, 0x3233, 0x3234, 0x3235, 0x3378,
1308
0x3379, 0x337a, 0x337b, 0x337c, 0x337d, 0x337e, 0x337f, 0x33c0,
1309
0x33c1, 0x33c2, 0x33c3, 0x33c4, 0x33c5, 0x33c6, 0x33c7, 0x33c8,
1310
0x33c9, 0x33ca, 0x33cb, 0x33cc, 0x33cd, 0x33ce, 0x33cf, 0x33d0,
1311
0x33d1, 0x33d2, 0x33d3, 0x33d4, 0x33d5, 0x33d6, 0x33d7, 0x33d8,
1312
0x33d9, 0x3706, 0x3707, 0x3730, 0x3731, 0x3732, 0x3733, 0x3734,
1313
0x3735, 0x3736, 0x3737, 0x3738, 0x3739, 0x373a, 0x373b, 0x373c,
1314
0x373d, 0x373e, 0x373f, 0x3740, 0x3741, 0x3742, 0x3743, 0x3744,
1315
0x3745, 0x3746, 0x3747, 0x3748, 0x3749, 0x374a, 0x374b, 0x374c,
1316
0x374d, 0x374e, 0x374f, 0x3b34, 0x3b35, 0x3b36, 0x3b37, 0x3be8,
1317
0x3be9, 0x3bea, 0x3beb, 0x3bec, 0x3bed, 0x3bee, 0x3bef, 0x3bf0,
1318
0x3bf1, 0x3bf2, 0x3bf3, 0x3bf4, 0x3bf5, 0x3bf6, 0x3bf7, 0x3bf8,
1319
0x3bf9, 0x3bfa, 0x3bfb, 0x3bfc, 0x3bfd, 0x3bfe, 0x3bff, 0x2000,
1320
0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008,
1321
0x2009, 0x200a, 0x200b, 0x200c, 0x200d, 0x202e, 0x202f, 0x2182,
1322
0x2183, 0x21b4, 0x21b5, 0x21b6, 0x21b7, 0x21b8, 0x21b9, 0x21ba,
1323
0x21bb, 0x21bc, 0x21bd, 0x21be, 0x21bf, 0x2460, 0x2461, 0x2462,
1324
0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246a,
1325
0x246b, 0x246c, 0x246d, 0x246e, 0x246f, 0x2470, 0x2471, 0x2472,
1326
0x2473, 0x26a2, 0x26a3, 0x000b,
1329
const UINT8 table1_mv_bits[1100] = {
1330
2, 4, 4, 4, 5, 5, 5, 5,
1331
6, 6, 7, 7, 7, 7, 7, 8,
1332
8, 8, 8, 8, 8, 8, 8, 8,
1333
8, 8, 8, 8, 8, 8, 8, 8,
1334
8, 9, 9, 9, 9, 9, 9, 9,
1335
9, 9, 9, 9, 9, 9, 9, 9,
1336
9, 9, 9, 9, 9, 10, 10, 10,
1337
10, 10, 10, 10, 10, 10, 10, 10,
1338
10, 10, 10, 10, 10, 10, 10, 10,
1339
10, 10, 10, 10, 10, 10, 10, 10,
1340
10, 10, 10, 10, 10, 10, 10, 10,
1341
10, 10, 10, 10, 10, 10, 10, 10,
1342
10, 10, 10, 10, 10, 10, 10, 10,
1343
10, 10, 10, 10, 10, 10, 10, 10,
1344
10, 10, 10, 11, 11, 11, 11, 11,
1345
11, 11, 11, 11, 11, 11, 11, 11,
1346
11, 11, 11, 11, 11, 11, 11, 11,
1347
11, 11, 11, 11, 11, 11, 11, 11,
1348
11, 11, 11, 11, 11, 11, 11, 11,
1349
11, 11, 11, 11, 11, 11, 11, 11,
1350
11, 11, 11, 11, 11, 11, 11, 11,
1351
11, 11, 11, 11, 11, 11, 11, 11,
1352
11, 11, 11, 11, 11, 11, 11, 11,
1353
11, 11, 11, 11, 11, 11, 11, 11,
1354
11, 11, 11, 12, 12, 12, 12, 12,
1355
12, 12, 12, 12, 12, 12, 12, 12,
1356
12, 12, 12, 12, 12, 12, 12, 12,
1357
12, 12, 12, 12, 12, 12, 12, 12,
1358
12, 12, 12, 12, 12, 12, 12, 12,
1359
12, 12, 12, 12, 12, 12, 12, 12,
1360
12, 12, 12, 12, 12, 12, 12, 12,
1361
12, 12, 12, 12, 12, 12, 12, 12,
1362
12, 12, 12, 12, 12, 12, 12, 12,
1363
12, 12, 12, 12, 12, 12, 12, 12,
1364
12, 12, 12, 12, 12, 12, 12, 12,
1365
12, 12, 12, 12, 12, 12, 12, 12,
1366
12, 12, 12, 12, 12, 12, 12, 12,
1367
12, 12, 12, 12, 12, 12, 12, 12,
1368
12, 12, 12, 12, 12, 12, 12, 12,
1369
12, 12, 12, 12, 12, 12, 12, 12,
1370
12, 12, 12, 12, 12, 12, 12, 12,
1371
12, 12, 13, 13, 13, 13, 13, 13,
1372
13, 13, 13, 13, 13, 13, 13, 13,
1373
13, 13, 13, 13, 13, 13, 13, 13,
1374
13, 13, 13, 13, 13, 13, 13, 13,
1375
13, 13, 13, 13, 13, 13, 13, 13,
1376
13, 13, 13, 13, 13, 13, 13, 13,
1377
13, 13, 13, 13, 13, 13, 13, 13,
1378
13, 13, 13, 13, 13, 13, 13, 13,
1379
13, 13, 13, 13, 13, 13, 13, 13,
1380
13, 13, 13, 13, 13, 13, 13, 13,
1381
13, 13, 13, 13, 13, 13, 13, 13,
1382
13, 13, 13, 13, 13, 13, 13, 13,
1383
13, 13, 13, 13, 13, 13, 13, 13,
1384
13, 13, 13, 13, 13, 13, 13, 13,
1385
13, 13, 13, 13, 13, 13, 13, 13,
1386
13, 13, 13, 13, 13, 13, 13, 13,
1387
13, 13, 13, 13, 13, 13, 13, 13,
1388
13, 13, 13, 13, 13, 13, 13, 13,
1389
13, 13, 13, 13, 13, 13, 13, 13,
1390
13, 13, 13, 13, 13, 13, 13, 13,
1391
13, 13, 13, 13, 13, 13, 13, 13,
1392
13, 13, 13, 13, 13, 13, 13, 13,
1393
13, 13, 13, 13, 13, 13, 13, 13,
1394
13, 13, 13, 13, 13, 13, 13, 13,
1395
13, 13, 13, 13, 13, 13, 13, 13,
1396
13, 13, 13, 13, 13, 13, 13, 13,
1397
13, 13, 13, 13, 13, 13, 13, 13,
1398
13, 13, 13, 13, 13, 13, 13, 13,
1399
13, 13, 13, 13, 13, 13, 13, 13,
1400
13, 13, 13, 13, 13, 13, 13, 13,
1401
13, 13, 13, 13, 13, 13, 13, 13,
1402
13, 13, 13, 13, 13, 13, 13, 13,
1403
13, 13, 13, 13, 13, 13, 13, 13,
1404
13, 13, 13, 13, 13, 13, 13, 13,
1405
13, 13, 13, 13, 13, 13, 13, 13,
1406
13, 13, 13, 13, 13, 13, 13, 14,
1407
14, 14, 14, 14, 14, 14, 14, 14,
1408
14, 14, 14, 14, 14, 14, 14, 14,
1409
14, 14, 14, 14, 14, 14, 14, 14,
1410
14, 14, 14, 14, 14, 14, 14, 14,
1411
14, 14, 14, 14, 14, 14, 14, 14,
1412
14, 14, 14, 14, 14, 14, 14, 14,
1413
14, 14, 14, 14, 14, 14, 14, 14,
1414
14, 14, 14, 14, 14, 14, 14, 14,
1415
14, 14, 14, 14, 14, 14, 14, 14,
1416
14, 14, 14, 14, 14, 14, 14, 14,
1417
14, 14, 14, 14, 14, 14, 14, 14,
1418
14, 14, 14, 14, 14, 14, 14, 14,
1419
14, 14, 14, 14, 14, 14, 14, 14,
1420
14, 14, 14, 14, 14, 14, 14, 14,
1421
14, 14, 14, 14, 14, 14, 14, 14,
1422
14, 14, 14, 14, 14, 14, 14, 14,
1423
14, 14, 14, 14, 14, 14, 14, 14,
1424
14, 14, 14, 14, 14, 14, 14, 14,
1425
14, 14, 14, 14, 14, 14, 14, 14,
1426
14, 14, 14, 14, 14, 14, 14, 14,
1427
14, 14, 14, 14, 14, 14, 14, 14,
1428
14, 14, 14, 14, 14, 14, 14, 14,
1429
14, 14, 14, 14, 14, 14, 14, 14,
1430
14, 14, 14, 14, 14, 14, 14, 14,
1431
14, 14, 14, 14, 14, 14, 14, 14,
1432
14, 14, 14, 14, 14, 14, 14, 14,
1433
14, 14, 14, 14, 14, 14, 14, 14,
1434
14, 14, 14, 14, 14, 14, 14, 14,
1435
14, 14, 14, 14, 14, 14, 14, 14,
1436
14, 14, 14, 14, 14, 14, 14, 14,
1437
14, 14, 14, 14, 14, 14, 14, 14,
1438
14, 14, 14, 14, 14, 14, 14, 14,
1439
14, 14, 14, 14, 14, 14, 14, 14,
1440
14, 14, 14, 14, 14, 14, 14, 14,
1441
14, 14, 14, 14, 14, 14, 14, 14,
1442
14, 14, 14, 14, 14, 14, 14, 14,
1443
14, 14, 14, 14, 14, 14, 14, 14,
1444
14, 14, 14, 14, 14, 14, 14, 14,
1445
14, 14, 14, 14, 14, 14, 14, 14,
1446
14, 14, 14, 14, 14, 14, 14, 14,
1447
14, 14, 14, 14, 14, 14, 14, 14,
1448
14, 14, 14, 14, 14, 14, 14, 14,
1449
14, 14, 14, 14, 14, 14, 14, 14,
1450
14, 14, 14, 14, 14, 14, 14, 14,
1451
14, 14, 14, 14, 14, 14, 14, 14,
1452
14, 14, 14, 14, 14, 14, 14, 14,
1453
14, 14, 14, 14, 14, 14, 14, 14,
1454
14, 14, 14, 14, 14, 14, 14, 14,
1455
14, 14, 14, 14, 14, 14, 14, 14,
1456
14, 14, 14, 14, 14, 14, 14, 14,
1457
14, 14, 14, 14, 14, 14, 14, 14,
1458
14, 14, 14, 14, 14, 14, 14, 14,
1459
14, 14, 14, 14, 14, 14, 14, 14,
1460
14, 14, 14, 14, 14, 14, 14, 15,
1461
15, 15, 15, 15, 15, 15, 15, 15,
1462
15, 15, 15, 15, 15, 15, 15, 15,
1463
15, 15, 15, 15, 15, 15, 15, 15,
1464
15, 15, 15, 15, 15, 15, 15, 15,
1465
15, 15, 15, 15, 15, 15, 15, 15,
1466
15, 15, 15, 15, 15, 15, 15, 15,
1470
const UINT8 table1_mvx[1099] = {
1471
32, 31, 32, 31, 33, 32, 33, 33,
1472
31, 34, 30, 32, 32, 34, 35, 32,
1473
34, 33, 29, 30, 30, 32, 31, 31,
1474
33, 35, 35, 33, 31, 29, 29, 33,
1475
34, 30, 31, 28, 36, 30, 34, 32,
1476
32, 37, 32, 32, 25, 27, 39, 32,
1477
32, 32, 38, 35, 36, 32, 37, 61,
1478
26, 32, 34, 35, 3, 35, 27, 28,
1479
29, 34, 28, 37, 31, 36, 32, 27,
1480
31, 30, 29, 39, 33, 29, 33, 35,
1481
25, 25, 29, 33, 31, 31, 31, 33,
1482
32, 30, 32, 32, 41, 39, 33, 36,
1483
32, 28, 34, 36, 38, 24, 60, 31,
1484
23, 28, 32, 33, 59, 32, 40, 30,
1485
5, 34, 32, 38, 32, 30, 43, 4,
1486
32, 32, 42, 31, 31, 32, 26, 38,
1487
26, 22, 21, 37, 61, 63, 37, 31,
1488
32, 33, 2, 1, 23, 33, 41, 27,
1489
35, 30, 38, 23, 33, 3, 28, 34,
1490
34, 27, 41, 29, 39, 35, 36, 29,
1491
32, 27, 30, 32, 24, 61, 37, 26,
1492
59, 25, 35, 27, 36, 37, 30, 31,
1493
34, 40, 3, 28, 34, 39, 32, 31,
1494
32, 30, 24, 28, 35, 36, 26, 32,
1495
31, 33, 29, 33, 39, 25, 30, 24,
1496
35, 59, 29, 34, 25, 30, 21, 35,
1497
43, 40, 32, 29, 5, 28, 31, 62,
1498
33, 33, 25, 31, 21, 31, 43, 31,
1499
34, 33, 20, 40, 39, 31, 31, 57,
1500
38, 32, 42, 33, 32, 31, 32, 29,
1501
30, 44, 5, 31, 22, 34, 36, 17,
1502
38, 58, 38, 35, 32, 60, 35, 24,
1503
32, 38, 16, 45, 42, 32, 31, 29,
1504
4, 30, 17, 40, 46, 48, 63, 32,
1505
42, 19, 41, 22, 28, 36, 45, 33,
1506
33, 32, 29, 7, 41, 42, 18, 33,
1507
33, 32, 22, 37, 1, 26, 22, 23,
1508
49, 28, 26, 27, 32, 33, 27, 23,
1509
28, 36, 15, 6, 34, 27, 31, 26,
1510
23, 2, 33, 32, 34, 41, 28, 32,
1511
41, 0, 36, 38, 34, 31, 47, 32,
1512
17, 31, 39, 33, 37, 51, 30, 47,
1513
32, 50, 32, 19, 63, 30, 25, 27,
1514
33, 62, 24, 31, 27, 30, 37, 31,
1515
45, 32, 39, 20, 46, 47, 35, 19,
1516
34, 1, 49, 21, 21, 14, 51, 26,
1517
23, 31, 36, 35, 58, 29, 29, 21,
1518
20, 42, 13, 28, 12, 40, 31, 33,
1519
39, 60, 32, 44, 33, 31, 28, 37,
1520
29, 32, 30, 49, 43, 28, 39, 25,
1521
32, 48, 2, 15, 20, 25, 31, 28,
1522
21, 24, 25, 15, 31, 17, 37, 43,
1523
18, 32, 33, 24, 33, 36, 13, 33,
1524
31, 39, 11, 31, 33, 32, 39, 37,
1525
32, 32, 29, 17, 44, 46, 36, 35,
1526
26, 37, 58, 32, 34, 38, 8, 38,
1527
38, 22, 29, 25, 16, 35, 32, 35,
1528
33, 43, 18, 46, 38, 50, 33, 18,
1529
53, 60, 13, 32, 36, 33, 51, 36,
1530
43, 45, 27, 42, 29, 24, 30, 25,
1531
31, 52, 31, 35, 38, 9, 22, 34,
1532
4, 17, 28, 55, 42, 25, 17, 20,
1533
47, 34, 33, 16, 40, 25, 16, 30,
1534
53, 29, 10, 11, 14, 26, 33, 4,
1535
35, 44, 26, 16, 31, 26, 34, 38,
1536
29, 31, 30, 24, 22, 61, 32, 9,
1537
45, 34, 31, 19, 9, 31, 46, 31,
1538
35, 54, 29, 57, 30, 50, 3, 31,
1539
63, 34, 47, 41, 51, 18, 31, 14,
1540
37, 38, 31, 24, 32, 31, 50, 33,
1541
31, 54, 27, 9, 33, 23, 19, 32,
1542
29, 29, 33, 28, 47, 49, 30, 47,
1543
33, 27, 25, 54, 44, 45, 50, 58,
1544
51, 48, 33, 59, 33, 34, 57, 13,
1545
26, 33, 13, 48, 30, 11, 7, 56,
1546
34, 55, 26, 0, 26, 35, 1, 51,
1547
33, 53, 31, 45, 12, 29, 29, 51,
1548
31, 48, 2, 6, 34, 30, 28, 33,
1549
60, 40, 27, 46, 31, 9, 35, 29,
1550
31, 39, 55, 46, 19, 37, 62, 34,
1551
30, 16, 19, 49, 41, 41, 39, 37,
1552
14, 5, 13, 35, 55, 30, 40, 40,
1553
42, 8, 20, 25, 45, 35, 33, 36,
1554
54, 38, 27, 37, 62, 40, 15, 59,
1555
49, 31, 29, 34, 34, 39, 24, 29,
1556
25, 29, 21, 29, 10, 61, 33, 49,
1557
35, 34, 3, 38, 39, 29, 7, 41,
1558
1, 35, 4, 23, 15, 23, 11, 37,
1559
28, 35, 30, 30, 24, 1, 43, 56,
1560
8, 34, 42, 24, 45, 30, 20, 23,
1561
8, 38, 22, 33, 17, 52, 34, 22,
1562
53, 43, 44, 1, 27, 31, 41, 43,
1563
41, 30, 31, 36, 30, 5, 55, 31,
1564
33, 30, 40, 23, 15, 29, 34, 34,
1565
59, 34, 30, 11, 13, 38, 5, 0,
1566
30, 42, 5, 30, 29, 34, 10, 44,
1567
30, 63, 35, 12, 3, 26, 15, 17,
1568
25, 34, 43, 39, 34, 56, 29, 23,
1569
30, 12, 30, 10, 35, 9, 24, 58,
1570
10, 12, 54, 33, 37, 20, 41, 35,
1571
29, 18, 61, 30, 40, 24, 39, 53,
1572
62, 26, 29, 33, 34, 53, 49, 21,
1573
27, 11, 63, 20, 26, 23, 7, 13,
1574
6, 47, 29, 30, 9, 51, 22, 34,
1575
21, 25, 33, 56, 57, 30, 38, 51,
1576
51, 38, 63, 28, 40, 35, 33, 18,
1577
33, 33, 24, 58, 58, 34, 49, 29,
1578
43, 4, 1, 4, 42, 35, 35, 30,
1579
17, 5, 56, 61, 25, 37, 36, 55,
1580
28, 35, 29, 50, 48, 52, 2, 42,
1581
34, 40, 46, 46, 43, 35, 29, 48,
1582
20, 29, 31, 41, 7, 30, 35, 19,
1583
14, 21, 8, 39, 39, 40, 46, 55,
1584
34, 6, 30, 34, 37, 25, 37, 33,
1585
22, 44, 52, 17, 35, 29, 36, 35,
1586
40, 37, 28, 30, 50, 14, 28, 55,
1587
6, 23, 19, 14, 30, 3, 30, 28,
1588
28, 61, 61, 47, 45, 48, 40, 40,
1589
34, 34, 25, 30, 29, 35, 4, 26,
1590
53, 50, 26, 41, 27, 59, 27, 38,
1591
39, 3, 50, 43, 47, 23, 33, 55,
1592
35, 21, 23, 35, 61, 33, 46, 52,
1593
35, 34, 24, 30, 43, 16, 37, 21,
1594
2, 24, 45, 34, 30, 55, 55, 1,
1595
29, 29, 26, 28, 25, 31, 36, 22,
1596
17, 30, 52, 2, 44, 44, 57, 26,
1597
62, 41, 39, 57, 26, 46, 49, 11,
1598
16, 19, 5, 59, 38, 39, 58, 38,
1599
25, 49, 50, 22, 28, 59, 9, 59,
1600
7, 28, 55, 17, 4, 35, 50, 21,
1601
29, 44, 47, 18, 24, 19, 25, 42,
1602
35, 3, 51, 35, 16, 35, 30, 63,
1603
57, 39, 39, 25, 35, 38, 9, 16,
1604
36, 45, 31, 60, 14, 34, 42, 24,
1605
0, 37, 18, 61, 57, 37, 28, 53,
1606
20, 46, 14, 47, 38, 38, 38, 9,
1607
34, 39, 43, 17, 39, 59, 5, 27,
1611
const UINT8 table1_mvy[1099] = {
1612
32, 32, 31, 31, 32, 33, 31, 33,
1613
33, 32, 32, 30, 34, 31, 32, 29,
1614
33, 30, 32, 33, 31, 35, 34, 30,
1615
34, 31, 33, 29, 29, 31, 33, 35,
1616
30, 30, 35, 32, 32, 34, 34, 28,
1617
25, 32, 36, 27, 32, 32, 32, 37,
1618
39, 3, 32, 30, 31, 26, 31, 32,
1619
32, 38, 29, 29, 32, 34, 31, 31,
1620
34, 35, 33, 33, 28, 33, 1, 33,
1621
27, 29, 30, 31, 28, 29, 37, 35,
1622
31, 33, 35, 27, 36, 37, 25, 25,
1623
61, 35, 4, 5, 32, 33, 36, 30,
1624
23, 30, 28, 34, 31, 32, 32, 39,
1625
32, 34, 21, 39, 32, 59, 32, 28,
1626
32, 36, 60, 33, 24, 36, 32, 32,
1627
41, 2, 32, 38, 26, 22, 33, 30,
1628
31, 32, 32, 30, 31, 32, 29, 3,
1629
40, 38, 32, 32, 33, 26, 31, 34,
1630
28, 38, 34, 31, 3, 31, 35, 38,
1631
27, 35, 33, 28, 29, 27, 29, 27,
1632
43, 29, 37, 63, 31, 33, 34, 30,
1633
31, 30, 37, 30, 35, 35, 26, 41,
1634
37, 31, 33, 28, 26, 30, 42, 24,
1635
7, 27, 33, 29, 36, 28, 34, 57,
1636
23, 41, 36, 23, 35, 34, 25, 30,
1637
25, 33, 25, 25, 29, 24, 33, 39,
1638
33, 33, 0, 37, 31, 36, 21, 32,
1639
61, 24, 35, 61, 31, 5, 31, 59,
1640
39, 21, 32, 30, 34, 22, 40, 32,
1641
29, 16, 31, 5, 62, 2, 20, 39,
1642
39, 32, 33, 1, 31, 24, 36, 32,
1643
36, 32, 28, 26, 6, 31, 38, 34,
1644
58, 35, 32, 33, 33, 17, 43, 26,
1645
31, 40, 31, 34, 32, 32, 31, 19,
1646
30, 32, 29, 33, 38, 38, 32, 59,
1647
40, 18, 38, 32, 35, 34, 32, 17,
1648
1, 15, 30, 28, 31, 28, 34, 29,
1649
32, 27, 35, 27, 49, 22, 37, 34,
1650
37, 26, 32, 32, 22, 28, 45, 29,
1651
30, 31, 43, 46, 41, 30, 26, 13,
1652
34, 32, 27, 38, 42, 42, 33, 47,
1653
33, 60, 27, 42, 25, 32, 22, 32,
1654
48, 32, 45, 33, 33, 41, 27, 25,
1655
19, 31, 35, 19, 36, 42, 27, 17,
1656
31, 44, 28, 33, 33, 31, 23, 31,
1657
40, 33, 31, 34, 30, 32, 33, 36,
1658
35, 47, 37, 41, 31, 23, 41, 29,
1659
30, 35, 32, 25, 32, 28, 58, 2,
1660
37, 33, 14, 33, 49, 20, 39, 36,
1661
21, 9, 23, 33, 35, 24, 39, 37,
1662
11, 33, 30, 31, 31, 28, 51, 40,
1663
35, 29, 25, 33, 46, 35, 37, 30,
1664
30, 8, 63, 28, 15, 40, 33, 45,
1665
49, 25, 32, 4, 47, 51, 36, 39,
1666
53, 10, 24, 29, 30, 31, 25, 40,
1667
38, 38, 33, 56, 23, 27, 32, 37,
1668
26, 29, 43, 36, 33, 24, 55, 43,
1669
9, 29, 34, 34, 24, 33, 18, 33,
1670
33, 30, 31, 50, 24, 60, 30, 39,
1671
34, 30, 39, 28, 22, 38, 2, 26,
1672
63, 32, 57, 21, 39, 33, 28, 18,
1673
30, 34, 22, 33, 29, 41, 30, 34,
1674
35, 21, 13, 34, 35, 39, 30, 46,
1675
32, 42, 32, 31, 33, 26, 11, 33,
1676
22, 31, 25, 31, 53, 27, 43, 25,
1677
40, 50, 21, 36, 38, 30, 12, 31,
1678
34, 20, 15, 29, 32, 62, 30, 13,
1679
17, 32, 19, 31, 20, 31, 30, 7,
1680
1, 17, 34, 37, 31, 31, 44, 34,
1681
26, 40, 16, 37, 52, 48, 30, 20,
1682
18, 33, 38, 29, 7, 25, 30, 54,
1683
45, 47, 46, 41, 29, 29, 16, 30,
1684
14, 26, 38, 34, 34, 29, 34, 30,
1685
29, 30, 57, 30, 4, 46, 33, 29,
1686
39, 44, 30, 31, 50, 33, 31, 32,
1687
19, 32, 40, 31, 37, 47, 1, 35,
1688
16, 31, 0, 35, 33, 1, 17, 34,
1689
9, 34, 33, 31, 49, 43, 42, 51,
1690
34, 29, 23, 29, 14, 30, 45, 49,
1691
11, 24, 31, 28, 35, 41, 30, 44,
1692
18, 29, 34, 35, 36, 25, 26, 21,
1693
31, 30, 34, 19, 34, 44, 36, 38,
1694
25, 31, 28, 23, 37, 3, 55, 41,
1695
30, 22, 41, 24, 33, 26, 35, 35,
1696
30, 55, 51, 47, 48, 38, 24, 15,
1697
21, 50, 25, 46, 30, 29, 10, 34,
1698
42, 45, 29, 42, 22, 3, 33, 27,
1699
34, 1, 34, 28, 34, 36, 35, 23,
1700
23, 13, 58, 3, 26, 63, 25, 31,
1701
34, 61, 38, 39, 25, 61, 29, 37,
1702
30, 41, 26, 48, 28, 33, 50, 35,
1703
30, 37, 29, 29, 40, 6, 39, 28,
1704
28, 19, 8, 22, 45, 34, 35, 10,
1705
58, 17, 37, 39, 30, 18, 54, 14,
1706
29, 16, 59, 30, 35, 23, 35, 30,
1707
47, 36, 29, 55, 20, 12, 31, 35,
1708
14, 29, 18, 34, 34, 24, 29, 26,
1709
22, 2, 27, 23, 8, 30, 55, 38,
1710
60, 31, 4, 34, 49, 34, 27, 34,
1711
33, 30, 31, 54, 42, 35, 38, 46,
1712
44, 26, 27, 9, 39, 25, 21, 29,
1713
28, 42, 13, 0, 5, 34, 37, 28,
1714
24, 29, 63, 26, 22, 27, 29, 25,
1715
33, 25, 61, 0, 35, 25, 36, 15,
1716
27, 40, 53, 33, 3, 10, 16, 37,
1717
38, 18, 30, 46, 27, 9, 6, 29,
1718
62, 8, 42, 28, 29, 3, 25, 16,
1719
26, 29, 35, 28, 27, 51, 61, 48,
1720
37, 9, 34, 7, 49, 45, 20, 29,
1721
21, 5, 5, 29, 28, 34, 29, 24,
1722
10, 24, 35, 36, 38, 55, 11, 36,
1723
38, 53, 54, 26, 30, 49, 20, 27,
1724
30, 39, 33, 41, 49, 22, 38, 38,
1725
4, 30, 8, 9, 3, 24, 22, 50,
1726
37, 36, 31, 27, 2, 9, 42, 63,
1727
25, 19, 44, 1, 28, 28, 48, 30,
1728
34, 41, 41, 38, 12, 27, 15, 0,
1729
16, 34, 35, 38, 28, 29, 40, 42,
1730
51, 52, 45, 54, 59, 59, 42, 44,
1731
37, 26, 46, 24, 15, 39, 22, 46,
1732
19, 35, 38, 17, 37, 23, 52, 55,
1733
50, 37, 26, 11, 37, 12, 24, 30,
1734
16, 13, 22, 13, 36, 35, 40, 41,
1735
34, 41, 26, 53, 51, 5, 21, 30,
1736
2, 63, 41, 20, 1, 56, 21, 24,
1737
25, 5, 28, 35, 26, 28, 30, 18,
1738
29, 23, 40, 34, 20, 42, 39, 34,
1739
28, 61, 38, 27, 62, 9, 36, 17,
1740
9, 49, 24, 25, 54, 34, 39, 37,
1741
3, 1, 25, 38, 38, 44, 35, 36,
1742
12, 60, 36, 38, 40, 25, 43, 39,
1743
53, 28, 39, 57, 46, 10, 52, 27,
1744
35, 42, 45, 59, 15, 60, 38, 24,
1745
23, 39, 12, 29, 24, 0, 20, 16,
1746
28, 43, 35, 28, 1, 49, 4, 21,
1747
42, 39, 29, 3, 44, 21, 53, 55,
1748
11, 5, 3, 39, 53, 28, 25, 19,
1752
static MVTable mv_tables[2] = {