5 /* intra picture macro block coded block pattern */
6 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 extern const UINT8 DCtab_lum[13][2];
573 extern const UINT8 DCtab_chrom[13][2];
575 extern const UINT8 cbpy_tab[16][2];
576 extern const UINT8 mvtab[33][2];
578 extern const UINT8 intra_MCBPC_code[8];
579 extern const UINT8 intra_MCBPC_bits[8];
581 extern const UINT8 inter_MCBPC_code[25];
582 extern const UINT8 inter_MCBPC_bits[25];
584 #define NB_RL_TABLES 6
586 static RLTable rl_table[NB_RL_TABLES] = {
587 /* intra luminance tables */
609 /* intra chrominance / non intra tables */
633 /* motion vector table 0 */
635 static const UINT16 table0_mv_code[1100] = {
636 0x0001, 0x0003, 0x0005, 0x0007, 0x0003, 0x0008, 0x000c, 0x0001,
637 0x0002, 0x001b, 0x0006, 0x000b, 0x0015, 0x0002, 0x000e, 0x000f,
638 0x0014, 0x0020, 0x0022, 0x0025, 0x0027, 0x0029, 0x002d, 0x004b,
639 0x004d, 0x0003, 0x0022, 0x0023, 0x0025, 0x0027, 0x0042, 0x0048,
640 0x0049, 0x0050, 0x005c, 0x0091, 0x009f, 0x000e, 0x0043, 0x004c,
641 0x0054, 0x0056, 0x008c, 0x0098, 0x009a, 0x009b, 0x00b1, 0x00b2,
642 0x0120, 0x0121, 0x0126, 0x0133, 0x0139, 0x01a1, 0x01a4, 0x01a5,
643 0x01a6, 0x01a7, 0x01ae, 0x01af, 0x000b, 0x0019, 0x0085, 0x0090,
644 0x009b, 0x00aa, 0x00af, 0x010c, 0x010e, 0x011c, 0x011e, 0x0133,
645 0x0144, 0x0160, 0x0174, 0x0175, 0x0177, 0x0178, 0x0249, 0x024b,
646 0x0252, 0x0261, 0x0265, 0x0270, 0x0352, 0x0353, 0x0355, 0x0359,
647 0x0010, 0x0011, 0x0013, 0x0034, 0x0035, 0x0036, 0x0037, 0x003d,
648 0x003e, 0x0109, 0x0126, 0x0156, 0x021a, 0x021e, 0x023a, 0x023e,
649 0x028e, 0x028f, 0x02cf, 0x0491, 0x0494, 0x049f, 0x04a0, 0x04a3,
650 0x04a6, 0x04a7, 0x04ad, 0x04ae, 0x04c0, 0x04c4, 0x04c6, 0x04c8,
651 0x04c9, 0x04f5, 0x04f6, 0x04f7, 0x0680, 0x0682, 0x0683, 0x0688,
652 0x0689, 0x068d, 0x068e, 0x068f, 0x06a2, 0x06a3, 0x06a9, 0x06b0,
653 0x06b1, 0x06b4, 0x06b5, 0x0024, 0x0060, 0x0063, 0x0078, 0x0079,
654 0x0211, 0x0244, 0x0245, 0x0247, 0x0248, 0x0249, 0x024a, 0x024b,
655 0x026b, 0x02af, 0x02b8, 0x02bb, 0x0436, 0x0476, 0x0477, 0x047e,
656 0x04c8, 0x04c9, 0x04ca, 0x0514, 0x0586, 0x0587, 0x0598, 0x059d,
657 0x05d9, 0x05da, 0x0920, 0x0921, 0x093b, 0x093c, 0x093d, 0x0942,
658 0x0943, 0x0944, 0x0945, 0x0959, 0x095e, 0x095f, 0x0982, 0x0983,
659 0x098e, 0x098f, 0x09c4, 0x09e7, 0x09e8, 0x09e9, 0x0d02, 0x0d17,
660 0x0d18, 0x0d19, 0x0d41, 0x0d42, 0x0d43, 0x0d50, 0x0d5f, 0x0d6d,
661 0x0d6e, 0x0d6f, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
662 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x041e, 0x041f, 0x0420, 0x0421,
663 0x048c, 0x048d, 0x04d3, 0x04d4, 0x04d5, 0x055c, 0x055d, 0x0572,
664 0x0573, 0x0574, 0x0575, 0x08de, 0x08df, 0x08fe, 0x08ff, 0x0996,
665 0x0a36, 0x0a37, 0x0b08, 0x0b09, 0x0b0a, 0x0b0b, 0x0b32, 0x0b33,
666 0x0b34, 0x0b35, 0x0b36, 0x0b37, 0x0b38, 0x0b39, 0x0bb0, 0x0bf7,
667 0x0bf8, 0x0bf9, 0x0bfa, 0x0bfb, 0x0bfc, 0x0bfd, 0x0bfe, 0x0bff,
668 0x1254, 0x1255, 0x1256, 0x1257, 0x1270, 0x1271, 0x1272, 0x1273,
669 0x1274, 0x1275, 0x12ab, 0x12ac, 0x12ad, 0x12ae, 0x12af, 0x12b0,
670 0x12b1, 0x1315, 0x1316, 0x1317, 0x13bf, 0x13c0, 0x13c1, 0x13c2,
671 0x13c3, 0x13c4, 0x13c5, 0x13c6, 0x13c7, 0x13c8, 0x13c9, 0x13ca,
672 0x13cb, 0x13cc, 0x13cd, 0x1a06, 0x1a07, 0x1a28, 0x1a29, 0x1a2a,
673 0x1a2b, 0x1a2c, 0x1a2d, 0x1a80, 0x1abb, 0x1abc, 0x1abd, 0x1ad8,
674 0x1ad9, 0x0094, 0x0095, 0x0096, 0x0097, 0x00a0, 0x00a1, 0x00a2,
675 0x00a3, 0x0831, 0x0832, 0x0833, 0x0834, 0x0835, 0x0836, 0x0837,
676 0x0838, 0x0839, 0x083a, 0x083b, 0x0939, 0x093a, 0x093b, 0x093c,
677 0x093d, 0x093e, 0x093f, 0x09a0, 0x09a1, 0x09a2, 0x09a3, 0x09a4,
678 0x09a5, 0x11ac, 0x11ad, 0x11ae, 0x11af, 0x11b0, 0x11b1, 0x11b2,
679 0x11b3, 0x11b4, 0x11b5, 0x11b6, 0x11b7, 0x11b8, 0x11b9, 0x11ba,
680 0x11bb, 0x132f, 0x1454, 0x1455, 0x1456, 0x1457, 0x1458, 0x1459,
681 0x145a, 0x145b, 0x145c, 0x145d, 0x145e, 0x145f, 0x1460, 0x1461,
682 0x1462, 0x1463, 0x1464, 0x1465, 0x1466, 0x1467, 0x1468, 0x1469,
683 0x146a, 0x146b, 0x17de, 0x17df, 0x17e0, 0x17e1, 0x17e2, 0x17e3,
684 0x17e4, 0x17e5, 0x17e6, 0x17e7, 0x17e8, 0x17e9, 0x17ea, 0x17eb,
685 0x17ec, 0x17ed, 0x2540, 0x2541, 0x2542, 0x2543, 0x2544, 0x2545,
686 0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x254b, 0x254c, 0x254d,
687 0x254e, 0x254f, 0x2550, 0x2551, 0x2552, 0x2553, 0x2554, 0x2555,
688 0x2628, 0x2766, 0x2767, 0x2768, 0x2769, 0x276a, 0x276b, 0x276c,
689 0x276d, 0x276e, 0x276f, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774,
690 0x2775, 0x2776, 0x2777, 0x2778, 0x2779, 0x277a, 0x277b, 0x277c,
691 0x277d, 0x3503, 0x3544, 0x3545, 0x3546, 0x3547, 0x3560, 0x3561,
692 0x3562, 0x3563, 0x3564, 0x3565, 0x3566, 0x3567, 0x3568, 0x3569,
693 0x356a, 0x356b, 0x356c, 0x356d, 0x356e, 0x356f, 0x3570, 0x3571,
694 0x3572, 0x3573, 0x3574, 0x3575, 0x03f0, 0x103d, 0x103e, 0x103f,
695 0x1040, 0x1041, 0x1042, 0x1043, 0x1044, 0x1045, 0x1046, 0x1047,
696 0x1048, 0x1049, 0x104a, 0x104b, 0x104c, 0x104d, 0x104e, 0x104f,
697 0x1050, 0x1051, 0x1052, 0x1053, 0x1054, 0x1055, 0x1056, 0x1057,
698 0x1058, 0x1059, 0x105a, 0x105b, 0x105c, 0x105d, 0x105e, 0x105f,
699 0x1060, 0x1061, 0x1270, 0x1271, 0x21b8, 0x21b9, 0x21ba, 0x21bb,
700 0x21bc, 0x21bd, 0x21be, 0x21bf, 0x21f0, 0x21f1, 0x21f2, 0x21f3,
701 0x21f4, 0x21f5, 0x21f6, 0x21f7, 0x21f8, 0x21f9, 0x21fa, 0x21fb,
702 0x21fc, 0x21fd, 0x21fe, 0x21ff, 0x2340, 0x2341, 0x2342, 0x2343,
703 0x2344, 0x2345, 0x2346, 0x2347, 0x2348, 0x2349, 0x234a, 0x234b,
704 0x234c, 0x234d, 0x234e, 0x234f, 0x2350, 0x2351, 0x2352, 0x2353,
705 0x2354, 0x2355, 0x2356, 0x2357, 0x265c, 0x2f88, 0x2f89, 0x2f8a,
706 0x2f8b, 0x2f8c, 0x2f8d, 0x2f8e, 0x2f8f, 0x2f90, 0x2f91, 0x2f92,
707 0x2f93, 0x2f94, 0x2f95, 0x2f96, 0x2f97, 0x2f98, 0x2f99, 0x2f9a,
708 0x2f9b, 0x2f9c, 0x2f9d, 0x2f9e, 0x2f9f, 0x2fa0, 0x2fa1, 0x2fa2,
709 0x2fa3, 0x2fa4, 0x2fa5, 0x2fa6, 0x2fa7, 0x2fa8, 0x2fa9, 0x2faa,
710 0x2fab, 0x2fac, 0x2fad, 0x2fae, 0x2faf, 0x2fb0, 0x2fb1, 0x2fb2,
711 0x2fb3, 0x2fb4, 0x2fb5, 0x2fb6, 0x2fb7, 0x2fb8, 0x2fb9, 0x2fba,
712 0x2fbb, 0x4c52, 0x4c53, 0x4e28, 0x4e29, 0x4e2a, 0x4e2b, 0x4e2c,
713 0x4e2d, 0x4e2e, 0x4e2f, 0x4e30, 0x4e31, 0x4e32, 0x4e33, 0x4e34,
714 0x4e35, 0x4e36, 0x4e37, 0x4e38, 0x4e39, 0x4e3a, 0x4e3b, 0x4e3c,
715 0x4e3d, 0x4e3e, 0x4e3f, 0x4e80, 0x4e81, 0x4e82, 0x4e83, 0x4e84,
716 0x4e85, 0x4e86, 0x4e87, 0x4e88, 0x4e89, 0x4e8a, 0x4e8b, 0x4e8c,
717 0x4e8d, 0x4e8e, 0x4e8f, 0x4e90, 0x4e91, 0x4e92, 0x4e93, 0x4e94,
718 0x4e95, 0x4e96, 0x4e97, 0x4e98, 0x4e99, 0x4e9a, 0x4e9b, 0x4e9c,
719 0x4e9d, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea1, 0x4ea2, 0x4ea3, 0x4ea4,
720 0x4ea5, 0x4ea6, 0x4ea7, 0x4ea8, 0x4ea9, 0x4eaa, 0x4eab, 0x4eac,
721 0x4ead, 0x4eae, 0x4eaf, 0x4eb0, 0x4eb1, 0x4eb2, 0x4eb3, 0x4eb4,
722 0x4eb5, 0x4eb6, 0x4eb7, 0x4eb8, 0x4eb9, 0x4eba, 0x4ebb, 0x4ebc,
723 0x4ebd, 0x4ebe, 0x4ebf, 0x4ec0, 0x4ec1, 0x4ec2, 0x4ec3, 0x4ec4,
724 0x4ec5, 0x4ec6, 0x4ec7, 0x4ec8, 0x4ec9, 0x4eca, 0x4ecb, 0x6a04,
725 0x6a05, 0x07e2, 0x07e3, 0x07e4, 0x07e5, 0x07e6, 0x07e7, 0x07e8,
726 0x07e9, 0x07ea, 0x07eb, 0x07ec, 0x07ed, 0x07ee, 0x07ef, 0x07f0,
727 0x07f1, 0x07f2, 0x07f3, 0x07f4, 0x07f5, 0x07f6, 0x07f7, 0x07f8,
728 0x07f9, 0x07fa, 0x07fb, 0x07fc, 0x07fd, 0x07fe, 0x07ff, 0x2000,
729 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008,
730 0x2009, 0x200a, 0x200b, 0x200c, 0x200d, 0x200e, 0x200f, 0x2010,
731 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2018,
732 0x2019, 0x201a, 0x201b, 0x201c, 0x201d, 0x201e, 0x201f, 0x2020,
733 0x2021, 0x2022, 0x2023, 0x2024, 0x2025, 0x2026, 0x2027, 0x2028,
734 0x2029, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x202f, 0x2030,
735 0x2031, 0x2032, 0x2033, 0x2034, 0x2035, 0x2036, 0x2037, 0x2038,
736 0x2039, 0x203a, 0x203b, 0x203c, 0x203d, 0x203e, 0x203f, 0x2040,
737 0x2041, 0x2042, 0x2043, 0x2044, 0x2045, 0x2046, 0x2047, 0x2048,
738 0x2049, 0x204a, 0x204b, 0x204c, 0x204d, 0x204e, 0x204f, 0x2050,
739 0x2051, 0x2052, 0x2053, 0x2054, 0x2055, 0x2056, 0x2057, 0x2058,
740 0x2059, 0x205a, 0x205b, 0x205c, 0x205d, 0x205e, 0x205f, 0x2060,
741 0x2061, 0x2062, 0x2063, 0x2064, 0x2065, 0x2066, 0x2067, 0x2068,
742 0x2069, 0x206a, 0x206b, 0x206c, 0x206d, 0x206e, 0x206f, 0x2070,
743 0x2071, 0x2072, 0x2073, 0x2074, 0x2075, 0x2076, 0x2077, 0x2078,
744 0x2079, 0x4cba, 0x4cbb, 0x5d88, 0x5d89, 0x5d8a, 0x5d8b, 0x5d8c,
745 0x5d8d, 0x5d8e, 0x5d8f, 0x5db0, 0x5db1, 0x5db2, 0x5db3, 0x5db4,
746 0x5db5, 0x5db6, 0x5db7, 0x5db8, 0x5db9, 0x5dba, 0x5dbb, 0x5dbc,
747 0x5dbd, 0x5dbe, 0x5dbf, 0x5e40, 0x5e41, 0x5e42, 0x5e43, 0x5e44,
748 0x5e45, 0x5e46, 0x5e47, 0x5e48, 0x5e49, 0x5e4a, 0x5e4b, 0x5e4c,
749 0x5e4d, 0x5e4e, 0x5e4f, 0x5e50, 0x5e51, 0x5e52, 0x5e53, 0x5e54,
750 0x5e55, 0x5e56, 0x5e57, 0x5e58, 0x5e59, 0x5e5a, 0x5e5b, 0x5e5c,
751 0x5e5d, 0x5e5e, 0x5e5f, 0x5e60, 0x5e61, 0x5e62, 0x5e63, 0x5e64,
752 0x5e65, 0x5e66, 0x5e67, 0x5e68, 0x5e69, 0x5e6a, 0x5e6b, 0x5e6c,
753 0x5e6d, 0x5e6e, 0x5e6f, 0x5e70, 0x5e71, 0x5e72, 0x5e73, 0x5e74,
754 0x5e75, 0x5e76, 0x5e77, 0x5e78, 0x5e79, 0x5e7a, 0x5e7b, 0x5e7c,
755 0x5e7d, 0x5e7e, 0x5e7f, 0x5e80, 0x5e81, 0x5e82, 0x5e83, 0x5e84,
756 0x5e85, 0x5e86, 0x5e87, 0x5e88, 0x5e89, 0x5e8a, 0x5e8b, 0x5e8c,
757 0x5e8d, 0x5e8e, 0x5e8f, 0x5e90, 0x5e91, 0x5e92, 0x5e93, 0x5e94,
758 0x5e95, 0x5e96, 0x5e97, 0x5e98, 0x5e99, 0x5e9a, 0x5e9b, 0x5e9c,
759 0x5e9d, 0x5e9e, 0x5e9f, 0x5ea0, 0x5ea1, 0x5ea2, 0x5ea3, 0x5ea4,
760 0x5ea5, 0x5ea6, 0x5ea7, 0x5ea8, 0x5ea9, 0x5eaa, 0x5eab, 0x5eac,
761 0x5ead, 0x5eae, 0x5eaf, 0x5eb0, 0x5eb1, 0x5eb2, 0x5eb3, 0x5eb4,
762 0x5eb5, 0x5eb6, 0x5eb7, 0x5eb8, 0x5eb9, 0x5eba, 0x5ebb, 0x5ebc,
763 0x5ebd, 0x5ebe, 0x5ebf, 0x5ec0, 0x5ec1, 0x5ec2, 0x5ec3, 0x5ec4,
764 0x5ec5, 0x5ec6, 0x5ec7, 0x5ec8, 0x5ec9, 0x5eca, 0x5ecb, 0x5ecc,
765 0x5ecd, 0x5ece, 0x5ecf, 0x5ed0, 0x5ed1, 0x5ed2, 0x5ed3, 0x5ed4,
766 0x5ed5, 0x5ed6, 0x5ed7, 0x5ed8, 0x5ed9, 0x5eda, 0x5edb, 0x5edc,
767 0x5edd, 0x5ede, 0x5edf, 0x5ee0, 0x5ee1, 0x5ee2, 0x5ee3, 0x5ee4,
768 0x5ee5, 0x5ee6, 0x5ee7, 0x5ee8, 0x5ee9, 0x5eea, 0x5eeb, 0x5eec,
769 0x5eed, 0x5eee, 0x5eef, 0x5ef0, 0x5ef1, 0x5ef2, 0x5ef3, 0x5ef4,
770 0x5ef5, 0x5ef6, 0x5ef7, 0x5ef8, 0x5ef9, 0x5efa, 0x5efb, 0x5efc,
771 0x5efd, 0x5efe, 0x5eff, 0x5f00, 0x5f01, 0x5f02, 0x5f03, 0x5f04,
772 0x5f05, 0x5f06, 0x5f07, 0x5f08, 0x5f09, 0x5f0a, 0x5f0b, 0x5f0c,
773 0x5f0d, 0x5f0e, 0x5f0f, 0x0000,
776 static const UINT8 table0_mv_bits[1100] = {
777 1, 4, 4, 4, 5, 5, 5, 6,
778 6, 6, 7, 7, 7, 8, 8, 8,
779 8, 8, 8, 8, 8, 8, 8, 8,
780 8, 9, 9, 9, 9, 9, 9, 9,
781 9, 9, 9, 9, 9, 10, 10, 10,
782 10, 10, 10, 10, 10, 10, 10, 10,
783 10, 10, 10, 10, 10, 10, 10, 10,
784 10, 10, 10, 10, 11, 11, 11, 11,
785 11, 11, 11, 11, 11, 11, 11, 11,
786 11, 11, 11, 11, 11, 11, 11, 11,
787 11, 11, 11, 11, 11, 11, 11, 11,
788 12, 12, 12, 12, 12, 12, 12, 12,
789 12, 12, 12, 12, 12, 12, 12, 12,
790 12, 12, 12, 12, 12, 12, 12, 12,
791 12, 12, 12, 12, 12, 12, 12, 12,
792 12, 12, 12, 12, 12, 12, 12, 12,
793 12, 12, 12, 12, 12, 12, 12, 12,
794 12, 12, 12, 13, 13, 13, 13, 13,
795 13, 13, 13, 13, 13, 13, 13, 13,
796 13, 13, 13, 13, 13, 13, 13, 13,
797 13, 13, 13, 13, 13, 13, 13, 13,
798 13, 13, 13, 13, 13, 13, 13, 13,
799 13, 13, 13, 13, 13, 13, 13, 13,
800 13, 13, 13, 13, 13, 13, 13, 13,
801 13, 13, 13, 13, 13, 13, 13, 13,
802 13, 13, 14, 14, 14, 14, 14, 14,
803 14, 14, 14, 14, 14, 14, 14, 14,
804 14, 14, 14, 14, 14, 14, 14, 14,
805 14, 14, 14, 14, 14, 14, 14, 14,
806 14, 14, 14, 14, 14, 14, 14, 14,
807 14, 14, 14, 14, 14, 14, 14, 14,
808 14, 14, 14, 14, 14, 14, 14, 14,
809 14, 14, 14, 14, 14, 14, 14, 14,
810 14, 14, 14, 14, 14, 14, 14, 14,
811 14, 14, 14, 14, 14, 14, 14, 14,
812 14, 14, 14, 14, 14, 14, 14, 14,
813 14, 14, 14, 14, 14, 14, 14, 14,
814 14, 14, 14, 14, 14, 14, 14, 14,
815 14, 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, 15, 15, 15, 15,
824 15, 15, 15, 15, 15, 15, 15, 15,
825 15, 15, 15, 15, 15, 15, 15, 15,
826 15, 15, 15, 15, 15, 15, 15, 15,
827 15, 15, 15, 15, 15, 15, 15, 15,
828 15, 15, 15, 15, 15, 15, 15, 15,
829 15, 15, 15, 15, 15, 15, 15, 15,
830 15, 15, 15, 15, 15, 15, 15, 15,
831 15, 15, 15, 15, 15, 15, 15, 15,
832 15, 15, 15, 15, 15, 15, 15, 15,
833 15, 15, 15, 15, 15, 15, 15, 15,
834 15, 15, 15, 15, 15, 15, 15, 15,
835 15, 15, 15, 15, 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, 16, 16, 16, 16, 16, 16, 16,
855 16, 16, 16, 16, 16, 16, 16, 16,
856 16, 16, 16, 16, 16, 16, 16, 16,
857 16, 16, 16, 16, 16, 16, 16, 16,
858 16, 16, 16, 16, 16, 16, 16, 16,
859 16, 16, 16, 16, 16, 16, 16, 16,
860 16, 16, 16, 16, 16, 16, 16, 16,
861 16, 16, 16, 16, 16, 16, 16, 16,
862 16, 16, 16, 16, 16, 16, 16, 16,
863 16, 16, 16, 16, 16, 16, 16, 16,
864 16, 16, 16, 16, 16, 16, 16, 16,
865 16, 16, 16, 16, 16, 16, 16, 16,
866 16, 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,
902 17, 17, 17, 17, 17, 17, 17, 17,
903 17, 17, 17, 17, 17, 17, 17, 17,
904 17, 17, 17, 17, 17, 17, 17, 17,
905 17, 17, 17, 17, 17, 17, 17, 17,
906 17, 17, 17, 17, 17, 17, 17, 17,
907 17, 17, 17, 17, 17, 17, 17, 17,
908 17, 17, 17, 17, 17, 17, 17, 17,
909 17, 17, 17, 17, 17, 17, 17, 17,
910 17, 17, 17, 17, 17, 17, 17, 17,
911 17, 17, 17, 17, 17, 17, 17, 17,
912 17, 17, 17, 17, 17, 17, 17, 17,
913 17, 17, 17, 17, 17, 17, 17, 17,
917 static const UINT8 table0_mvx[1099] = {
918 32, 32, 31, 32, 33, 31, 33, 31,
919 33, 32, 34, 32, 30, 32, 31, 34,
920 35, 32, 34, 33, 29, 33, 30, 30,
921 31, 31, 35, 29, 33, 35, 33, 34,
922 31, 29, 30, 34, 30, 36, 28, 32,
923 34, 37, 30, 27, 32, 25, 39, 32,
924 34, 32, 35, 35, 35, 31, 35, 29,
925 32, 29, 30, 29, 37, 27, 36, 38,
926 37, 33, 32, 31, 29, 31, 28, 36,
927 33, 30, 34, 33, 33, 28, 27, 25,
928 31, 26, 39, 32, 32, 31, 33, 39,
929 31, 38, 28, 36, 21, 23, 43, 36,
930 34, 41, 30, 25, 28, 31, 30, 34,
931 38, 35, 61, 34, 28, 30, 37, 37,
932 35, 27, 36, 3, 59, 38, 37, 32,
933 31, 29, 26, 33, 37, 33, 27, 27,
934 35, 34, 34, 40, 42, 33, 32, 29,
935 4, 5, 28, 24, 25, 35, 39, 38,
936 32, 23, 27, 32, 30, 35, 26, 34,
937 60, 36, 29, 22, 26, 41, 7, 30,
938 38, 30, 36, 29, 30, 41, 26, 25,
939 32, 34, 24, 39, 1, 25, 39, 32,
940 28, 29, 32, 38, 26, 36, 28, 63,
941 28, 39, 23, 21, 26, 35, 31, 35,
942 57, 31, 29, 29, 28, 30, 27, 35,
943 2, 38, 40, 34, 37, 29, 38, 43,
944 26, 32, 33, 42, 24, 40, 28, 32,
945 32, 32, 36, 32, 43, 25, 21, 31,
946 30, 31, 41, 29, 33, 37, 26, 37,
947 27, 59, 23, 33, 35, 31, 31, 37,
948 38, 39, 32, 23, 32, 27, 37, 36,
949 31, 40, 25, 27, 38, 31, 36, 28,
950 31, 36, 25, 45, 3, 34, 38, 39,
951 40, 38, 30, 32, 19, 24, 25, 26,
952 45, 20, 24, 33, 33, 31, 41, 34,
953 39, 47, 40, 58, 59, 41, 33, 3,
954 17, 61, 42, 30, 26, 29, 36, 61,
955 33, 37, 62, 28, 25, 38, 25, 38,
956 17, 23, 34, 33, 21, 33, 49, 27,
957 32, 23, 27, 22, 24, 22, 39, 43,
958 27, 37, 6, 42, 47, 26, 30, 31,
959 41, 39, 33, 22, 45, 36, 32, 45,
960 19, 22, 30, 5, 5, 17, 29, 22,
961 31, 31, 43, 37, 27, 32, 32, 32,
962 33, 34, 43, 35, 29, 26, 22, 32,
963 19, 32, 25, 31, 41, 49, 28, 34,
964 28, 39, 34, 19, 37, 38, 29, 21,
965 36, 42, 24, 48, 16, 28, 49, 22,
966 34, 31, 38, 39, 44, 11, 35, 30,
967 33, 33, 23, 28, 33, 46, 15, 13,
968 24, 41, 24, 34, 34, 30, 26, 24,
969 14, 60, 21, 29, 39, 23, 35, 37,
970 63, 45, 33, 34, 47, 41, 22, 42,
971 35, 35, 23, 32, 35, 43, 32, 7,
972 31, 41, 20, 31, 16, 13, 63, 25,
973 30, 32, 35, 30, 30, 31, 42, 47,
974 39, 38, 40, 40, 51, 55, 56, 18,
975 21, 39, 39, 33, 17, 41, 23, 24,
976 43, 25, 31, 20, 19, 45, 1, 34,
977 31, 22, 35, 15, 46, 46, 35, 31,
978 28, 29, 29, 23, 41, 27, 14, 53,
979 53, 27, 24, 32, 57, 32, 17, 42,
980 37, 29, 33, 1, 25, 32, 32, 63,
981 26, 40, 44, 36, 31, 39, 20, 20,
982 44, 23, 33, 34, 35, 33, 33, 28,
983 41, 23, 41, 41, 29, 25, 26, 49,
984 29, 24, 37, 49, 50, 51, 51, 26,
985 39, 25, 26, 15, 39, 18, 42, 17,
986 4, 31, 32, 32, 60, 1, 42, 32,
987 0, 12, 19, 35, 21, 41, 17, 26,
988 20, 45, 46, 32, 37, 22, 47, 29,
989 31, 27, 29, 30, 21, 33, 35, 18,
990 25, 33, 50, 51, 42, 2, 15, 51,
991 53, 33, 25, 29, 55, 37, 38, 33,
992 38, 59, 38, 33, 39, 13, 32, 40,
993 61, 61, 32, 9, 44, 3, 31, 29,
994 25, 31, 27, 23, 9, 25, 9, 29,
995 20, 30, 30, 42, 18, 28, 25, 28,
996 28, 21, 29, 43, 29, 43, 26, 44,
997 44, 21, 38, 21, 24, 45, 45, 35,
998 39, 22, 35, 36, 34, 34, 45, 34,
999 29, 31, 46, 25, 46, 16, 17, 31,
1000 20, 32, 47, 47, 47, 32, 49, 49,
1001 49, 31, 1, 27, 28, 39, 39, 21,
1002 36, 23, 51, 2, 40, 51, 32, 53,
1003 24, 30, 24, 30, 21, 40, 57, 57,
1004 31, 41, 58, 32, 12, 4, 32, 34,
1005 59, 31, 32, 13, 9, 35, 26, 35,
1006 37, 61, 37, 63, 26, 29, 41, 38,
1007 23, 20, 41, 26, 41, 42, 42, 42,
1008 26, 26, 26, 26, 1, 26, 37, 37,
1009 37, 23, 34, 42, 27, 43, 34, 27,
1010 31, 24, 33, 16, 3, 31, 24, 33,
1011 24, 4, 44, 44, 11, 44, 31, 13,
1012 13, 44, 45, 13, 25, 22, 38, 26,
1013 38, 38, 39, 32, 30, 39, 30, 22,
1014 32, 26, 30, 47, 47, 47, 19, 47,
1015 30, 31, 35, 8, 23, 47, 47, 27,
1016 35, 47, 31, 48, 35, 19, 36, 49,
1017 49, 33, 31, 39, 27, 39, 49, 49,
1018 50, 50, 50, 39, 31, 51, 51, 39,
1019 28, 33, 33, 21, 40, 31, 52, 53,
1020 40, 53, 9, 33, 31, 53, 54, 54,
1021 54, 55, 55, 34, 15, 56, 25, 56,
1022 21, 21, 40, 40, 25, 40, 58, 36,
1023 5, 41, 41, 12, 60, 41, 41, 37,
1024 22, 61, 18, 29, 29, 30, 61, 30,
1025 61, 62, 62, 30, 30, 63, 18, 13,
1026 30, 23, 19, 20, 20, 41, 13, 2,
1027 5, 5, 1, 5, 32, 6, 32, 35,
1028 20, 35, 27, 35, 35, 36, 36, 13,
1029 36, 41, 41, 41, 3, 30, 42, 27,
1030 20, 30, 27, 28, 30, 21, 33, 33,
1031 14, 24, 30, 42, 24, 33, 25, 42,
1032 43, 14, 43, 43, 14, 43, 7, 36,
1033 37, 37, 37, 37, 7, 14, 25, 43,
1034 43, 44, 15, 37, 7, 7, 3, 1,
1035 8, 15, 15, 8, 44, 44, 44, 45,
1036 45, 45, 45, 8, 8, 45, 21, 45,
1037 28, 28, 28, 21, 28, 28, 22, 37,
1038 46, 46, 37, 8, 29, 37, 29, 22,
1039 46, 37, 22, 29, 47, 47, 38, 38,
1040 16, 38, 38, 33, 38, 22, 47, 47,
1041 29, 25, 16, 0, 48, 1, 34, 48,
1042 48, 34, 25, 26, 26, 49, 49, 26,
1043 1, 49, 4, 26, 4, 49, 1, 9,
1044 49, 49, 49, 10, 49, 17, 38, 17,
1045 17, 50, 38, 50, 50, 22, 38, 51,
1046 38, 38, 51, 39, 39, 18, 22, 39,
1047 51, 22, 52, 52, 52, 39, 53, 53,
1048 10, 23, 18, 29, 10, 53, 29, 54,
1049 11, 54, 11, 11, 55, 1, 18, 55,
1050 55, 55, 55, 55, 55, 29, 34, 18,
1051 29, 56, 56, 34, 57, 34, 34, 29,
1052 29, 57, 57, 35, 35, 35, 35, 35,
1053 39, 35, 59, 59, 18, 59, 39, 30,
1054 18, 40, 60, 60, 61, 30, 18, 61,
1058 static const UINT8 table0_mvy[1099] = {
1059 32, 31, 32, 33, 32, 31, 31, 33,
1060 33, 34, 32, 30, 32, 35, 34, 31,
1061 32, 29, 33, 30, 32, 34, 33, 31,
1062 30, 35, 31, 31, 29, 33, 35, 30,
1063 29, 33, 34, 34, 30, 32, 32, 36,
1064 29, 32, 35, 32, 28, 32, 32, 27,
1065 35, 37, 34, 29, 30, 36, 35, 34,
1066 25, 30, 29, 35, 33, 31, 31, 32,
1067 31, 28, 39, 28, 29, 37, 31, 33,
1068 27, 36, 28, 36, 37, 33, 33, 31,
1069 27, 32, 31, 38, 26, 25, 25, 33,
1070 39, 31, 34, 30, 32, 32, 32, 34,
1071 36, 32, 28, 33, 30, 38, 37, 27,
1072 33, 28, 32, 37, 35, 38, 29, 34,
1073 27, 29, 29, 32, 32, 34, 35, 3,
1074 26, 36, 31, 38, 30, 26, 35, 34,
1075 37, 26, 25, 32, 32, 39, 23, 37,
1076 32, 32, 29, 32, 29, 36, 29, 30,
1077 41, 31, 30, 21, 39, 25, 34, 38,
1078 32, 35, 39, 32, 33, 33, 32, 27,
1079 29, 25, 28, 27, 26, 31, 30, 35,
1080 24, 24, 31, 34, 32, 30, 35, 40,
1081 28, 38, 5, 35, 29, 36, 36, 32,
1082 38, 30, 33, 31, 35, 26, 23, 38,
1083 32, 41, 28, 25, 37, 40, 37, 39,
1084 32, 36, 33, 39, 25, 26, 28, 31,
1085 28, 42, 23, 31, 33, 31, 39, 1,
1086 59, 22, 27, 4, 33, 34, 33, 24,
1087 41, 3, 35, 41, 41, 28, 36, 36,
1088 28, 33, 35, 21, 23, 21, 22, 37,
1089 27, 27, 43, 29, 60, 39, 27, 25,
1090 59, 34, 27, 27, 26, 40, 37, 27,
1091 61, 26, 39, 33, 31, 22, 37, 25,
1092 30, 25, 24, 61, 31, 34, 25, 38,
1093 32, 32, 30, 3, 61, 43, 29, 23,
1094 28, 32, 28, 32, 31, 34, 5, 33,
1095 32, 33, 33, 42, 37, 23, 38, 31,
1096 40, 26, 32, 26, 37, 38, 36, 24,
1097 29, 30, 20, 22, 29, 24, 32, 41,
1098 2, 34, 25, 33, 29, 31, 39, 35,
1099 36, 24, 32, 30, 33, 27, 44, 60,
1100 30, 36, 19, 34, 31, 24, 16, 35,
1101 32, 38, 21, 33, 31, 31, 21, 35,
1102 5, 17, 29, 38, 38, 18, 58, 19,
1103 43, 41, 30, 41, 43, 39, 29, 7,
1104 29, 17, 28, 19, 28, 31, 25, 19,
1105 40, 26, 21, 33, 39, 23, 40, 30,
1106 39, 34, 35, 32, 32, 24, 33, 30,
1107 40, 47, 39, 37, 32, 33, 24, 23,
1108 45, 47, 27, 23, 42, 32, 32, 33,
1109 36, 37, 37, 17, 18, 22, 40, 38,
1110 32, 31, 35, 24, 17, 25, 17, 23,
1111 33, 34, 51, 42, 31, 36, 36, 29,
1112 21, 22, 37, 44, 43, 25, 47, 33,
1113 45, 27, 31, 58, 31, 32, 31, 38,
1114 43, 20, 47, 45, 54, 1, 26, 34,
1115 38, 14, 22, 24, 33, 34, 32, 32,
1116 37, 21, 23, 49, 35, 23, 28, 39,
1117 39, 23, 55, 33, 30, 30, 63, 16,
1118 42, 28, 13, 33, 33, 35, 19, 46,
1119 43, 17, 19, 36, 39, 24, 31, 32,
1120 33, 26, 28, 62, 33, 63, 33, 39,
1121 19, 49, 17, 31, 43, 13, 15, 29,
1122 25, 35, 33, 23, 49, 41, 28, 29,
1123 34, 38, 7, 61, 11, 50, 13, 41,
1124 19, 47, 25, 26, 15, 42, 41, 29,
1125 45, 27, 17, 35, 32, 29, 32, 24,
1126 13, 26, 26, 31, 24, 33, 28, 30,
1127 31, 11, 45, 46, 33, 33, 35, 57,
1128 32, 32, 35, 45, 34, 11, 37, 42,
1129 39, 37, 31, 49, 21, 27, 29, 47,
1130 53, 40, 51, 16, 26, 1, 40, 30,
1131 41, 44, 34, 25, 27, 31, 35, 35,
1132 31, 15, 49, 1, 35, 40, 5, 58,
1133 21, 29, 22, 59, 45, 31, 9, 26,
1134 9, 29, 11, 32, 30, 3, 13, 20,
1135 18, 20, 11, 3, 29, 40, 31, 53,
1136 30, 17, 20, 37, 31, 42, 47, 47,
1137 54, 38, 9, 34, 13, 37, 21, 25,
1138 27, 43, 42, 45, 40, 25, 27, 46,
1139 22, 25, 53, 20, 2, 14, 39, 15,
1140 22, 44, 34, 21, 38, 33, 27, 48,
1141 34, 52, 35, 47, 49, 54, 2, 13,
1142 23, 52, 29, 45, 22, 49, 54, 21,
1143 40, 42, 31, 30, 29, 34, 0, 25,
1144 23, 51, 24, 59, 28, 38, 29, 31,
1145 2, 13, 31, 8, 31, 33, 12, 45,
1146 41, 7, 14, 30, 25, 18, 43, 20,
1147 43, 35, 44, 1, 49, 42, 42, 18,
1148 41, 38, 41, 44, 53, 11, 20, 25,
1149 45, 46, 47, 48, 39, 52, 46, 49,
1150 63, 55, 44, 38, 13, 13, 57, 22,
1151 51, 16, 12, 28, 35, 57, 25, 20,
1152 26, 28, 28, 29, 32, 31, 62, 34,
1153 35, 35, 19, 49, 48, 39, 40, 18,
1154 43, 46, 11, 6, 48, 19, 49, 41,
1155 10, 23, 58, 17, 21, 23, 34, 30,
1156 60, 0, 44, 34, 26, 37, 46, 43,
1157 49, 59, 4, 34, 59, 37, 22, 25,
1158 28, 46, 6, 40, 59, 42, 36, 61,
1159 28, 30, 31, 43, 10, 22, 23, 47,
1160 20, 52, 55, 36, 25, 16, 1, 11,
1161 27, 29, 5, 63, 18, 41, 31, 34,
1162 38, 1, 5, 13, 28, 31, 17, 38,
1163 39, 41, 36, 37, 22, 39, 33, 43,
1164 43, 15, 17, 49, 30, 21, 22, 20,
1165 10, 17, 25, 54, 57, 3, 34, 8,
1166 36, 25, 31, 14, 15, 19, 29, 25,
1167 18, 39, 53, 22, 27, 20, 29, 33,
1168 41, 42, 35, 62, 50, 29, 53, 50,
1169 35, 55, 42, 61, 63, 4, 7, 42,
1170 21, 46, 47, 49, 27, 46, 17, 55,
1171 41, 50, 63, 4, 56, 18, 8, 10,
1172 18, 51, 63, 36, 55, 18, 5, 55,
1173 9, 29, 17, 21, 30, 27, 1, 59,
1174 7, 11, 12, 15, 5, 42, 24, 41,
1175 43, 7, 27, 22, 25, 31, 30, 37,
1176 22, 39, 53, 29, 36, 37, 48, 0,
1177 5, 13, 17, 31, 32, 26, 46, 28,
1178 44, 45, 46, 53, 49, 51, 3, 41,
1179 3, 22, 42, 33, 5, 45, 7, 22,
1180 40, 53, 24, 14, 25, 27, 10, 12,
1181 34, 16, 17, 53, 20, 26, 39, 45,
1182 18, 45, 35, 33, 31, 49, 4, 39,
1183 42, 11, 51, 5, 13, 26, 27, 17,
1184 52, 30, 0, 22, 12, 34, 62, 36,
1185 38, 41, 47, 30, 63, 38, 41, 43,
1186 59, 33, 45, 37, 38, 40, 47, 24,
1187 48, 49, 30, 1, 10, 22, 49, 15,
1188 39, 59, 31, 32, 33, 18, 13, 15,
1189 31, 21, 27, 44, 42, 39, 46, 17,
1190 26, 32, 30, 31, 0, 30, 34, 9,
1191 12, 13, 25, 31, 32, 55, 43, 35,
1192 61, 33, 35, 46, 25, 47, 48, 62,
1193 63, 38, 61, 1, 2, 5, 7, 9,
1194 46, 10, 34, 35, 36, 55, 51, 7,
1195 40, 23, 34, 37, 5, 13, 42, 18,
1199 /* motion vector table 1 */
1200 static const UINT16 table1_mv_code[1100] = {
1201 0x0000, 0x0007, 0x0009, 0x000f, 0x000a, 0x0011, 0x001a, 0x001c,
1202 0x0011, 0x0031, 0x0025, 0x002d, 0x002f, 0x006f, 0x0075, 0x0041,
1203 0x004c, 0x004e, 0x005c, 0x0060, 0x0062, 0x0066, 0x0068, 0x0069,
1204 0x006b, 0x00a6, 0x00c1, 0x00cb, 0x00cc, 0x00ce, 0x00da, 0x00e8,
1205 0x00ee, 0x0087, 0x0090, 0x009e, 0x009f, 0x00ba, 0x00ca, 0x00d8,
1206 0x00db, 0x00df, 0x0104, 0x0109, 0x010c, 0x0143, 0x0145, 0x014a,
1207 0x0156, 0x015c, 0x01b3, 0x01d3, 0x01da, 0x0103, 0x0109, 0x010b,
1208 0x0122, 0x0127, 0x0134, 0x0161, 0x0164, 0x0176, 0x0184, 0x018d,
1209 0x018e, 0x018f, 0x0190, 0x0193, 0x0196, 0x019d, 0x019e, 0x019f,
1210 0x01a9, 0x01b2, 0x01b4, 0x01ba, 0x01bb, 0x01bc, 0x0201, 0x0202,
1211 0x0205, 0x0207, 0x020d, 0x0210, 0x0211, 0x0215, 0x021b, 0x021f,
1212 0x0281, 0x0285, 0x0290, 0x029c, 0x029d, 0x02a2, 0x02a7, 0x02a8,
1213 0x02aa, 0x02b0, 0x02b1, 0x02b4, 0x02bc, 0x02bf, 0x0320, 0x0326,
1214 0x0327, 0x0329, 0x032a, 0x0336, 0x0360, 0x0362, 0x0363, 0x0372,
1215 0x03b2, 0x03bc, 0x03bd, 0x0203, 0x0205, 0x021a, 0x0249, 0x024a,
1216 0x024c, 0x02c7, 0x02ca, 0x02ce, 0x02ef, 0x030d, 0x0322, 0x0325,
1217 0x0338, 0x0373, 0x037a, 0x0409, 0x0415, 0x0416, 0x0418, 0x0428,
1218 0x042d, 0x042f, 0x0434, 0x0508, 0x0509, 0x0510, 0x0511, 0x051c,
1219 0x051e, 0x0524, 0x0541, 0x0543, 0x0546, 0x0547, 0x054d, 0x0557,
1220 0x055f, 0x056a, 0x056c, 0x056d, 0x056f, 0x0576, 0x0577, 0x057a,
1221 0x057b, 0x057c, 0x057d, 0x0600, 0x0601, 0x0603, 0x0614, 0x0616,
1222 0x0617, 0x061c, 0x061f, 0x0642, 0x0648, 0x0649, 0x064a, 0x064b,
1223 0x0657, 0x0668, 0x0669, 0x066b, 0x066e, 0x067f, 0x06c2, 0x06c8,
1224 0x06cb, 0x06de, 0x06df, 0x06e2, 0x06e3, 0x06ef, 0x0748, 0x074b,
1225 0x076e, 0x076f, 0x077c, 0x0409, 0x0423, 0x0428, 0x0429, 0x042a,
1226 0x042b, 0x0432, 0x0433, 0x0496, 0x049a, 0x04d5, 0x04db, 0x0581,
1227 0x0582, 0x058b, 0x058c, 0x058d, 0x0598, 0x0599, 0x059a, 0x059e,
1228 0x05dd, 0x0619, 0x0632, 0x0633, 0x0648, 0x0672, 0x06a1, 0x06a2,
1229 0x06a3, 0x06af, 0x06e2, 0x06e3, 0x06e4, 0x0800, 0x0801, 0x0802,
1230 0x0803, 0x081a, 0x081b, 0x0829, 0x082f, 0x0832, 0x083e, 0x083f,
1231 0x0852, 0x0853, 0x0858, 0x086b, 0x0877, 0x0878, 0x0879, 0x087a,
1232 0x087b, 0x0a00, 0x0a01, 0x0a0d, 0x0a0e, 0x0a0f, 0x0a24, 0x0a37,
1233 0x0a3a, 0x0a3b, 0x0a3e, 0x0a46, 0x0a47, 0x0a4a, 0x0a4b, 0x0a5f,
1234 0x0a79, 0x0a7a, 0x0a7b, 0x0a80, 0x0a81, 0x0a84, 0x0a85, 0x0a99,
1235 0x0aa5, 0x0aa6, 0x0ab8, 0x0aba, 0x0abb, 0x0abc, 0x0abd, 0x0ac8,
1236 0x0ace, 0x0acf, 0x0ad7, 0x0adc, 0x0aeb, 0x0c04, 0x0c25, 0x0c26,
1237 0x0c27, 0x0c2a, 0x0c2b, 0x0c3a, 0x0c3b, 0x0c3c, 0x0c3d, 0x0ca0,
1238 0x0cad, 0x0cd4, 0x0cd5, 0x0cfc, 0x0cfd, 0x0d86, 0x0d92, 0x0d93,
1239 0x0d94, 0x0d95, 0x0db0, 0x0db8, 0x0db9, 0x0dba, 0x0dbb, 0x0dc0,
1240 0x0dc2, 0x0dc3, 0x0dda, 0x0ddb, 0x0ddc, 0x0ddd, 0x0e92, 0x0e93,
1241 0x0e94, 0x0e95, 0x0ec7, 0x0ecc, 0x0ece, 0x0ecf, 0x0ed8, 0x0ed9,
1242 0x0eda, 0x0edb, 0x0808, 0x0809, 0x080a, 0x0810, 0x0811, 0x0844,
1243 0x0845, 0x0861, 0x0862, 0x0863, 0x086c, 0x0922, 0x0923, 0x092e,
1244 0x092f, 0x0936, 0x0937, 0x09b1, 0x09b2, 0x09b3, 0x09b4, 0x09b5,
1245 0x09b8, 0x09b9, 0x09ba, 0x09bb, 0x09bc, 0x09bd, 0x09be, 0x09bf,
1246 0x0b00, 0x0b15, 0x0b2c, 0x0b2d, 0x0b2e, 0x0b2f, 0x0b36, 0x0bb9,
1247 0x0c28, 0x0c2a, 0x0c2b, 0x0c2c, 0x0c2d, 0x0c2e, 0x0c2f, 0x0c30,
1248 0x0c31, 0x0c38, 0x0c60, 0x0c61, 0x0c62, 0x0c63, 0x0c8d, 0x0c8e,
1249 0x0c8f, 0x0c92, 0x0cbe, 0x0cbf, 0x0ce6, 0x0ce7, 0x0d40, 0x0d41,
1250 0x0d57, 0x0d58, 0x0d59, 0x0d5a, 0x0d5b, 0x0d5c, 0x0d5d, 0x0d98,
1251 0x0d99, 0x0d9a, 0x0d9b, 0x0d9c, 0x0d9d, 0x0dad, 0x0dae, 0x0daf,
1252 0x0dc0, 0x0dc1, 0x0dc2, 0x0dc3, 0x0dca, 0x0dcb, 0x0dec, 0x0ded,
1253 0x0dee, 0x0def, 0x1018, 0x1022, 0x1023, 0x1030, 0x1031, 0x1032,
1254 0x1033, 0x1050, 0x1051, 0x105c, 0x1074, 0x1075, 0x1076, 0x1077,
1255 0x1078, 0x1079, 0x107a, 0x107b, 0x10b2, 0x10b3, 0x10b8, 0x10b9,
1256 0x10ba, 0x10bb, 0x10d4, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x1404,
1257 0x1405, 0x1406, 0x1407, 0x1410, 0x1411, 0x1412, 0x1413, 0x1414,
1258 0x1415, 0x1416, 0x1417, 0x1418, 0x1419, 0x1466, 0x1467, 0x1468,
1259 0x1469, 0x146a, 0x146b, 0x146c, 0x146d, 0x147e, 0x147f, 0x1488,
1260 0x1489, 0x148a, 0x148b, 0x14b6, 0x14b7, 0x14b8, 0x14b9, 0x14ba,
1261 0x14bb, 0x14bc, 0x14bd, 0x14f0, 0x14f1, 0x14f8, 0x14f9, 0x14fa,
1262 0x14fb, 0x14fc, 0x14fd, 0x14fe, 0x14ff, 0x152a, 0x152b, 0x152c,
1263 0x152d, 0x152e, 0x152f, 0x1530, 0x1531, 0x1548, 0x1549, 0x154e,
1264 0x154f, 0x1558, 0x1559, 0x155a, 0x155b, 0x1572, 0x159a, 0x159b,
1265 0x15ac, 0x15ba, 0x15bb, 0x15d0, 0x15d1, 0x15d2, 0x15d3, 0x15d4,
1266 0x15d5, 0x181d, 0x181e, 0x181f, 0x1840, 0x1841, 0x1842, 0x1843,
1267 0x1844, 0x1845, 0x1846, 0x1847, 0x1848, 0x1849, 0x1861, 0x1862,
1268 0x1863, 0x1864, 0x1865, 0x1866, 0x1867, 0x1868, 0x1869, 0x186a,
1269 0x186b, 0x186c, 0x186d, 0x186e, 0x191b, 0x191c, 0x191d, 0x191e,
1270 0x191f, 0x1942, 0x1943, 0x1944, 0x1945, 0x1946, 0x1947, 0x1958,
1271 0x1959, 0x19ed, 0x19ee, 0x19ef, 0x19f0, 0x19f1, 0x19f2, 0x19f3,
1272 0x19f4, 0x19f5, 0x19f6, 0x19f7, 0x1b0e, 0x1b0f, 0x1b62, 0x1b63,
1273 0x1b64, 0x1b65, 0x1b66, 0x1b67, 0x1b68, 0x1b69, 0x1b6a, 0x1b6b,
1274 0x1b6c, 0x1b6d, 0x1b6e, 0x1b6f, 0x1b82, 0x1ba8, 0x1ba9, 0x1baa,
1275 0x1bab, 0x1bac, 0x1bad, 0x1bae, 0x1baf, 0x1bb0, 0x1bb1, 0x1bb2,
1276 0x1bb3, 0x1d80, 0x1d81, 0x1d82, 0x1d83, 0x1d84, 0x1d85, 0x1d86,
1277 0x1d87, 0x1d88, 0x1d89, 0x1d8a, 0x1d8b, 0x1d8c, 0x1d8d, 0x1007,
1278 0x1008, 0x1009, 0x100a, 0x100b, 0x100c, 0x100d, 0x100e, 0x100f,
1279 0x1016, 0x1080, 0x1081, 0x1082, 0x1083, 0x1084, 0x1085, 0x1086,
1280 0x1087, 0x10c0, 0x123a, 0x123b, 0x123c, 0x123d, 0x123e, 0x123f,
1281 0x1240, 0x1241, 0x1242, 0x1243, 0x1350, 0x1352, 0x1353, 0x1358,
1282 0x1359, 0x135a, 0x135b, 0x135c, 0x135d, 0x135e, 0x135f, 0x1360,
1283 0x1361, 0x1602, 0x1603, 0x160c, 0x160d, 0x160e, 0x160f, 0x1620,
1284 0x1621, 0x1622, 0x1623, 0x1624, 0x1625, 0x1626, 0x1627, 0x1628,
1285 0x1629, 0x166e, 0x166f, 0x167c, 0x167d, 0x167e, 0x167f, 0x1770,
1286 0x1771, 0x1852, 0x1853, 0x1872, 0x1873, 0x1874, 0x1875, 0x1876,
1287 0x1877, 0x1878, 0x1879, 0x187a, 0x187b, 0x187c, 0x187d, 0x187e,
1288 0x187f, 0x1918, 0x1919, 0x1926, 0x1927, 0x1970, 0x1971, 0x1972,
1289 0x1973, 0x1974, 0x1975, 0x1976, 0x1977, 0x1978, 0x1979, 0x197a,
1290 0x197b, 0x1aa0, 0x1aa1, 0x1aa2, 0x1aa3, 0x1aa4, 0x1aa5, 0x1aa6,
1291 0x1aa7, 0x1aa8, 0x1aa9, 0x1aaa, 0x1aab, 0x1aac, 0x1aad, 0x1b3c,
1292 0x1b3d, 0x1b3e, 0x1b3f, 0x1b50, 0x1b51, 0x1b52, 0x1b53, 0x1b54,
1293 0x1b55, 0x1b56, 0x1b57, 0x1b58, 0x1b59, 0x2032, 0x2033, 0x2034,
1294 0x2035, 0x2036, 0x2037, 0x2038, 0x2039, 0x203a, 0x203b, 0x203c,
1295 0x203d, 0x203e, 0x203f, 0x2040, 0x2041, 0x2042, 0x2043, 0x20ba,
1296 0x20bb, 0x20cc, 0x20cd, 0x20ce, 0x20cf, 0x20e0, 0x20e1, 0x20e2,
1297 0x20e3, 0x20e4, 0x20e5, 0x20e6, 0x20e7, 0x21aa, 0x21ab, 0x21c0,
1298 0x21c1, 0x21c2, 0x21c3, 0x21c4, 0x21c5, 0x21c6, 0x21c7, 0x21c8,
1299 0x21c9, 0x21ca, 0x21cb, 0x21cc, 0x21cd, 0x21ce, 0x21cf, 0x21d0,
1300 0x21d1, 0x21d2, 0x21d3, 0x2894, 0x2895, 0x2896, 0x2897, 0x2898,
1301 0x2899, 0x289a, 0x289b, 0x289c, 0x289d, 0x289e, 0x289f, 0x28c0,
1302 0x28c1, 0x28c2, 0x28c3, 0x28c4, 0x28c5, 0x28c6, 0x28c7, 0x28c8,
1303 0x28c9, 0x28ca, 0x28cb, 0x2930, 0x2931, 0x2932, 0x2933, 0x2934,
1304 0x2935, 0x2936, 0x2937, 0x2938, 0x2939, 0x293a, 0x293b, 0x293c,
1305 0x293d, 0x293e, 0x293f, 0x2960, 0x2961, 0x2962, 0x2963, 0x2964,
1306 0x2965, 0x2966, 0x2967, 0x2968, 0x2969, 0x296a, 0x296b, 0x2a40,
1307 0x2a41, 0x2a42, 0x2a43, 0x2a44, 0x2a45, 0x2a46, 0x2a47, 0x2a48,
1308 0x2a49, 0x2a4a, 0x2a4b, 0x2a4c, 0x2a4d, 0x2a4e, 0x2a4f, 0x2a50,
1309 0x2a51, 0x2a52, 0x2a53, 0x2ae6, 0x2ae7, 0x2b24, 0x2b25, 0x2b26,
1310 0x2b27, 0x2b28, 0x2b29, 0x2b2a, 0x2b2b, 0x2b2c, 0x2b2d, 0x2b2e,
1311 0x2b2f, 0x2b30, 0x2b31, 0x2b32, 0x2b33, 0x2b5a, 0x2b5b, 0x3014,
1312 0x3015, 0x3016, 0x3017, 0x3020, 0x3021, 0x3022, 0x3023, 0x3024,
1313 0x3025, 0x3026, 0x3027, 0x3028, 0x3029, 0x302a, 0x302b, 0x302c,
1314 0x302d, 0x302e, 0x302f, 0x3030, 0x3031, 0x3032, 0x3033, 0x3034,
1315 0x3035, 0x3036, 0x3037, 0x3038, 0x3039, 0x30c0, 0x30c1, 0x30de,
1316 0x30df, 0x3218, 0x3219, 0x321a, 0x321b, 0x321c, 0x321d, 0x321e,
1317 0x321f, 0x3220, 0x3221, 0x3222, 0x3223, 0x3224, 0x3225, 0x3226,
1318 0x3227, 0x3228, 0x3229, 0x322a, 0x322b, 0x322c, 0x322d, 0x322e,
1319 0x322f, 0x3230, 0x3231, 0x3232, 0x3233, 0x3234, 0x3235, 0x3378,
1320 0x3379, 0x337a, 0x337b, 0x337c, 0x337d, 0x337e, 0x337f, 0x33c0,
1321 0x33c1, 0x33c2, 0x33c3, 0x33c4, 0x33c5, 0x33c6, 0x33c7, 0x33c8,
1322 0x33c9, 0x33ca, 0x33cb, 0x33cc, 0x33cd, 0x33ce, 0x33cf, 0x33d0,
1323 0x33d1, 0x33d2, 0x33d3, 0x33d4, 0x33d5, 0x33d6, 0x33d7, 0x33d8,
1324 0x33d9, 0x3706, 0x3707, 0x3730, 0x3731, 0x3732, 0x3733, 0x3734,
1325 0x3735, 0x3736, 0x3737, 0x3738, 0x3739, 0x373a, 0x373b, 0x373c,
1326 0x373d, 0x373e, 0x373f, 0x3740, 0x3741, 0x3742, 0x3743, 0x3744,
1327 0x3745, 0x3746, 0x3747, 0x3748, 0x3749, 0x374a, 0x374b, 0x374c,
1328 0x374d, 0x374e, 0x374f, 0x3b34, 0x3b35, 0x3b36, 0x3b37, 0x3be8,
1329 0x3be9, 0x3bea, 0x3beb, 0x3bec, 0x3bed, 0x3bee, 0x3bef, 0x3bf0,
1330 0x3bf1, 0x3bf2, 0x3bf3, 0x3bf4, 0x3bf5, 0x3bf6, 0x3bf7, 0x3bf8,
1331 0x3bf9, 0x3bfa, 0x3bfb, 0x3bfc, 0x3bfd, 0x3bfe, 0x3bff, 0x2000,
1332 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008,
1333 0x2009, 0x200a, 0x200b, 0x200c, 0x200d, 0x202e, 0x202f, 0x2182,
1334 0x2183, 0x21b4, 0x21b5, 0x21b6, 0x21b7, 0x21b8, 0x21b9, 0x21ba,
1335 0x21bb, 0x21bc, 0x21bd, 0x21be, 0x21bf, 0x2460, 0x2461, 0x2462,
1336 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246a,
1337 0x246b, 0x246c, 0x246d, 0x246e, 0x246f, 0x2470, 0x2471, 0x2472,
1338 0x2473, 0x26a2, 0x26a3, 0x000b,
1341 static const UINT8 table1_mv_bits[1100] = {
1342 2, 4, 4, 4, 5, 5, 5, 5,
1343 6, 6, 7, 7, 7, 7, 7, 8,
1344 8, 8, 8, 8, 8, 8, 8, 8,
1345 8, 8, 8, 8, 8, 8, 8, 8,
1346 8, 9, 9, 9, 9, 9, 9, 9,
1347 9, 9, 9, 9, 9, 9, 9, 9,
1348 9, 9, 9, 9, 9, 10, 10, 10,
1349 10, 10, 10, 10, 10, 10, 10, 10,
1350 10, 10, 10, 10, 10, 10, 10, 10,
1351 10, 10, 10, 10, 10, 10, 10, 10,
1352 10, 10, 10, 10, 10, 10, 10, 10,
1353 10, 10, 10, 10, 10, 10, 10, 10,
1354 10, 10, 10, 10, 10, 10, 10, 10,
1355 10, 10, 10, 10, 10, 10, 10, 10,
1356 10, 10, 10, 11, 11, 11, 11, 11,
1357 11, 11, 11, 11, 11, 11, 11, 11,
1358 11, 11, 11, 11, 11, 11, 11, 11,
1359 11, 11, 11, 11, 11, 11, 11, 11,
1360 11, 11, 11, 11, 11, 11, 11, 11,
1361 11, 11, 11, 11, 11, 11, 11, 11,
1362 11, 11, 11, 11, 11, 11, 11, 11,
1363 11, 11, 11, 11, 11, 11, 11, 11,
1364 11, 11, 11, 11, 11, 11, 11, 11,
1365 11, 11, 11, 11, 11, 11, 11, 11,
1366 11, 11, 11, 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, 12, 12, 12, 12, 12, 12,
1372 12, 12, 12, 12, 12, 12, 12, 12,
1373 12, 12, 12, 12, 12, 12, 12, 12,
1374 12, 12, 12, 12, 12, 12, 12, 12,
1375 12, 12, 12, 12, 12, 12, 12, 12,
1376 12, 12, 12, 12, 12, 12, 12, 12,
1377 12, 12, 12, 12, 12, 12, 12, 12,
1378 12, 12, 12, 12, 12, 12, 12, 12,
1379 12, 12, 12, 12, 12, 12, 12, 12,
1380 12, 12, 12, 12, 12, 12, 12, 12,
1381 12, 12, 12, 12, 12, 12, 12, 12,
1382 12, 12, 12, 12, 12, 12, 12, 12,
1383 12, 12, 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, 13,
1407 13, 13, 13, 13, 13, 13, 13, 13,
1408 13, 13, 13, 13, 13, 13, 13, 13,
1409 13, 13, 13, 13, 13, 13, 13, 13,
1410 13, 13, 13, 13, 13, 13, 13, 13,
1411 13, 13, 13, 13, 13, 13, 13, 13,
1412 13, 13, 13, 13, 13, 13, 13, 13,
1413 13, 13, 13, 13, 13, 13, 13, 13,
1414 13, 13, 13, 13, 13, 13, 13, 13,
1415 13, 13, 13, 13, 13, 13, 13, 13,
1416 13, 13, 13, 13, 13, 13, 13, 13,
1417 13, 13, 13, 13, 13, 13, 13, 13,
1418 13, 13, 13, 13, 13, 13, 13, 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, 14,
1461 14, 14, 14, 14, 14, 14, 14, 14,
1462 14, 14, 14, 14, 14, 14, 14, 14,
1463 14, 14, 14, 14, 14, 14, 14, 14,
1464 14, 14, 14, 14, 14, 14, 14, 14,
1465 14, 14, 14, 14, 14, 14, 14, 14,
1466 14, 14, 14, 14, 14, 14, 14, 14,
1467 14, 14, 14, 14, 14, 14, 14, 14,
1468 14, 14, 14, 14, 14, 14, 14, 14,
1469 14, 14, 14, 14, 14, 14, 14, 14,
1470 14, 14, 14, 14, 14, 14, 14, 14,
1471 14, 14, 14, 14, 14, 14, 14, 14,
1472 14, 14, 14, 14, 14, 14, 14, 15,
1473 15, 15, 15, 15, 15, 15, 15, 15,
1474 15, 15, 15, 15, 15, 15, 15, 15,
1475 15, 15, 15, 15, 15, 15, 15, 15,
1476 15, 15, 15, 15, 15, 15, 15, 15,
1477 15, 15, 15, 15, 15, 15, 15, 15,
1478 15, 15, 15, 15, 15, 15, 15, 15,
1482 static const UINT8 table1_mvx[1099] = {
1483 32, 31, 32, 31, 33, 32, 33, 33,
1484 31, 34, 30, 32, 32, 34, 35, 32,
1485 34, 33, 29, 30, 30, 32, 31, 31,
1486 33, 35, 35, 33, 31, 29, 29, 33,
1487 34, 30, 31, 28, 36, 30, 34, 32,
1488 32, 37, 32, 32, 25, 27, 39, 32,
1489 32, 32, 38, 35, 36, 32, 37, 61,
1490 26, 32, 34, 35, 3, 35, 27, 28,
1491 29, 34, 28, 37, 31, 36, 32, 27,
1492 31, 30, 29, 39, 33, 29, 33, 35,
1493 25, 25, 29, 33, 31, 31, 31, 33,
1494 32, 30, 32, 32, 41, 39, 33, 36,
1495 32, 28, 34, 36, 38, 24, 60, 31,
1496 23, 28, 32, 33, 59, 32, 40, 30,
1497 5, 34, 32, 38, 32, 30, 43, 4,
1498 32, 32, 42, 31, 31, 32, 26, 38,
1499 26, 22, 21, 37, 61, 63, 37, 31,
1500 32, 33, 2, 1, 23, 33, 41, 27,
1501 35, 30, 38, 23, 33, 3, 28, 34,
1502 34, 27, 41, 29, 39, 35, 36, 29,
1503 32, 27, 30, 32, 24, 61, 37, 26,
1504 59, 25, 35, 27, 36, 37, 30, 31,
1505 34, 40, 3, 28, 34, 39, 32, 31,
1506 32, 30, 24, 28, 35, 36, 26, 32,
1507 31, 33, 29, 33, 39, 25, 30, 24,
1508 35, 59, 29, 34, 25, 30, 21, 35,
1509 43, 40, 32, 29, 5, 28, 31, 62,
1510 33, 33, 25, 31, 21, 31, 43, 31,
1511 34, 33, 20, 40, 39, 31, 31, 57,
1512 38, 32, 42, 33, 32, 31, 32, 29,
1513 30, 44, 5, 31, 22, 34, 36, 17,
1514 38, 58, 38, 35, 32, 60, 35, 24,
1515 32, 38, 16, 45, 42, 32, 31, 29,
1516 4, 30, 17, 40, 46, 48, 63, 32,
1517 42, 19, 41, 22, 28, 36, 45, 33,
1518 33, 32, 29, 7, 41, 42, 18, 33,
1519 33, 32, 22, 37, 1, 26, 22, 23,
1520 49, 28, 26, 27, 32, 33, 27, 23,
1521 28, 36, 15, 6, 34, 27, 31, 26,
1522 23, 2, 33, 32, 34, 41, 28, 32,
1523 41, 0, 36, 38, 34, 31, 47, 32,
1524 17, 31, 39, 33, 37, 51, 30, 47,
1525 32, 50, 32, 19, 63, 30, 25, 27,
1526 33, 62, 24, 31, 27, 30, 37, 31,
1527 45, 32, 39, 20, 46, 47, 35, 19,
1528 34, 1, 49, 21, 21, 14, 51, 26,
1529 23, 31, 36, 35, 58, 29, 29, 21,
1530 20, 42, 13, 28, 12, 40, 31, 33,
1531 39, 60, 32, 44, 33, 31, 28, 37,
1532 29, 32, 30, 49, 43, 28, 39, 25,
1533 32, 48, 2, 15, 20, 25, 31, 28,
1534 21, 24, 25, 15, 31, 17, 37, 43,
1535 18, 32, 33, 24, 33, 36, 13, 33,
1536 31, 39, 11, 31, 33, 32, 39, 37,
1537 32, 32, 29, 17, 44, 46, 36, 35,
1538 26, 37, 58, 32, 34, 38, 8, 38,
1539 38, 22, 29, 25, 16, 35, 32, 35,
1540 33, 43, 18, 46, 38, 50, 33, 18,
1541 53, 60, 13, 32, 36, 33, 51, 36,
1542 43, 45, 27, 42, 29, 24, 30, 25,
1543 31, 52, 31, 35, 38, 9, 22, 34,
1544 4, 17, 28, 55, 42, 25, 17, 20,
1545 47, 34, 33, 16, 40, 25, 16, 30,
1546 53, 29, 10, 11, 14, 26, 33, 4,
1547 35, 44, 26, 16, 31, 26, 34, 38,
1548 29, 31, 30, 24, 22, 61, 32, 9,
1549 45, 34, 31, 19, 9, 31, 46, 31,
1550 35, 54, 29, 57, 30, 50, 3, 31,
1551 63, 34, 47, 41, 51, 18, 31, 14,
1552 37, 38, 31, 24, 32, 31, 50, 33,
1553 31, 54, 27, 9, 33, 23, 19, 32,
1554 29, 29, 33, 28, 47, 49, 30, 47,
1555 33, 27, 25, 54, 44, 45, 50, 58,
1556 51, 48, 33, 59, 33, 34, 57, 13,
1557 26, 33, 13, 48, 30, 11, 7, 56,
1558 34, 55, 26, 0, 26, 35, 1, 51,
1559 33, 53, 31, 45, 12, 29, 29, 51,
1560 31, 48, 2, 6, 34, 30, 28, 33,
1561 60, 40, 27, 46, 31, 9, 35, 29,
1562 31, 39, 55, 46, 19, 37, 62, 34,
1563 30, 16, 19, 49, 41, 41, 39, 37,
1564 14, 5, 13, 35, 55, 30, 40, 40,
1565 42, 8, 20, 25, 45, 35, 33, 36,
1566 54, 38, 27, 37, 62, 40, 15, 59,
1567 49, 31, 29, 34, 34, 39, 24, 29,
1568 25, 29, 21, 29, 10, 61, 33, 49,
1569 35, 34, 3, 38, 39, 29, 7, 41,
1570 1, 35, 4, 23, 15, 23, 11, 37,
1571 28, 35, 30, 30, 24, 1, 43, 56,
1572 8, 34, 42, 24, 45, 30, 20, 23,
1573 8, 38, 22, 33, 17, 52, 34, 22,
1574 53, 43, 44, 1, 27, 31, 41, 43,
1575 41, 30, 31, 36, 30, 5, 55, 31,
1576 33, 30, 40, 23, 15, 29, 34, 34,
1577 59, 34, 30, 11, 13, 38, 5, 0,
1578 30, 42, 5, 30, 29, 34, 10, 44,
1579 30, 63, 35, 12, 3, 26, 15, 17,
1580 25, 34, 43, 39, 34, 56, 29, 23,
1581 30, 12, 30, 10, 35, 9, 24, 58,
1582 10, 12, 54, 33, 37, 20, 41, 35,
1583 29, 18, 61, 30, 40, 24, 39, 53,
1584 62, 26, 29, 33, 34, 53, 49, 21,
1585 27, 11, 63, 20, 26, 23, 7, 13,
1586 6, 47, 29, 30, 9, 51, 22, 34,
1587 21, 25, 33, 56, 57, 30, 38, 51,
1588 51, 38, 63, 28, 40, 35, 33, 18,
1589 33, 33, 24, 58, 58, 34, 49, 29,
1590 43, 4, 1, 4, 42, 35, 35, 30,
1591 17, 5, 56, 61, 25, 37, 36, 55,
1592 28, 35, 29, 50, 48, 52, 2, 42,
1593 34, 40, 46, 46, 43, 35, 29, 48,
1594 20, 29, 31, 41, 7, 30, 35, 19,
1595 14, 21, 8, 39, 39, 40, 46, 55,
1596 34, 6, 30, 34, 37, 25, 37, 33,
1597 22, 44, 52, 17, 35, 29, 36, 35,
1598 40, 37, 28, 30, 50, 14, 28, 55,
1599 6, 23, 19, 14, 30, 3, 30, 28,
1600 28, 61, 61, 47, 45, 48, 40, 40,
1601 34, 34, 25, 30, 29, 35, 4, 26,
1602 53, 50, 26, 41, 27, 59, 27, 38,
1603 39, 3, 50, 43, 47, 23, 33, 55,
1604 35, 21, 23, 35, 61, 33, 46, 52,
1605 35, 34, 24, 30, 43, 16, 37, 21,
1606 2, 24, 45, 34, 30, 55, 55, 1,
1607 29, 29, 26, 28, 25, 31, 36, 22,
1608 17, 30, 52, 2, 44, 44, 57, 26,
1609 62, 41, 39, 57, 26, 46, 49, 11,
1610 16, 19, 5, 59, 38, 39, 58, 38,
1611 25, 49, 50, 22, 28, 59, 9, 59,
1612 7, 28, 55, 17, 4, 35, 50, 21,
1613 29, 44, 47, 18, 24, 19, 25, 42,
1614 35, 3, 51, 35, 16, 35, 30, 63,
1615 57, 39, 39, 25, 35, 38, 9, 16,
1616 36, 45, 31, 60, 14, 34, 42, 24,
1617 0, 37, 18, 61, 57, 37, 28, 53,
1618 20, 46, 14, 47, 38, 38, 38, 9,
1619 34, 39, 43, 17, 39, 59, 5, 27,
1623 static const UINT8 table1_mvy[1099] = {
1624 32, 32, 31, 31, 32, 33, 31, 33,
1625 33, 32, 32, 30, 34, 31, 32, 29,
1626 33, 30, 32, 33, 31, 35, 34, 30,
1627 34, 31, 33, 29, 29, 31, 33, 35,
1628 30, 30, 35, 32, 32, 34, 34, 28,
1629 25, 32, 36, 27, 32, 32, 32, 37,
1630 39, 3, 32, 30, 31, 26, 31, 32,
1631 32, 38, 29, 29, 32, 34, 31, 31,
1632 34, 35, 33, 33, 28, 33, 1, 33,
1633 27, 29, 30, 31, 28, 29, 37, 35,
1634 31, 33, 35, 27, 36, 37, 25, 25,
1635 61, 35, 4, 5, 32, 33, 36, 30,
1636 23, 30, 28, 34, 31, 32, 32, 39,
1637 32, 34, 21, 39, 32, 59, 32, 28,
1638 32, 36, 60, 33, 24, 36, 32, 32,
1639 41, 2, 32, 38, 26, 22, 33, 30,
1640 31, 32, 32, 30, 31, 32, 29, 3,
1641 40, 38, 32, 32, 33, 26, 31, 34,
1642 28, 38, 34, 31, 3, 31, 35, 38,
1643 27, 35, 33, 28, 29, 27, 29, 27,
1644 43, 29, 37, 63, 31, 33, 34, 30,
1645 31, 30, 37, 30, 35, 35, 26, 41,
1646 37, 31, 33, 28, 26, 30, 42, 24,
1647 7, 27, 33, 29, 36, 28, 34, 57,
1648 23, 41, 36, 23, 35, 34, 25, 30,
1649 25, 33, 25, 25, 29, 24, 33, 39,
1650 33, 33, 0, 37, 31, 36, 21, 32,
1651 61, 24, 35, 61, 31, 5, 31, 59,
1652 39, 21, 32, 30, 34, 22, 40, 32,
1653 29, 16, 31, 5, 62, 2, 20, 39,
1654 39, 32, 33, 1, 31, 24, 36, 32,
1655 36, 32, 28, 26, 6, 31, 38, 34,
1656 58, 35, 32, 33, 33, 17, 43, 26,
1657 31, 40, 31, 34, 32, 32, 31, 19,
1658 30, 32, 29, 33, 38, 38, 32, 59,
1659 40, 18, 38, 32, 35, 34, 32, 17,
1660 1, 15, 30, 28, 31, 28, 34, 29,
1661 32, 27, 35, 27, 49, 22, 37, 34,
1662 37, 26, 32, 32, 22, 28, 45, 29,
1663 30, 31, 43, 46, 41, 30, 26, 13,
1664 34, 32, 27, 38, 42, 42, 33, 47,
1665 33, 60, 27, 42, 25, 32, 22, 32,
1666 48, 32, 45, 33, 33, 41, 27, 25,
1667 19, 31, 35, 19, 36, 42, 27, 17,
1668 31, 44, 28, 33, 33, 31, 23, 31,
1669 40, 33, 31, 34, 30, 32, 33, 36,
1670 35, 47, 37, 41, 31, 23, 41, 29,
1671 30, 35, 32, 25, 32, 28, 58, 2,
1672 37, 33, 14, 33, 49, 20, 39, 36,
1673 21, 9, 23, 33, 35, 24, 39, 37,
1674 11, 33, 30, 31, 31, 28, 51, 40,
1675 35, 29, 25, 33, 46, 35, 37, 30,
1676 30, 8, 63, 28, 15, 40, 33, 45,
1677 49, 25, 32, 4, 47, 51, 36, 39,
1678 53, 10, 24, 29, 30, 31, 25, 40,
1679 38, 38, 33, 56, 23, 27, 32, 37,
1680 26, 29, 43, 36, 33, 24, 55, 43,
1681 9, 29, 34, 34, 24, 33, 18, 33,
1682 33, 30, 31, 50, 24, 60, 30, 39,
1683 34, 30, 39, 28, 22, 38, 2, 26,
1684 63, 32, 57, 21, 39, 33, 28, 18,
1685 30, 34, 22, 33, 29, 41, 30, 34,
1686 35, 21, 13, 34, 35, 39, 30, 46,
1687 32, 42, 32, 31, 33, 26, 11, 33,
1688 22, 31, 25, 31, 53, 27, 43, 25,
1689 40, 50, 21, 36, 38, 30, 12, 31,
1690 34, 20, 15, 29, 32, 62, 30, 13,
1691 17, 32, 19, 31, 20, 31, 30, 7,
1692 1, 17, 34, 37, 31, 31, 44, 34,
1693 26, 40, 16, 37, 52, 48, 30, 20,
1694 18, 33, 38, 29, 7, 25, 30, 54,
1695 45, 47, 46, 41, 29, 29, 16, 30,
1696 14, 26, 38, 34, 34, 29, 34, 30,
1697 29, 30, 57, 30, 4, 46, 33, 29,
1698 39, 44, 30, 31, 50, 33, 31, 32,
1699 19, 32, 40, 31, 37, 47, 1, 35,
1700 16, 31, 0, 35, 33, 1, 17, 34,
1701 9, 34, 33, 31, 49, 43, 42, 51,
1702 34, 29, 23, 29, 14, 30, 45, 49,
1703 11, 24, 31, 28, 35, 41, 30, 44,
1704 18, 29, 34, 35, 36, 25, 26, 21,
1705 31, 30, 34, 19, 34, 44, 36, 38,
1706 25, 31, 28, 23, 37, 3, 55, 41,
1707 30, 22, 41, 24, 33, 26, 35, 35,
1708 30, 55, 51, 47, 48, 38, 24, 15,
1709 21, 50, 25, 46, 30, 29, 10, 34,
1710 42, 45, 29, 42, 22, 3, 33, 27,
1711 34, 1, 34, 28, 34, 36, 35, 23,
1712 23, 13, 58, 3, 26, 63, 25, 31,
1713 34, 61, 38, 39, 25, 61, 29, 37,
1714 30, 41, 26, 48, 28, 33, 50, 35,
1715 30, 37, 29, 29, 40, 6, 39, 28,
1716 28, 19, 8, 22, 45, 34, 35, 10,
1717 58, 17, 37, 39, 30, 18, 54, 14,
1718 29, 16, 59, 30, 35, 23, 35, 30,
1719 47, 36, 29, 55, 20, 12, 31, 35,
1720 14, 29, 18, 34, 34, 24, 29, 26,
1721 22, 2, 27, 23, 8, 30, 55, 38,
1722 60, 31, 4, 34, 49, 34, 27, 34,
1723 33, 30, 31, 54, 42, 35, 38, 46,
1724 44, 26, 27, 9, 39, 25, 21, 29,
1725 28, 42, 13, 0, 5, 34, 37, 28,
1726 24, 29, 63, 26, 22, 27, 29, 25,
1727 33, 25, 61, 0, 35, 25, 36, 15,
1728 27, 40, 53, 33, 3, 10, 16, 37,
1729 38, 18, 30, 46, 27, 9, 6, 29,
1730 62, 8, 42, 28, 29, 3, 25, 16,
1731 26, 29, 35, 28, 27, 51, 61, 48,
1732 37, 9, 34, 7, 49, 45, 20, 29,
1733 21, 5, 5, 29, 28, 34, 29, 24,
1734 10, 24, 35, 36, 38, 55, 11, 36,
1735 38, 53, 54, 26, 30, 49, 20, 27,
1736 30, 39, 33, 41, 49, 22, 38, 38,
1737 4, 30, 8, 9, 3, 24, 22, 50,
1738 37, 36, 31, 27, 2, 9, 42, 63,
1739 25, 19, 44, 1, 28, 28, 48, 30,
1740 34, 41, 41, 38, 12, 27, 15, 0,
1741 16, 34, 35, 38, 28, 29, 40, 42,
1742 51, 52, 45, 54, 59, 59, 42, 44,
1743 37, 26, 46, 24, 15, 39, 22, 46,
1744 19, 35, 38, 17, 37, 23, 52, 55,
1745 50, 37, 26, 11, 37, 12, 24, 30,
1746 16, 13, 22, 13, 36, 35, 40, 41,
1747 34, 41, 26, 53, 51, 5, 21, 30,
1748 2, 63, 41, 20, 1, 56, 21, 24,
1749 25, 5, 28, 35, 26, 28, 30, 18,
1750 29, 23, 40, 34, 20, 42, 39, 34,
1751 28, 61, 38, 27, 62, 9, 36, 17,
1752 9, 49, 24, 25, 54, 34, 39, 37,
1753 3, 1, 25, 38, 38, 44, 35, 36,
1754 12, 60, 36, 38, 40, 25, 43, 39,
1755 53, 28, 39, 57, 46, 10, 52, 27,
1756 35, 42, 45, 59, 15, 60, 38, 24,
1757 23, 39, 12, 29, 24, 0, 20, 16,
1758 28, 43, 35, 28, 1, 49, 4, 21,
1759 42, 39, 29, 3, 44, 21, 53, 55,
1760 11, 5, 3, 39, 53, 28, 25, 19,
1764 /* motion vector table */
1765 typedef struct MVTable {
1767 const UINT16 *table_mv_code;
1768 const UINT8 *table_mv_bits;
1769 const UINT8 *table_mvx;
1770 const UINT8 *table_mvy;
1771 UINT16 *table_mv_index; /* encoding: convert mv to index in table_mv */
1772 VLC vlc; /* decoding: vlc */
1775 static MVTable mv_tables[2] = {
1792 static const UINT8 v2_mb_type[8][2] = {
1793 {1, 1}, {0 , 2}, {3 , 3}, {9 , 5},
1794 {5, 4}, {0x21, 7}, {0x20, 7}, {0x11, 6},
1797 static const UINT8 v2_intra_cbpc[4][2] = {
1798 {1, 1}, {0, 3}, {1, 3}, {1, 2},
1801 static UINT8 wmv1_y_dc_scale_table[32]={
1802 // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
1803 0, 8, 8, 8, 8, 8, 9, 9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21
1805 static UINT8 wmv1_c_dc_scale_table[32]={
1806 // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
1807 0, 8, 8, 8, 8, 9, 9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22
1810 static UINT8 old_ff_y_dc_scale_table[32]={
1811 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1812 0, 8, 8, 8, 8,10,12,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
1814 static UINT8 old_ff_c_dc_scale_table[32]={
1815 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1816 0, 8, 8, 8, 8, 9, 9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22
1820 #define WMV1_SCANTABLE_COUNT 4
1822 static const UINT8 wmv1_scantable00[64]= {
1823 0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
1824 0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
1825 0x30, 0x38, 0x29, 0x21, 0x1A, 0x13, 0x0C, 0x05,
1826 0x06, 0x0D, 0x14, 0x1B, 0x22, 0x31, 0x39, 0x3A,
1827 0x32, 0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F,
1828 0x16, 0x1D, 0x24, 0x2B, 0x33, 0x3B, 0x3C, 0x34,
1829 0x2C, 0x25, 0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x35,
1830 0x3D, 0x3E, 0x36, 0x2E, 0x27, 0x2F, 0x37, 0x3F,
1832 static const UINT8 wmv1_scantable01[64]= {
1833 0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
1834 0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
1835 0x21, 0x30, 0x1A, 0x13, 0x0C, 0x05, 0x06, 0x0D,
1836 0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39, 0x2A,
1837 0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F, 0x16, 0x1D,
1838 0x24, 0x2B, 0x32, 0x3A, 0x33, 0x3B, 0x2C, 0x25,
1839 0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3C, 0x35,
1840 0x3D, 0x2E, 0x27, 0x2F, 0x36, 0x3E, 0x37, 0x3F,
1842 static const UINT8 wmv1_scantable02[64]= {
1843 0x00, 0x01, 0x08, 0x02, 0x03, 0x09, 0x10, 0x18,
1844 0x11, 0x0A, 0x04, 0x05, 0x0B, 0x12, 0x19, 0x20,
1845 0x28, 0x30, 0x21, 0x1A, 0x13, 0x0C, 0x06, 0x07,
1846 0x0D, 0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39,
1847 0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x0F, 0x16, 0x1D,
1848 0x24, 0x2B, 0x32, 0x3A, 0x33, 0x2C, 0x25, 0x1E,
1849 0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3B, 0x3C, 0x35,
1850 0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F,
1852 static const UINT8 wmv1_scantable03[64]= {
1853 0x00, 0x08, 0x10, 0x01, 0x18, 0x20, 0x28, 0x09,
1854 0x02, 0x03, 0x0A, 0x11, 0x19, 0x30, 0x38, 0x29,
1855 0x21, 0x1A, 0x12, 0x0B, 0x04, 0x05, 0x0C, 0x13,
1856 0x1B, 0x22, 0x31, 0x39, 0x32, 0x2A, 0x23, 0x1C,
1857 0x14, 0x0D, 0x06, 0x07, 0x0E, 0x15, 0x1D, 0x24,
1858 0x2B, 0x33, 0x3A, 0x3B, 0x34, 0x2C, 0x25, 0x1E,
1859 0x16, 0x0F, 0x17, 0x1F, 0x26, 0x2D, 0x3C, 0x35,
1860 0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F,
1863 static const UINT8 *wmv1_scantable[WMV1_SCANTABLE_COUNT+1]={
1870 static UINT8 table_inter_intra[4][2]={
1871 {0,1},{2,2},{6,3},{7,3}