Revision 9488b966 libavcodec/msmpeg4data.c

View differences:

libavcodec/msmpeg4data.c
52 52
{ 0x15, 6 },{ 0x1db, 10 },{ 0x2, 9 },{ 0x46, 9 },
53 53
{ 0xd, 8 },{ 0x713, 13 },{ 0x1da, 10 },{ 0x169, 10 },
54 54
};
55

  
56
/* non intra picture macro block coded block pattern + mb type */
57
const uint32_t table_mb_non_intra[128][2] = {
58
{   0x40,  7 },{   0x13c9, 13 },{   0x9fd, 12 },{   0x1fc, 15 },
59
{  0x9fc, 12 },{    0xa83, 18 },{ 0x12d34, 17 },{  0x83bc, 16 },
60
{  0x83a, 12 },{    0x7f8, 17 },{   0x3fd, 16 },{   0x3ff, 16 },
61
{   0x79, 13 },{    0xa82, 18 },{  0x969d, 16 },{   0x2a4, 16 },
62
{  0x978, 12 },{    0x543, 17 },{  0x41df, 15 },{   0x7f9, 17 },
63
{ 0x12f3, 13 },{  0x25a6b, 18 },{ 0x25ef9, 18 },{   0x3fa, 16 },
64
{ 0x20ee, 14 },{  0x969ab, 20 },{  0x969c, 16 },{ 0x25ef8, 18 },
65
{ 0x12d2, 13 },{    0xa85, 18 },{  0x969e, 16 },{  0x4bc8, 15 },
66
{   0x3d, 12 },{  0x12f7f, 17 },{   0x2a2, 16 },{  0x969f, 16 },
67
{ 0x25ee, 14 },{ 0x12d355, 21 },{ 0x12f7d, 17 },{ 0x12f7e, 17 },
68
{  0x9e5, 12 },{    0xa81, 18 },{ 0x4b4d4, 19 },{  0x83bd, 16 },
69
{   0x78, 13 },{   0x969b, 16 },{   0x3fe, 16 },{   0x2a5, 16 },
70
{   0x7e, 13 },{    0xa80, 18 },{   0x2a3, 16 },{   0x3fb, 16 },
71
{ 0x1076, 13 },{    0xa84, 18 },{   0x153, 15 },{  0x4bc9, 15 },
72
{   0x55, 13 },{ 0x12d354, 21 },{  0x4bde, 15 },{  0x25e5, 14 },
73
{  0x25b, 10 },{   0x4b4c, 15 },{   0x96b, 12 },{   0x96a, 12 },
74
{    0x1,  2 },{      0x0,  7 },{    0x26,  6 },{   0x12b,  9 },
75
{    0x7,  3 },{    0x20f, 10 },{     0x4,  9 },{    0x28, 12 },
76
{    0x6,  3 },{    0x20a, 10 },{   0x128,  9 },{    0x2b, 12 },
77
{   0x11,  5 },{     0x1b, 11 },{   0x13a,  9 },{   0x4ff, 11 },
78
{    0x3,  4 },{    0x277, 10 },{   0x106,  9 },{   0x839, 12 },
79
{    0xb,  4 },{    0x27b, 10 },{   0x12c,  9 },{   0x4bf, 11 },
80
{    0x9,  6 },{     0x35, 12 },{   0x27e, 10 },{  0x13c8, 13 },
81
{    0x1,  6 },{    0x4aa, 11 },{   0x208, 10 },{    0x29, 12 },
82
{    0x1,  4 },{    0x254, 10 },{   0x12e,  9 },{   0x838, 12 },
83
{   0x24,  6 },{    0x4f3, 11 },{   0x276, 10 },{  0x12f6, 13 },
84
{    0x1,  5 },{    0x27a, 10 },{   0x13e,  9 },{    0x3e, 12 },
85
{    0x8,  6 },{    0x413, 11 },{     0xc, 10 },{   0x4be, 11 },
86
{   0x14,  5 },{    0x412, 11 },{   0x253, 10 },{   0x97a, 12 },
87
{   0x21,  6 },{    0x4ab, 11 },{   0x20b, 10 },{    0x34, 12 },
88
{   0x15,  5 },{    0x278, 10 },{   0x252, 10 },{   0x968, 12 },
89
{    0x5,  5 },{      0xb, 10 },{    0x9c,  8 },{     0xe, 10 },
90
};
91

  
92
/* dc table 0 */
93

  
94
const uint32_t ff_table0_dc_lum[120][2] = {
95
{     0x1,  1 },{      0x1, 2 },{     0x1,  4 },{     0x1,  5 },
96
{     0x5,  5 },{      0x7, 5 },{     0x8,  6 },{     0xc,  6 },
97
{     0x0,  7 },{      0x2, 7 },{    0x12,  7 },{    0x1a,  7 },
98
{     0x3,  8 },{      0x7, 8 },{    0x27,  8 },{    0x37,  8 },
99
{     0x5,  9 },{     0x4c, 9 },{    0x6c,  9 },{    0x6d,  9 },
100
{     0x8, 10 },{    0x19, 10 },{    0x9b, 10 },{    0x1b, 10 },
101
{    0x9a, 10 },{    0x13, 11 },{    0x34, 11 },{    0x35, 11 },
102
{    0x61, 12 },{    0x48, 13 },{    0xc4, 13 },{    0x4a, 13 },
103
{    0xc6, 13 },{    0xc7, 13 },{    0x92, 14 },{   0x18b, 14 },
104
{    0x93, 14 },{   0x183, 14 },{   0x182, 14 },{    0x96, 14 },
105
{    0x97, 14 },{   0x180, 14 },{   0x314, 15 },{   0x315, 15 },
106
{   0x605, 16 },{   0x604, 16 },{   0x606, 16 },{   0xc0e, 17 },
107
{ 0x303cd, 23 },{ 0x303c9, 23 },{ 0x303c8, 23 },{ 0x303ca, 23 },
108
{ 0x303cb, 23 },{ 0x303cc, 23 },{ 0x303ce, 23 },{ 0x303cf, 23 },
109
{ 0x303d0, 23 },{ 0x303d1, 23 },{ 0x303d2, 23 },{ 0x303d3, 23 },
110
{ 0x303d4, 23 },{ 0x303d5, 23 },{ 0x303d6, 23 },{ 0x303d7, 23 },
111
{ 0x303d8, 23 },{ 0x303d9, 23 },{ 0x303da, 23 },{ 0x303db, 23 },
112
{ 0x303dc, 23 },{ 0x303dd, 23 },{ 0x303de, 23 },{ 0x303df, 23 },
113
{ 0x303e0, 23 },{ 0x303e1, 23 },{ 0x303e2, 23 },{ 0x303e3, 23 },
114
{ 0x303e4, 23 },{ 0x303e5, 23 },{ 0x303e6, 23 },{ 0x303e7, 23 },
115
{ 0x303e8, 23 },{ 0x303e9, 23 },{ 0x303ea, 23 },{ 0x303eb, 23 },
116
{ 0x303ec, 23 },{ 0x303ed, 23 },{ 0x303ee, 23 },{ 0x303ef, 23 },
117
{ 0x303f0, 23 },{ 0x303f1, 23 },{ 0x303f2, 23 },{ 0x303f3, 23 },
118
{ 0x303f4, 23 },{ 0x303f5, 23 },{ 0x303f6, 23 },{ 0x303f7, 23 },
119
{ 0x303f8, 23 },{ 0x303f9, 23 },{ 0x303fa, 23 },{ 0x303fb, 23 },
120
{ 0x303fc, 23 },{ 0x303fd, 23 },{ 0x303fe, 23 },{ 0x303ff, 23 },
121
{ 0x60780, 24 },{ 0x60781, 24 },{ 0x60782, 24 },{ 0x60783, 24 },
122
{ 0x60784, 24 },{ 0x60785, 24 },{ 0x60786, 24 },{ 0x60787, 24 },
123
{ 0x60788, 24 },{ 0x60789, 24 },{ 0x6078a, 24 },{ 0x6078b, 24 },
124
{ 0x6078c, 24 },{ 0x6078d, 24 },{ 0x6078e, 24 },{ 0x6078f, 24 },
125
};
126

  
127
const uint32_t ff_table0_dc_chroma[120][2] = {
128
{      0x0,  2 },{      0x1,  2 },{      0x5,  3 },{      0x9,  4 },
129
{      0xd,  4 },{     0x11,  5 },{     0x1d,  5 },{     0x1f,  5 },
130
{     0x21,  6 },{     0x31,  6 },{     0x38,  6 },{     0x33,  6 },
131
{     0x39,  6 },{     0x3d,  6 },{     0x61,  7 },{     0x79,  7 },
132
{     0x80,  8 },{     0xc8,  8 },{     0xca,  8 },{     0xf0,  8 },
133
{     0x81,  8 },{     0xc0,  8 },{     0xc9,  8 },{    0x107,  9 },
134
{    0x106,  9 },{    0x196,  9 },{    0x183,  9 },{    0x1e3,  9 },
135
{    0x1e2,  9 },{    0x20a, 10 },{    0x20b, 10 },{    0x609, 11 },
136
{    0x412, 11 },{    0x413, 11 },{    0x60b, 11 },{    0x411, 11 },
137
{    0x60a, 11 },{    0x65f, 11 },{    0x410, 11 },{    0x65d, 11 },
138
{    0x65e, 11 },{    0xcb8, 12 },{    0xc10, 12 },{    0xcb9, 12 },
139
{   0x1823, 13 },{   0x3045, 14 },{   0x6089, 15 },{   0xc110, 16 },
140
{ 0x304448, 22 },{ 0x304449, 22 },{ 0x30444a, 22 },{ 0x30444b, 22 },
141
{ 0x30444c, 22 },{ 0x30444d, 22 },{ 0x30444e, 22 },{ 0x30444f, 22 },
142
{ 0x304450, 22 },{ 0x304451, 22 },{ 0x304452, 22 },{ 0x304453, 22 },
143
{ 0x304454, 22 },{ 0x304455, 22 },{ 0x304456, 22 },{ 0x304457, 22 },
144
{ 0x304458, 22 },{ 0x304459, 22 },{ 0x30445a, 22 },{ 0x30445b, 22 },
145
{ 0x30445c, 22 },{ 0x30445d, 22 },{ 0x30445e, 22 },{ 0x30445f, 22 },
146
{ 0x304460, 22 },{ 0x304461, 22 },{ 0x304462, 22 },{ 0x304463, 22 },
147
{ 0x304464, 22 },{ 0x304465, 22 },{ 0x304466, 22 },{ 0x304467, 22 },
148
{ 0x304468, 22 },{ 0x304469, 22 },{ 0x30446a, 22 },{ 0x30446b, 22 },
149
{ 0x30446c, 22 },{ 0x30446d, 22 },{ 0x30446e, 22 },{ 0x30446f, 22 },
150
{ 0x304470, 22 },{ 0x304471, 22 },{ 0x304472, 22 },{ 0x304473, 22 },
151
{ 0x304474, 22 },{ 0x304475, 22 },{ 0x304476, 22 },{ 0x304477, 22 },
152
{ 0x304478, 22 },{ 0x304479, 22 },{ 0x30447a, 22 },{ 0x30447b, 22 },
153
{ 0x30447c, 22 },{ 0x30447d, 22 },{ 0x30447e, 22 },{ 0x30447f, 22 },
154
{ 0x608880, 23 },{ 0x608881, 23 },{ 0x608882, 23 },{ 0x608883, 23 },
155
{ 0x608884, 23 },{ 0x608885, 23 },{ 0x608886, 23 },{ 0x608887, 23 },
156
{ 0x608888, 23 },{ 0x608889, 23 },{ 0x60888a, 23 },{ 0x60888b, 23 },
157
{ 0x60888c, 23 },{ 0x60888d, 23 },{ 0x60888e, 23 },{ 0x60888f, 23 },
158
};
159

  
160
/* dc table 1 */
161

  
162
const uint32_t ff_table1_dc_lum[120][2] = {
163
{      0x2,  2 },{      0x3,  2 },{      0x3,  3 },{      0x2,  4 },
164
{      0x5,  4 },{      0x1,  5 },{      0x3,  5 },{      0x8,  5 },
165
{      0x0,  6 },{      0x5,  6 },{      0xd,  6 },{      0xf,  6 },
166
{     0x13,  6 },{      0x8,  7 },{     0x18,  7 },{     0x1c,  7 },
167
{     0x24,  7 },{      0x4,  8 },{      0x6,  8 },{     0x12,  8 },
168
{     0x32,  8 },{     0x3b,  8 },{     0x4a,  8 },{     0x4b,  8 },
169
{      0xb,  9 },{     0x26,  9 },{     0x27,  9 },{     0x66,  9 },
170
{     0x74,  9 },{     0x75,  9 },{     0x14, 10 },{     0x1c, 10 },
171
{     0x1f, 10 },{     0x1d, 10 },{     0x2b, 11 },{     0x3d, 11 },
172
{    0x19d, 11 },{    0x19f, 11 },{     0x54, 12 },{    0x339, 12 },
173
{    0x338, 12 },{    0x33d, 12 },{     0xab, 13 },{     0xf1, 13 },
174
{    0x678, 13 },{     0xf2, 13 },{    0x1e0, 14 },{    0x1e1, 14 },
175
{    0x154, 14 },{    0xcf2, 14 },{    0x3cc, 15 },{    0x2ab, 15 },
176
{   0x19e7, 15 },{    0x3ce, 15 },{   0x19e6, 15 },{    0x554, 16 },
177
{    0x79f, 16 },{    0x555, 16 },{    0xf3d, 17 },{    0xf37, 17 },
178
{    0xf3c, 17 },{    0xf35, 17 },{   0x1e6d, 18 },{   0x1e68, 18 },
179
{   0x3cd8, 19 },{   0x3cd3, 19 },{   0x3cd9, 19 },{   0x79a4, 20 },
180
{  0xf34ba, 25 },{  0xf34b4, 25 },{  0xf34b5, 25 },{  0xf34b6, 25 },
181
{  0xf34b7, 25 },{  0xf34b8, 25 },{  0xf34b9, 25 },{  0xf34bb, 25 },
182
{  0xf34bc, 25 },{  0xf34bd, 25 },{  0xf34be, 25 },{  0xf34bf, 25 },
183
{ 0x1e6940, 26 },{ 0x1e6941, 26 },{ 0x1e6942, 26 },{ 0x1e6943, 26 },
184
{ 0x1e6944, 26 },{ 0x1e6945, 26 },{ 0x1e6946, 26 },{ 0x1e6947, 26 },
185
{ 0x1e6948, 26 },{ 0x1e6949, 26 },{ 0x1e694a, 26 },{ 0x1e694b, 26 },
186
{ 0x1e694c, 26 },{ 0x1e694d, 26 },{ 0x1e694e, 26 },{ 0x1e694f, 26 },
187
{ 0x1e6950, 26 },{ 0x1e6951, 26 },{ 0x1e6952, 26 },{ 0x1e6953, 26 },
188
{ 0x1e6954, 26 },{ 0x1e6955, 26 },{ 0x1e6956, 26 },{ 0x1e6957, 26 },
189
{ 0x1e6958, 26 },{ 0x1e6959, 26 },{ 0x1e695a, 26 },{ 0x1e695b, 26 },
190
{ 0x1e695c, 26 },{ 0x1e695d, 26 },{ 0x1e695e, 26 },{ 0x1e695f, 26 },
191
{ 0x1e6960, 26 },{ 0x1e6961, 26 },{ 0x1e6962, 26 },{ 0x1e6963, 26 },
192
{ 0x1e6964, 26 },{ 0x1e6965, 26 },{ 0x1e6966, 26 },{ 0x1e6967, 26 },
193
};
194

  
195
const uint32_t ff_table1_dc_chroma[120][2] = {
196
{       0x0,  2 },{       0x1,  2 },{       0x4,  3 },{       0x7,  3 },
197
{       0xb,  4 },{       0xd,  4 },{      0x15,  5 },{      0x28,  6 },
198
{      0x30,  6 },{      0x32,  6 },{      0x52,  7 },{      0x62,  7 },
199
{      0x66,  7 },{      0xa6,  8 },{      0xc6,  8 },{      0xcf,  8 },
200
{     0x14f,  9 },{     0x18e,  9 },{     0x19c,  9 },{     0x29d, 10 },
201
{     0x33a, 10 },{     0x538, 11 },{     0x63c, 11 },{     0x63e, 11 },
202
{     0x63f, 11 },{     0x676, 11 },{     0xa73, 12 },{     0xc7a, 12 },
203
{     0xcef, 12 },{    0x14e5, 13 },{    0x19dd, 13 },{    0x29c8, 14 },
204
{    0x29c9, 14 },{    0x63dd, 15 },{    0x33b8, 14 },{    0x33b9, 14 },
205
{    0xc7b6, 16 },{    0x63d8, 15 },{    0x63df, 15 },{    0xc7b3, 16 },
206
{    0xc7b4, 16 },{    0xc7b5, 16 },{    0x63de, 15 },{    0xc7b7, 16 },
207
{    0xc7b8, 16 },{    0xc7b9, 16 },{   0x18f65, 17 },{   0x31ec8, 18 },
208
{  0xc7b248, 24 },{  0xc7b249, 24 },{  0xc7b24a, 24 },{  0xc7b24b, 24 },
209
{  0xc7b24c, 24 },{  0xc7b24d, 24 },{  0xc7b24e, 24 },{  0xc7b24f, 24 },
210
{  0xc7b250, 24 },{  0xc7b251, 24 },{  0xc7b252, 24 },{  0xc7b253, 24 },
211
{  0xc7b254, 24 },{  0xc7b255, 24 },{  0xc7b256, 24 },{  0xc7b257, 24 },
212
{  0xc7b258, 24 },{  0xc7b259, 24 },{  0xc7b25a, 24 },{  0xc7b25b, 24 },
213
{  0xc7b25c, 24 },{  0xc7b25d, 24 },{  0xc7b25e, 24 },{  0xc7b25f, 24 },
214
{  0xc7b260, 24 },{  0xc7b261, 24 },{  0xc7b262, 24 },{  0xc7b263, 24 },
215
{  0xc7b264, 24 },{  0xc7b265, 24 },{  0xc7b266, 24 },{  0xc7b267, 24 },
216
{  0xc7b268, 24 },{  0xc7b269, 24 },{  0xc7b26a, 24 },{  0xc7b26b, 24 },
217
{  0xc7b26c, 24 },{  0xc7b26d, 24 },{  0xc7b26e, 24 },{  0xc7b26f, 24 },
218
{  0xc7b270, 24 },{  0xc7b271, 24 },{  0xc7b272, 24 },{  0xc7b273, 24 },
219
{  0xc7b274, 24 },{  0xc7b275, 24 },{  0xc7b276, 24 },{  0xc7b277, 24 },
220
{  0xc7b278, 24 },{  0xc7b279, 24 },{  0xc7b27a, 24 },{  0xc7b27b, 24 },
221
{  0xc7b27c, 24 },{  0xc7b27d, 24 },{  0xc7b27e, 24 },{  0xc7b27f, 24 },
222
{ 0x18f6480, 25 },{ 0x18f6481, 25 },{ 0x18f6482, 25 },{ 0x18f6483, 25 },
223
{ 0x18f6484, 25 },{ 0x18f6485, 25 },{ 0x18f6486, 25 },{ 0x18f6487, 25 },
224
{ 0x18f6488, 25 },{ 0x18f6489, 25 },{ 0x18f648a, 25 },{ 0x18f648b, 25 },
225
{ 0x18f648c, 25 },{ 0x18f648d, 25 },{ 0x18f648e, 25 },{ 0x18f648f, 25 },
226
};
227

  
228
/* vlc table 0, for intra luma */
229

  
230
static const uint16_t table0_vlc[133][2] = {
231
{   0x1,  2 },{   0x6,  3 },{   0xf,  4 },{  0x16,  5 },
232
{  0x20,  6 },{  0x18,  7 },{   0x8,  8 },{  0x9a,  8 },
233
{  0x56,  9 },{ 0x13e,  9 },{  0xf0, 10 },{ 0x3a5, 10 },
234
{  0x77, 11 },{ 0x1ef, 11 },{  0x9a, 12 },{  0x5d, 13 },
235
{   0x1,  4 },{  0x11,  5 },{   0x2,  7 },{   0xb,  8 },
236
{  0x12,  9 },{ 0x1d6,  9 },{ 0x27e, 10 },{ 0x191, 11 },
237
{  0xea, 12 },{ 0x3dc, 12 },{ 0x13b, 13 },{   0x4,  5 },
238
{  0x14,  7 },{  0x9e,  8 },{   0x9, 10 },{ 0x1ac, 11 },
239
{ 0x1e2, 11 },{ 0x3ca, 12 },{  0x5f, 13 },{  0x17,  5 },
240
{  0x4e,  7 },{  0x5e,  9 },{  0xf3, 10 },{ 0x1ad, 11 },
241
{  0xec, 12 },{ 0x5f0, 13 },{   0xe,  6 },{  0xe1,  8 },
242
{ 0x3a4, 10 },{  0x9c, 12 },{ 0x13d, 13 },{  0x3b,  6 },
243
{  0x1c,  9 },{  0x14, 11 },{ 0x9be, 12 },{   0x6,  7 },
244
{  0x7a,  9 },{ 0x190, 11 },{ 0x137, 13 },{  0x1b,  7 },
245
{   0x8, 10 },{ 0x75c, 11 },{  0x71,  7 },{  0xd7, 10 },
246
{ 0x9bf, 12 },{   0x7,  8 },{  0xaf, 10 },{ 0x4cc, 11 },
247
{  0x34,  8 },{ 0x265, 10 },{  0x9f, 12 },{  0xe0,  8 },
248
{  0x16, 11 },{ 0x327, 12 },{  0x15,  9 },{ 0x17d, 11 },
249
{ 0xebb, 12 },{  0x14,  9 },{  0xf6, 10 },{ 0x1e4, 11 },
250
{  0xcb, 10 },{ 0x99d, 12 },{  0xca, 10 },{ 0x2fc, 12 },
251
{ 0x17f, 11 },{ 0x4cd, 11 },{ 0x2fd, 12 },{ 0x4fe, 11 },
252
{ 0x13a, 13 },{   0xa,  4 },{  0x42,  7 },{ 0x1d3,  9 },
253
{ 0x4dd, 11 },{  0x12,  5 },{  0xe8,  8 },{  0x4c, 11 },
254
{ 0x136, 13 },{  0x39,  6 },{ 0x264, 10 },{ 0xeba, 12 },
255
{   0x0,  7 },{  0xae, 10 },{ 0x99c, 12 },{  0x1f,  7 },
256
{ 0x4de, 11 },{  0x43,  7 },{ 0x4dc, 11 },{   0x3,  8 },
257
{ 0x3cb, 12 },{   0x6,  8 },{ 0x99e, 12 },{  0x2a,  8 },
258
{ 0x5f1, 13 },{   0xf,  8 },{ 0x9fe, 12 },{  0x33,  8 },
259
{ 0x9ff, 12 },{  0x98,  8 },{ 0x99f, 12 },{  0xea,  8 },
260
{ 0x13c, 13 },{  0x2e,  8 },{ 0x192, 11 },{ 0x136,  9 },
261
{  0x6a,  9 },{  0x15, 11 },{ 0x3af, 10 },{ 0x1e3, 11 },
262
{  0x74, 11 },{  0xeb, 12 },{ 0x2f9, 12 },{  0x5c, 13 },
263
{  0xed, 12 },{ 0x3dd, 12 },{ 0x326, 12 },{  0x5e, 13 },
264
{  0x16,  7 },
265
};
266

  
267
static const int8_t table0_level[132] = {
268
  1,  2,  3,  4,  5,  6,  7,  8,
269
  9, 10, 11, 12, 13, 14, 15, 16,
270
  1,  2,  3,  4,  5,  6,  7,  8,
271
  9, 10, 11,  1,  2,  3,  4,  5,
272
  6,  7,  8,  1,  2,  3,  4,  5,
273
  6,  7,  1,  2,  3,  4,  5,  1,
274
  2,  3,  4,  1,  2,  3,  4,  1,
275
  2,  3,  1,  2,  3,  1,  2,  3,
276
  1,  2,  3,  1,  2,  3,  1,  2,
277
  3,  1,  2,  3,  1,  2,  1,  2,
278
  1,  1,  1,  1,  1,  1,  2,  3,
279
  4,  1,  2,  3,  4,  1,  2,  3,
280
  1,  2,  3,  1,  2,  1,  2,  1,
281
  2,  1,  2,  1,  2,  1,  2,  1,
282
  2,  1,  2,  1,  2,  1,  2,  1,
283
  1,  1,  1,  1,  1,  1,  1,  1,
284
  1,  1,  1,  1,
285
};
286

  
287
static const int8_t table0_run[132] = {
288
  0,  0,  0,  0,  0,  0,  0,  0,
289
  0,  0,  0,  0,  0,  0,  0,  0,
290
  1,  1,  1,  1,  1,  1,  1,  1,
291
  1,  1,  1,  2,  2,  2,  2,  2,
292
  2,  2,  2,  3,  3,  3,  3,  3,
293
  3,  3,  4,  4,  4,  4,  4,  5,
294
  5,  5,  5,  6,  6,  6,  6,  7,
295
  7,  7,  8,  8,  8,  9,  9,  9,
296
 10, 10, 10, 11, 11, 11, 12, 12,
297
 12, 13, 13, 13, 14, 14, 15, 15,
298
 16, 17, 18, 19, 20,  0,  0,  0,
299
  0,  1,  1,  1,  1,  2,  2,  2,
300
  3,  3,  3,  4,  4,  5,  5,  6,
301
  6,  7,  7,  8,  8,  9,  9, 10,
302
 10, 11, 11, 12, 12, 13, 13, 14,
303
 15, 16, 17, 18, 19, 20, 21, 22,
304
 23, 24, 25, 26,
305
};
306

  
307
/* vlc table 1, for intra chroma and P macro blocks */
308

  
309
static const uint16_t table1_vlc[149][2] = {
310
{    0x4,  3 },{   0x14,  5 },{   0x17,  7 },{   0x7f,  8 },
311
{  0x154,  9 },{  0x1f2, 10 },{   0xbf, 11 },{   0x65, 12 },
312
{  0xaaa, 12 },{  0x630, 13 },{ 0x1597, 13 },{  0x3b7, 14 },
313
{ 0x2b22, 14 },{  0xbe6, 15 },{    0xb,  4 },{   0x37,  7 },
314
{   0x62,  9 },{    0x7, 11 },{  0x166, 12 },{   0xce, 13 },
315
{ 0x1590, 13 },{  0x5f6, 14 },{  0xbe7, 15 },{    0x7,  5 },
316
{   0x6d,  8 },{    0x3, 11 },{  0x31f, 12 },{  0x5f2, 14 },
317
{    0x2,  6 },{   0x61,  9 },{   0x55, 12 },{  0x1df, 14 },
318
{   0x1a,  6 },{   0x1e, 10 },{  0xac9, 12 },{ 0x2b23, 14 },
319
{   0x1e,  6 },{   0x1f, 10 },{  0xac3, 12 },{ 0x2b2b, 14 },
320
{    0x6,  7 },{    0x4, 11 },{  0x2f8, 13 },{   0x19,  7 },
321
{    0x6, 11 },{  0x63d, 13 },{   0x57,  7 },{  0x182, 11 },
322
{ 0x2aa2, 14 },{    0x4,  8 },{  0x180, 11 },{  0x59c, 14 },
323
{   0x7d,  8 },{  0x164, 12 },{  0x76d, 15 },{    0x2,  9 },
324
{  0x18d, 11 },{ 0x1581, 13 },{   0xad,  8 },{   0x60, 12 },
325
{  0xc67, 14 },{   0x1c,  9 },{   0xee, 13 },{    0x3,  9 },
326
{  0x2cf, 13 },{   0xd9,  9 },{ 0x1580, 13 },{    0x2, 11 },
327
{  0x183, 11 },{   0x57, 12 },{   0x61, 12 },{   0x31, 11 },
328
{   0x66, 12 },{  0x631, 13 },{  0x632, 13 },{   0xac, 13 },
329
{  0x31d, 12 },{   0x76, 12 },{   0x3a, 11 },{  0x165, 12 },
330
{  0xc66, 14 },{    0x3,  2 },{   0x54,  7 },{  0x2ab, 10 },
331
{   0x16, 13 },{  0x5f7, 14 },{    0x5,  4 },{   0xf8,  9 },
332
{  0xaa9, 12 },{   0x5f, 15 },{    0x4,  4 },{   0x1c, 10 },
333
{ 0x1550, 13 },{    0x4,  5 },{   0x77, 11 },{  0x76c, 15 },
334
{    0xe,  5 },{    0xa, 12 },{    0xc,  5 },{  0x562, 11 },
335
{    0x4,  6 },{  0x31c, 12 },{    0x6,  6 },{   0xc8, 13 },
336
{    0xd,  6 },{  0x1da, 13 },{    0x7,  6 },{   0xc9, 13 },
337
{    0x1,  7 },{   0x2e, 14 },{   0x14,  7 },{ 0x1596, 13 },
338
{    0xa,  7 },{  0xac2, 12 },{   0x16,  7 },{  0x15b, 14 },
339
{   0x15,  7 },{  0x15a, 14 },{    0xf,  8 },{   0x5e, 15 },
340
{   0x7e,  8 },{   0xab,  8 },{   0x2d,  9 },{   0xd8,  9 },
341
{    0xb,  9 },{   0x14, 10 },{  0x2b3, 10 },{  0x1f3, 10 },
342
{   0x3a, 10 },{    0x0, 10 },{   0x58, 10 },{   0x2e,  9 },
343
{   0x5e, 10 },{  0x563, 11 },{   0xec, 12 },{   0x54, 12 },
344
{  0xac1, 12 },{ 0x1556, 13 },{  0x2fa, 13 },{  0x181, 11 },
345
{ 0x1557, 13 },{  0x59d, 14 },{ 0x2aa3, 14 },{ 0x2b2a, 14 },
346
{  0x1de, 14 },{  0x63c, 13 },{   0xcf, 13 },{ 0x1594, 13 },
347
{    0xd,  9 },
348
};
349

  
350
static const int8_t table1_level[148] = {
351
  1,  2,  3,  4,  5,  6,  7,  8,
352
  9, 10, 11, 12, 13, 14,  1,  2,
353
  3,  4,  5,  6,  7,  8,  9,  1,
354
  2,  3,  4,  5,  1,  2,  3,  4,
355
  1,  2,  3,  4,  1,  2,  3,  4,
356
  1,  2,  3,  1,  2,  3,  1,  2,
357
  3,  1,  2,  3,  1,  2,  3,  1,
358
  2,  3,  1,  2,  3,  1,  2,  1,
359
  2,  1,  2,  1,  1,  1,  1,  1,
360
  1,  1,  1,  1,  1,  1,  1,  1,
361
  1,  1,  2,  3,  4,  5,  1,  2,
362
  3,  4,  1,  2,  3,  1,  2,  3,
363
  1,  2,  1,  2,  1,  2,  1,  2,
364
  1,  2,  1,  2,  1,  2,  1,  2,
365
  1,  2,  1,  2,  1,  2,  1,  2,
366
  1,  1,  1,  1,  1,  1,  1,  1,
367
  1,  1,  1,  1,  1,  1,  1,  1,
368
  1,  1,  1,  1,  1,  1,  1,  1,
369
  1,  1,  1,  1,
370
};
371

  
372
static const int8_t table1_run[148] = {
373
  0,  0,  0,  0,  0,  0,  0,  0,
374
  0,  0,  0,  0,  0,  0,  1,  1,
375
  1,  1,  1,  1,  1,  1,  1,  2,
376
  2,  2,  2,  2,  3,  3,  3,  3,
377
  4,  4,  4,  4,  5,  5,  5,  5,
378
  6,  6,  6,  7,  7,  7,  8,  8,
379
  8,  9,  9,  9, 10, 10, 10, 11,
380
 11, 11, 12, 12, 12, 13, 13, 14,
381
 14, 15, 15, 16, 17, 18, 19, 20,
382
 21, 22, 23, 24, 25, 26, 27, 28,
383
 29,  0,  0,  0,  0,  0,  1,  1,
384
  1,  1,  2,  2,  2,  3,  3,  3,
385
  4,  4,  5,  5,  6,  6,  7,  7,
386
  8,  8,  9,  9, 10, 10, 11, 11,
387
 12, 12, 13, 13, 14, 14, 15, 15,
388
 16, 17, 18, 19, 20, 21, 22, 23,
389
 24, 25, 26, 27, 28, 29, 30, 31,
390
 32, 33, 34, 35, 36, 37, 38, 39,
391
 40, 41, 42, 43,
392
};
393

  
394
/* third vlc table */
395

  
396
static const uint16_t table2_vlc[186][2] = {
397
{    0x1,  2 },{    0x5,  3 },{    0xd,  4 },{   0x12,  5 },
398
{    0xe,  6 },{   0x15,  7 },{   0x13,  8 },{   0x3f,  8 },
399
{   0x4b,  9 },{  0x11f,  9 },{   0xb8, 10 },{  0x3e3, 10 },
400
{  0x172, 11 },{  0x24d, 12 },{  0x3da, 12 },{  0x2dd, 13 },
401
{ 0x1f55, 13 },{  0x5b9, 14 },{ 0x3eae, 14 },{    0x0,  4 },
402
{   0x10,  5 },{    0x8,  7 },{   0x20,  8 },{   0x29,  9 },
403
{  0x1f4,  9 },{  0x233, 10 },{  0x1e0, 11 },{  0x12a, 12 },
404
{  0x3dd, 12 },{  0x50a, 13 },{ 0x1f29, 13 },{  0xa42, 14 },
405
{ 0x1272, 15 },{ 0x1737, 15 },{    0x3,  5 },{   0x11,  7 },
406
{   0xc4,  8 },{   0x4b, 10 },{   0xb4, 11 },{  0x7d4, 11 },
407
{  0x345, 12 },{  0x2d7, 13 },{  0x7bf, 13 },{  0x938, 14 },
408
{  0xbbb, 14 },{  0x95e, 15 },{   0x13,  5 },{   0x78,  7 },
409
{   0x69,  9 },{  0x232, 10 },{  0x461, 11 },{  0x3ec, 12 },
410
{  0x520, 13 },{ 0x1f2a, 13 },{ 0x3e50, 14 },{ 0x3e51, 14 },
411
{ 0x1486, 15 },{    0xc,  6 },{   0x24,  9 },{   0x94, 11 },
412
{  0x8c0, 12 },{  0xf09, 14 },{ 0x1ef0, 15 },{   0x3d,  6 },
413
{   0x53,  9 },{  0x1a0, 11 },{  0x2d6, 13 },{  0xf08, 14 },
414
{   0x13,  7 },{   0x7c,  9 },{  0x7c1, 11 },{  0x4ac, 14 },
415
{   0x1b,  7 },{   0xa0, 10 },{  0x344, 12 },{  0xf79, 14 },
416
{   0x79,  7 },{  0x3e1, 10 },{  0x2d4, 13 },{ 0x2306, 14 },
417
{   0x21,  8 },{  0x23c, 10 },{  0xfae, 12 },{ 0x23de, 14 },
418
{   0x35,  8 },{  0x175, 11 },{  0x7b3, 13 },{   0xc5,  8 },
419
{  0x174, 11 },{  0x785, 13 },{   0x48,  9 },{  0x1a3, 11 },
420
{  0x49e, 13 },{   0x2c,  9 },{   0xfa, 10 },{  0x7d6, 11 },
421
{   0x92, 10 },{  0x5cc, 13 },{ 0x1ef1, 15 },{   0xa3, 10 },
422
{  0x3ed, 12 },{  0x93e, 14 },{  0x1e2, 11 },{ 0x1273, 15 },
423
{  0x7c4, 11 },{ 0x1487, 15 },{  0x291, 12 },{  0x293, 12 },
424
{  0xf8a, 12 },{  0x509, 13 },{  0x508, 13 },{  0x78d, 13 },
425
{  0x7be, 13 },{  0x78c, 13 },{  0x4ae, 14 },{  0xbba, 14 },
426
{ 0x2307, 14 },{  0xb9a, 14 },{ 0x1736, 15 },{    0xe,  4 },
427
{   0x45,  7 },{  0x1f3,  9 },{  0x47a, 11 },{  0x5dc, 13 },
428
{ 0x23df, 14 },{   0x19,  5 },{   0x28,  9 },{  0x176, 11 },
429
{  0x49d, 13 },{ 0x23dd, 14 },{   0x30,  6 },{   0xa2, 10 },
430
{  0x2ef, 12 },{  0x5b8, 14 },{   0x3f,  6 },{   0xa5, 10 },
431
{  0x3db, 12 },{  0x93f, 14 },{   0x44,  7 },{  0x7cb, 11 },
432
{  0x95f, 15 },{   0x63,  7 },{  0x3c3, 12 },{   0x15,  8 },
433
{  0x8f6, 12 },{   0x17,  8 },{  0x498, 13 },{   0x2c,  8 },
434
{  0x7b2, 13 },{   0x2f,  8 },{ 0x1f54, 13 },{   0x8d,  8 },
435
{  0x7bd, 13 },{   0x8e,  8 },{ 0x1182, 13 },{   0xfb,  8 },
436
{  0x50b, 13 },{   0x2d,  8 },{  0x7c0, 11 },{   0x79,  9 },
437
{ 0x1f5f, 13 },{   0x7a,  9 },{ 0x1f56, 13 },{  0x231, 10 },
438
{  0x3e4, 10 },{  0x1a1, 11 },{  0x143, 11 },{  0x1f7, 11 },
439
{  0x16f, 12 },{  0x292, 12 },{  0x2e7, 12 },{  0x16c, 12 },
440
{  0x16d, 12 },{  0x3dc, 12 },{  0xf8b, 12 },{  0x499, 13 },
441
{  0x3d8, 12 },{  0x78e, 13 },{  0x2d5, 13 },{ 0x1f5e, 13 },
442
{ 0x1f2b, 13 },{  0x78f, 13 },{  0x4ad, 14 },{ 0x3eaf, 14 },
443
{ 0x23dc, 14 },{   0x4a,  9 },
444
};
445

  
446
static const int8_t table2_level[185] = {
447
  1,  2,  3,  4,  5,  6,  7,  8,
448
  9, 10, 11, 12, 13, 14, 15, 16,
449
 17, 18, 19,  1,  2,  3,  4,  5,
450
  6,  7,  8,  9, 10, 11, 12, 13,
451
 14, 15,  1,  2,  3,  4,  5,  6,
452
  7,  8,  9, 10, 11, 12,  1,  2,
453
  3,  4,  5,  6,  7,  8,  9, 10,
454
 11,  1,  2,  3,  4,  5,  6,  1,
455
  2,  3,  4,  5,  1,  2,  3,  4,
456
  1,  2,  3,  4,  1,  2,  3,  4,
457
  1,  2,  3,  4,  1,  2,  3,  1,
458
  2,  3,  1,  2,  3,  1,  2,  3,
459
  1,  2,  3,  1,  2,  3,  1,  2,
460
  1,  2,  1,  1,  1,  1,  1,  1,
461
  1,  1,  1,  1,  1,  1,  1,  1,
462
  2,  3,  4,  5,  6,  1,  2,  3,
463
  4,  5,  1,  2,  3,  4,  1,  2,
464
  3,  4,  1,  2,  3,  1,  2,  1,
465
  2,  1,  2,  1,  2,  1,  2,  1,
466
  2,  1,  2,  1,  2,  1,  2,  1,
467
  2,  1,  2,  1,  1,  1,  1,  1,
468
  1,  1,  1,  1,  1,  1,  1,  1,
469
  1,  1,  1,  1,  1,  1,  1,  1,
470
  1,
471
};
472

  
473
static const int8_t table2_run[185] = {
474
  0,  0,  0,  0,  0,  0,  0,  0,
475
  0,  0,  0,  0,  0,  0,  0,  0,
476
  0,  0,  0,  1,  1,  1,  1,  1,
477
  1,  1,  1,  1,  1,  1,  1,  1,
478
  1,  1,  2,  2,  2,  2,  2,  2,
479
  2,  2,  2,  2,  2,  2,  3,  3,
480
  3,  3,  3,  3,  3,  3,  3,  3,
481
  3,  4,  4,  4,  4,  4,  4,  5,
482
  5,  5,  5,  5,  6,  6,  6,  6,
483
  7,  7,  7,  7,  8,  8,  8,  8,
484
  9,  9,  9,  9, 10, 10, 10, 11,
485
 11, 11, 12, 12, 12, 13, 13, 13,
486
 14, 14, 14, 15, 15, 15, 16, 16,
487
 17, 17, 18, 19, 20, 21, 22, 23,
488
 24, 25, 26, 27, 28, 29, 30,  0,
489
  0,  0,  0,  0,  0,  1,  1,  1,
490
  1,  1,  2,  2,  2,  2,  3,  3,
491
  3,  3,  4,  4,  4,  5,  5,  6,
492
  6,  7,  7,  8,  8,  9,  9, 10,
493
 10, 11, 11, 12, 12, 13, 13, 14,
494
 14, 15, 15, 16, 17, 18, 19, 20,
495
 21, 22, 23, 24, 25, 26, 27, 28,
496
 29, 30, 31, 32, 33, 34, 35, 36,
497
 37,
498
};
499

  
500
/* second non intra vlc table */
501
static const uint16_t table4_vlc[169][2] = {
502
{    0x0,  3 },{    0x3,  4 },{    0xb,  5 },{   0x14,  6 },
503
{   0x3f,  6 },{   0x5d,  7 },{   0xa2,  8 },{   0xac,  9 },
504
{  0x16e,  9 },{  0x20a, 10 },{  0x2e2, 10 },{  0x432, 11 },
505
{  0x5c9, 11 },{  0x827, 12 },{  0xb54, 12 },{  0x4e6, 13 },
506
{ 0x105f, 13 },{ 0x172a, 13 },{ 0x20b2, 14 },{ 0x2d4e, 14 },
507
{ 0x39f0, 14 },{ 0x4175, 15 },{ 0x5a9e, 15 },{    0x4,  4 },
508
{   0x1e,  5 },{   0x42,  7 },{   0xb6,  8 },{  0x173,  9 },
509
{  0x395, 10 },{  0x72e, 11 },{  0xb94, 12 },{ 0x16a4, 13 },
510
{ 0x20b3, 14 },{ 0x2e45, 14 },{    0x5,  5 },{   0x40,  7 },
511
{   0x49,  9 },{  0x28f, 10 },{  0x5cb, 11 },{  0x48a, 13 },
512
{  0x9dd, 14 },{ 0x73e2, 15 },{   0x18,  5 },{   0x25,  8 },
513
{   0x8a, 10 },{  0x51b, 11 },{  0xe5f, 12 },{  0x9c9, 14 },
514
{ 0x139c, 15 },{   0x29,  6 },{   0x4f,  9 },{  0x412, 11 },
515
{  0x48d, 13 },{ 0x2e41, 14 },{   0x38,  6 },{  0x10e,  9 },
516
{  0x5a8, 11 },{ 0x105c, 13 },{ 0x39f2, 14 },{   0x58,  7 },
517
{  0x21f, 10 },{  0xe7e, 12 },{ 0x39ff, 14 },{   0x23,  8 },
518
{  0x2e3, 10 },{  0x4e5, 13 },{ 0x2e40, 14 },{   0xa1,  8 },
519
{  0x5be, 11 },{  0x9c8, 14 },{   0x83,  8 },{  0x13a, 11 },
520
{ 0x1721, 13 },{   0x44,  9 },{  0x276, 12 },{ 0x39f6, 14 },
521
{   0x8b, 10 },{  0x4ef, 13 },{ 0x5a9b, 15 },{  0x208, 10 },
522
{ 0x1cfe, 13 },{  0x399, 10 },{ 0x1cb4, 13 },{  0x39e, 10 },
523
{ 0x39f3, 14 },{  0x5ab, 11 },{ 0x73e3, 15 },{  0x737, 11 },
524
{ 0x5a9f, 15 },{  0x82d, 12 },{  0xe69, 12 },{  0xe68, 12 },
525
{  0x433, 11 },{  0xb7b, 12 },{ 0x2df8, 14 },{ 0x2e56, 14 },
526
{ 0x2e57, 14 },{ 0x39f7, 14 },{ 0x51a5, 15 },{    0x3,  3 },
527
{   0x2a,  6 },{   0xe4,  8 },{  0x28e, 10 },{  0x735, 11 },
528
{ 0x1058, 13 },{ 0x1cfa, 13 },{ 0x2df9, 14 },{ 0x4174, 15 },
529
{    0x9,  4 },{   0x54,  8 },{  0x398, 10 },{  0x48b, 13 },
530
{ 0x139d, 15 },{    0xd,  4 },{   0xad,  9 },{  0x826, 12 },
531
{ 0x2d4c, 14 },{   0x11,  5 },{  0x16b,  9 },{  0xb7f, 12 },
532
{ 0x51a4, 15 },{   0x19,  5 },{  0x21b, 10 },{ 0x16fd, 13 },
533
{   0x1d,  5 },{  0x394, 10 },{ 0x28d3, 14 },{   0x2b,  6 },
534
{  0x5bc, 11 },{ 0x5a9a, 15 },{   0x2f,  6 },{  0x247, 12 },
535
{   0x10,  7 },{  0xa35, 12 },{   0x3e,  6 },{  0xb7a, 12 },
536
{   0x59,  7 },{ 0x105e, 13 },{   0x26,  8 },{  0x9cf, 14 },
537
{   0x55,  8 },{ 0x1cb5, 13 },{   0x57,  8 },{  0xe5b, 12 },
538
{   0xa0,  8 },{ 0x1468, 13 },{  0x170,  9 },{   0x90, 10 },
539
{  0x1ce,  9 },{  0x21a, 10 },{  0x218, 10 },{  0x168,  9 },
540
{  0x21e, 10 },{  0x244, 12 },{  0x736, 11 },{  0x138, 11 },
541
{  0x519, 11 },{  0xe5e, 12 },{  0x72c, 11 },{  0xb55, 12 },
542
{  0x9dc, 14 },{ 0x20bb, 14 },{  0x48c, 13 },{ 0x1723, 13 },
543
{ 0x2e44, 14 },{ 0x16a5, 13 },{  0x518, 11 },{ 0x39fe, 14 },
544
{  0x169,  9 },
545
};
546

  
547
static const int8_t table4_level[168] = {
548
  1,  2,  3,  4,  5,  6,  7,  8,
549
  9, 10, 11, 12, 13, 14, 15, 16,
550
 17, 18, 19, 20, 21, 22, 23,  1,
551
  2,  3,  4,  5,  6,  7,  8,  9,
552
 10, 11,  1,  2,  3,  4,  5,  6,
553
  7,  8,  1,  2,  3,  4,  5,  6,
554
  7,  1,  2,  3,  4,  5,  1,  2,
555
  3,  4,  5,  1,  2,  3,  4,  1,
556
  2,  3,  4,  1,  2,  3,  1,  2,
557
  3,  1,  2,  3,  1,  2,  3,  1,
558
  2,  1,  2,  1,  2,  1,  2,  1,
559
  2,  1,  1,  1,  1,  1,  1,  1,
560
  1,  1,  1,  1,  2,  3,  4,  5,
561
  6,  7,  8,  9,  1,  2,  3,  4,
562
  5,  1,  2,  3,  4,  1,  2,  3,
563
  4,  1,  2,  3,  1,  2,  3,  1,
564
  2,  3,  1,  2,  1,  2,  1,  2,
565
  1,  2,  1,  2,  1,  2,  1,  2,
566
  1,  2,  1,  1,  1,  1,  1,  1,
567
  1,  1,  1,  1,  1,  1,  1,  1,
568
  1,  1,  1,  1,  1,  1,  1,  1,
569
};
570

  
571
static const int8_t table4_run[168] = {
572
  0,  0,  0,  0,  0,  0,  0,  0,
573
  0,  0,  0,  0,  0,  0,  0,  0,
574
  0,  0,  0,  0,  0,  0,  0,  1,
575
  1,  1,  1,  1,  1,  1,  1,  1,
576
  1,  1,  2,  2,  2,  2,  2,  2,
577
  2,  2,  3,  3,  3,  3,  3,  3,
578
  3,  4,  4,  4,  4,  4,  5,  5,
579
  5,  5,  5,  6,  6,  6,  6,  7,
580
  7,  7,  7,  8,  8,  8,  9,  9,
581
  9, 10, 10, 10, 11, 11, 11, 12,
582
 12, 13, 13, 14, 14, 15, 15, 16,
583
 16, 17, 18, 19, 20, 21, 22, 23,
584
 24, 25, 26,  0,  0,  0,  0,  0,
585
  0,  0,  0,  0,  1,  1,  1,  1,
586
  1,  2,  2,  2,  2,  3,  3,  3,
587
  3,  4,  4,  4,  5,  5,  5,  6,
588
  6,  6,  7,  7,  8,  8,  9,  9,
589
 10, 10, 11, 11, 12, 12, 13, 13,
590
 14, 14, 15, 16, 17, 18, 19, 20,
591
 21, 22, 23, 24, 25, 26, 27, 28,
592
 29, 30, 31, 32, 33, 34, 35, 36,
593
};
594

  
595
extern const uint16_t inter_vlc[103][2];
596
extern const int8_t inter_level[102];
597
extern const int8_t inter_run[102];
598

  
599
extern const uint16_t intra_vlc[103][2];
600
extern const int8_t intra_level[102];
601
extern const int8_t intra_run[102];
602

  
603
RLTable rl_table[NB_RL_TABLES] = {
604
    /* intra luminance tables */
605
    /* low motion  */
606
    {
607
        132,
608
        85,
609
        table0_vlc,
610
        table0_run,
611
        table0_level,
612
    },
613
    /* high motion */
614
    {
615
        185,
616
        119,
617
        table2_vlc,
618
        table2_run,
619
        table2_level,
620
    },
621
    /* mid-rate */
622
    {
623
        102,
624
        67,
625
        intra_vlc,
626
        intra_run,
627
        intra_level,
628
    },
629
    /* intra chrominance / non intra tables */
630
    /* low motion inter */
631
    {
632
        148,
633
        81,
634
        table1_vlc,
635
        table1_run,
636
        table1_level,
637
    },
638
    /* high motion inter */
639
    {
640
        168,
641
        99,
642
        table4_vlc,
643
        table4_run,
644
        table4_level,
645
    },
646
    /* mid rate inter */
647
    {
648
        102,
649
        58,
650
        inter_vlc,
651
        inter_run,
652
        inter_level,
653
    },
654
};
655

  
656
/* motion vector table 0 */
657

  
658
static const uint16_t table0_mv_code[1100] = {
659
 0x0001, 0x0003, 0x0005, 0x0007, 0x0003, 0x0008, 0x000c, 0x0001,
660
 0x0002, 0x001b, 0x0006, 0x000b, 0x0015, 0x0002, 0x000e, 0x000f,
661
 0x0014, 0x0020, 0x0022, 0x0025, 0x0027, 0x0029, 0x002d, 0x004b,
662
 0x004d, 0x0003, 0x0022, 0x0023, 0x0025, 0x0027, 0x0042, 0x0048,
663
 0x0049, 0x0050, 0x005c, 0x0091, 0x009f, 0x000e, 0x0043, 0x004c,
664
 0x0054, 0x0056, 0x008c, 0x0098, 0x009a, 0x009b, 0x00b1, 0x00b2,
665
 0x0120, 0x0121, 0x0126, 0x0133, 0x0139, 0x01a1, 0x01a4, 0x01a5,
666
 0x01a6, 0x01a7, 0x01ae, 0x01af, 0x000b, 0x0019, 0x0085, 0x0090,
667
 0x009b, 0x00aa, 0x00af, 0x010c, 0x010e, 0x011c, 0x011e, 0x0133,
668
 0x0144, 0x0160, 0x0174, 0x0175, 0x0177, 0x0178, 0x0249, 0x024b,
669
 0x0252, 0x0261, 0x0265, 0x0270, 0x0352, 0x0353, 0x0355, 0x0359,
670
 0x0010, 0x0011, 0x0013, 0x0034, 0x0035, 0x0036, 0x0037, 0x003d,
671
 0x003e, 0x0109, 0x0126, 0x0156, 0x021a, 0x021e, 0x023a, 0x023e,
672
 0x028e, 0x028f, 0x02cf, 0x0491, 0x0494, 0x049f, 0x04a0, 0x04a3,
673
 0x04a6, 0x04a7, 0x04ad, 0x04ae, 0x04c0, 0x04c4, 0x04c6, 0x04c8,
674
 0x04c9, 0x04f5, 0x04f6, 0x04f7, 0x0680, 0x0682, 0x0683, 0x0688,
675
 0x0689, 0x068d, 0x068e, 0x068f, 0x06a2, 0x06a3, 0x06a9, 0x06b0,
676
 0x06b1, 0x06b4, 0x06b5, 0x0024, 0x0060, 0x0063, 0x0078, 0x0079,
677
 0x0211, 0x0244, 0x0245, 0x0247, 0x0248, 0x0249, 0x024a, 0x024b,
678
 0x026b, 0x02af, 0x02b8, 0x02bb, 0x0436, 0x0476, 0x0477, 0x047e,
679
 0x04c8, 0x04c9, 0x04ca, 0x0514, 0x0586, 0x0587, 0x0598, 0x059d,
680
 0x05d9, 0x05da, 0x0920, 0x0921, 0x093b, 0x093c, 0x093d, 0x0942,
681
 0x0943, 0x0944, 0x0945, 0x0959, 0x095e, 0x095f, 0x0982, 0x0983,
682
 0x098e, 0x098f, 0x09c4, 0x09e7, 0x09e8, 0x09e9, 0x0d02, 0x0d17,
683
 0x0d18, 0x0d19, 0x0d41, 0x0d42, 0x0d43, 0x0d50, 0x0d5f, 0x0d6d,
684
 0x0d6e, 0x0d6f, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
685
 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x041e, 0x041f, 0x0420, 0x0421,
686
 0x048c, 0x048d, 0x04d3, 0x04d4, 0x04d5, 0x055c, 0x055d, 0x0572,
687
 0x0573, 0x0574, 0x0575, 0x08de, 0x08df, 0x08fe, 0x08ff, 0x0996,
688
 0x0a36, 0x0a37, 0x0b08, 0x0b09, 0x0b0a, 0x0b0b, 0x0b32, 0x0b33,
689
 0x0b34, 0x0b35, 0x0b36, 0x0b37, 0x0b38, 0x0b39, 0x0bb0, 0x0bf7,
690
 0x0bf8, 0x0bf9, 0x0bfa, 0x0bfb, 0x0bfc, 0x0bfd, 0x0bfe, 0x0bff,
691
 0x1254, 0x1255, 0x1256, 0x1257, 0x1270, 0x1271, 0x1272, 0x1273,
692
 0x1274, 0x1275, 0x12ab, 0x12ac, 0x12ad, 0x12ae, 0x12af, 0x12b0,
693
 0x12b1, 0x1315, 0x1316, 0x1317, 0x13bf, 0x13c0, 0x13c1, 0x13c2,
694
 0x13c3, 0x13c4, 0x13c5, 0x13c6, 0x13c7, 0x13c8, 0x13c9, 0x13ca,
695
 0x13cb, 0x13cc, 0x13cd, 0x1a06, 0x1a07, 0x1a28, 0x1a29, 0x1a2a,
696
 0x1a2b, 0x1a2c, 0x1a2d, 0x1a80, 0x1abb, 0x1abc, 0x1abd, 0x1ad8,
697
 0x1ad9, 0x0094, 0x0095, 0x0096, 0x0097, 0x00a0, 0x00a1, 0x00a2,
698
 0x00a3, 0x0831, 0x0832, 0x0833, 0x0834, 0x0835, 0x0836, 0x0837,
699
 0x0838, 0x0839, 0x083a, 0x083b, 0x0939, 0x093a, 0x093b, 0x093c,
700
 0x093d, 0x093e, 0x093f, 0x09a0, 0x09a1, 0x09a2, 0x09a3, 0x09a4,
701
 0x09a5, 0x11ac, 0x11ad, 0x11ae, 0x11af, 0x11b0, 0x11b1, 0x11b2,
702
 0x11b3, 0x11b4, 0x11b5, 0x11b6, 0x11b7, 0x11b8, 0x11b9, 0x11ba,
703
 0x11bb, 0x132f, 0x1454, 0x1455, 0x1456, 0x1457, 0x1458, 0x1459,
704
 0x145a, 0x145b, 0x145c, 0x145d, 0x145e, 0x145f, 0x1460, 0x1461,
705
 0x1462, 0x1463, 0x1464, 0x1465, 0x1466, 0x1467, 0x1468, 0x1469,
706
 0x146a, 0x146b, 0x17de, 0x17df, 0x17e0, 0x17e1, 0x17e2, 0x17e3,
707
 0x17e4, 0x17e5, 0x17e6, 0x17e7, 0x17e8, 0x17e9, 0x17ea, 0x17eb,
708
 0x17ec, 0x17ed, 0x2540, 0x2541, 0x2542, 0x2543, 0x2544, 0x2545,
709
 0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x254b, 0x254c, 0x254d,
710
 0x254e, 0x254f, 0x2550, 0x2551, 0x2552, 0x2553, 0x2554, 0x2555,
711
 0x2628, 0x2766, 0x2767, 0x2768, 0x2769, 0x276a, 0x276b, 0x276c,
712
 0x276d, 0x276e, 0x276f, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774,
713
 0x2775, 0x2776, 0x2777, 0x2778, 0x2779, 0x277a, 0x277b, 0x277c,
714
 0x277d, 0x3503, 0x3544, 0x3545, 0x3546, 0x3547, 0x3560, 0x3561,
715
 0x3562, 0x3563, 0x3564, 0x3565, 0x3566, 0x3567, 0x3568, 0x3569,
716
 0x356a, 0x356b, 0x356c, 0x356d, 0x356e, 0x356f, 0x3570, 0x3571,
717
 0x3572, 0x3573, 0x3574, 0x3575, 0x03f0, 0x103d, 0x103e, 0x103f,
718
 0x1040, 0x1041, 0x1042, 0x1043, 0x1044, 0x1045, 0x1046, 0x1047,
719
 0x1048, 0x1049, 0x104a, 0x104b, 0x104c, 0x104d, 0x104e, 0x104f,
720
 0x1050, 0x1051, 0x1052, 0x1053, 0x1054, 0x1055, 0x1056, 0x1057,
721
 0x1058, 0x1059, 0x105a, 0x105b, 0x105c, 0x105d, 0x105e, 0x105f,
722
 0x1060, 0x1061, 0x1270, 0x1271, 0x21b8, 0x21b9, 0x21ba, 0x21bb,
723
 0x21bc, 0x21bd, 0x21be, 0x21bf, 0x21f0, 0x21f1, 0x21f2, 0x21f3,
724
 0x21f4, 0x21f5, 0x21f6, 0x21f7, 0x21f8, 0x21f9, 0x21fa, 0x21fb,
725
 0x21fc, 0x21fd, 0x21fe, 0x21ff, 0x2340, 0x2341, 0x2342, 0x2343,
726
 0x2344, 0x2345, 0x2346, 0x2347, 0x2348, 0x2349, 0x234a, 0x234b,
727
 0x234c, 0x234d, 0x234e, 0x234f, 0x2350, 0x2351, 0x2352, 0x2353,
728
 0x2354, 0x2355, 0x2356, 0x2357, 0x265c, 0x2f88, 0x2f89, 0x2f8a,
729
 0x2f8b, 0x2f8c, 0x2f8d, 0x2f8e, 0x2f8f, 0x2f90, 0x2f91, 0x2f92,
730
 0x2f93, 0x2f94, 0x2f95, 0x2f96, 0x2f97, 0x2f98, 0x2f99, 0x2f9a,
731
 0x2f9b, 0x2f9c, 0x2f9d, 0x2f9e, 0x2f9f, 0x2fa0, 0x2fa1, 0x2fa2,
732
 0x2fa3, 0x2fa4, 0x2fa5, 0x2fa6, 0x2fa7, 0x2fa8, 0x2fa9, 0x2faa,
733
 0x2fab, 0x2fac, 0x2fad, 0x2fae, 0x2faf, 0x2fb0, 0x2fb1, 0x2fb2,
734
 0x2fb3, 0x2fb4, 0x2fb5, 0x2fb6, 0x2fb7, 0x2fb8, 0x2fb9, 0x2fba,
735
 0x2fbb, 0x4c52, 0x4c53, 0x4e28, 0x4e29, 0x4e2a, 0x4e2b, 0x4e2c,
736
 0x4e2d, 0x4e2e, 0x4e2f, 0x4e30, 0x4e31, 0x4e32, 0x4e33, 0x4e34,
737
 0x4e35, 0x4e36, 0x4e37, 0x4e38, 0x4e39, 0x4e3a, 0x4e3b, 0x4e3c,
738
 0x4e3d, 0x4e3e, 0x4e3f, 0x4e80, 0x4e81, 0x4e82, 0x4e83, 0x4e84,
739
 0x4e85, 0x4e86, 0x4e87, 0x4e88, 0x4e89, 0x4e8a, 0x4e8b, 0x4e8c,
740
 0x4e8d, 0x4e8e, 0x4e8f, 0x4e90, 0x4e91, 0x4e92, 0x4e93, 0x4e94,
741
 0x4e95, 0x4e96, 0x4e97, 0x4e98, 0x4e99, 0x4e9a, 0x4e9b, 0x4e9c,
742
 0x4e9d, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea1, 0x4ea2, 0x4ea3, 0x4ea4,
743
 0x4ea5, 0x4ea6, 0x4ea7, 0x4ea8, 0x4ea9, 0x4eaa, 0x4eab, 0x4eac,
744
 0x4ead, 0x4eae, 0x4eaf, 0x4eb0, 0x4eb1, 0x4eb2, 0x4eb3, 0x4eb4,
745
 0x4eb5, 0x4eb6, 0x4eb7, 0x4eb8, 0x4eb9, 0x4eba, 0x4ebb, 0x4ebc,
746
 0x4ebd, 0x4ebe, 0x4ebf, 0x4ec0, 0x4ec1, 0x4ec2, 0x4ec3, 0x4ec4,
747
 0x4ec5, 0x4ec6, 0x4ec7, 0x4ec8, 0x4ec9, 0x4eca, 0x4ecb, 0x6a04,
748
 0x6a05, 0x07e2, 0x07e3, 0x07e4, 0x07e5, 0x07e6, 0x07e7, 0x07e8,
749
 0x07e9, 0x07ea, 0x07eb, 0x07ec, 0x07ed, 0x07ee, 0x07ef, 0x07f0,
750
 0x07f1, 0x07f2, 0x07f3, 0x07f4, 0x07f5, 0x07f6, 0x07f7, 0x07f8,
751
 0x07f9, 0x07fa, 0x07fb, 0x07fc, 0x07fd, 0x07fe, 0x07ff, 0x2000,
752
 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008,
753
 0x2009, 0x200a, 0x200b, 0x200c, 0x200d, 0x200e, 0x200f, 0x2010,
754
 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2018,
755
 0x2019, 0x201a, 0x201b, 0x201c, 0x201d, 0x201e, 0x201f, 0x2020,
756
 0x2021, 0x2022, 0x2023, 0x2024, 0x2025, 0x2026, 0x2027, 0x2028,
757
 0x2029, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x202f, 0x2030,
758
 0x2031, 0x2032, 0x2033, 0x2034, 0x2035, 0x2036, 0x2037, 0x2038,
759
 0x2039, 0x203a, 0x203b, 0x203c, 0x203d, 0x203e, 0x203f, 0x2040,
760
 0x2041, 0x2042, 0x2043, 0x2044, 0x2045, 0x2046, 0x2047, 0x2048,
761
 0x2049, 0x204a, 0x204b, 0x204c, 0x204d, 0x204e, 0x204f, 0x2050,
762
 0x2051, 0x2052, 0x2053, 0x2054, 0x2055, 0x2056, 0x2057, 0x2058,
763
 0x2059, 0x205a, 0x205b, 0x205c, 0x205d, 0x205e, 0x205f, 0x2060,
764
 0x2061, 0x2062, 0x2063, 0x2064, 0x2065, 0x2066, 0x2067, 0x2068,
765
 0x2069, 0x206a, 0x206b, 0x206c, 0x206d, 0x206e, 0x206f, 0x2070,
766
 0x2071, 0x2072, 0x2073, 0x2074, 0x2075, 0x2076, 0x2077, 0x2078,
767
 0x2079, 0x4cba, 0x4cbb, 0x5d88, 0x5d89, 0x5d8a, 0x5d8b, 0x5d8c,
768
 0x5d8d, 0x5d8e, 0x5d8f, 0x5db0, 0x5db1, 0x5db2, 0x5db3, 0x5db4,
769
 0x5db5, 0x5db6, 0x5db7, 0x5db8, 0x5db9, 0x5dba, 0x5dbb, 0x5dbc,
770
 0x5dbd, 0x5dbe, 0x5dbf, 0x5e40, 0x5e41, 0x5e42, 0x5e43, 0x5e44,
771
 0x5e45, 0x5e46, 0x5e47, 0x5e48, 0x5e49, 0x5e4a, 0x5e4b, 0x5e4c,
772
 0x5e4d, 0x5e4e, 0x5e4f, 0x5e50, 0x5e51, 0x5e52, 0x5e53, 0x5e54,
773
 0x5e55, 0x5e56, 0x5e57, 0x5e58, 0x5e59, 0x5e5a, 0x5e5b, 0x5e5c,
774
 0x5e5d, 0x5e5e, 0x5e5f, 0x5e60, 0x5e61, 0x5e62, 0x5e63, 0x5e64,
775
 0x5e65, 0x5e66, 0x5e67, 0x5e68, 0x5e69, 0x5e6a, 0x5e6b, 0x5e6c,
776
 0x5e6d, 0x5e6e, 0x5e6f, 0x5e70, 0x5e71, 0x5e72, 0x5e73, 0x5e74,
777
 0x5e75, 0x5e76, 0x5e77, 0x5e78, 0x5e79, 0x5e7a, 0x5e7b, 0x5e7c,
778
 0x5e7d, 0x5e7e, 0x5e7f, 0x5e80, 0x5e81, 0x5e82, 0x5e83, 0x5e84,
779
 0x5e85, 0x5e86, 0x5e87, 0x5e88, 0x5e89, 0x5e8a, 0x5e8b, 0x5e8c,
780
 0x5e8d, 0x5e8e, 0x5e8f, 0x5e90, 0x5e91, 0x5e92, 0x5e93, 0x5e94,
781
 0x5e95, 0x5e96, 0x5e97, 0x5e98, 0x5e99, 0x5e9a, 0x5e9b, 0x5e9c,
782
 0x5e9d, 0x5e9e, 0x5e9f, 0x5ea0, 0x5ea1, 0x5ea2, 0x5ea3, 0x5ea4,
783
 0x5ea5, 0x5ea6, 0x5ea7, 0x5ea8, 0x5ea9, 0x5eaa, 0x5eab, 0x5eac,
784
 0x5ead, 0x5eae, 0x5eaf, 0x5eb0, 0x5eb1, 0x5eb2, 0x5eb3, 0x5eb4,
785
 0x5eb5, 0x5eb6, 0x5eb7, 0x5eb8, 0x5eb9, 0x5eba, 0x5ebb, 0x5ebc,
786
 0x5ebd, 0x5ebe, 0x5ebf, 0x5ec0, 0x5ec1, 0x5ec2, 0x5ec3, 0x5ec4,
787
 0x5ec5, 0x5ec6, 0x5ec7, 0x5ec8, 0x5ec9, 0x5eca, 0x5ecb, 0x5ecc,
788
 0x5ecd, 0x5ece, 0x5ecf, 0x5ed0, 0x5ed1, 0x5ed2, 0x5ed3, 0x5ed4,
789
 0x5ed5, 0x5ed6, 0x5ed7, 0x5ed8, 0x5ed9, 0x5eda, 0x5edb, 0x5edc,
790
 0x5edd, 0x5ede, 0x5edf, 0x5ee0, 0x5ee1, 0x5ee2, 0x5ee3, 0x5ee4,
791
 0x5ee5, 0x5ee6, 0x5ee7, 0x5ee8, 0x5ee9, 0x5eea, 0x5eeb, 0x5eec,
792
 0x5eed, 0x5eee, 0x5eef, 0x5ef0, 0x5ef1, 0x5ef2, 0x5ef3, 0x5ef4,
793
 0x5ef5, 0x5ef6, 0x5ef7, 0x5ef8, 0x5ef9, 0x5efa, 0x5efb, 0x5efc,
794
 0x5efd, 0x5efe, 0x5eff, 0x5f00, 0x5f01, 0x5f02, 0x5f03, 0x5f04,
795
 0x5f05, 0x5f06, 0x5f07, 0x5f08, 0x5f09, 0x5f0a, 0x5f0b, 0x5f0c,
796
 0x5f0d, 0x5f0e, 0x5f0f, 0x0000,
797
};
798

  
799
static const uint8_t table0_mv_bits[1100] = {
800
  1,  4,  4,  4,  5,  5,  5,  6,
801
  6,  6,  7,  7,  7,  8,  8,  8,
802
  8,  8,  8,  8,  8,  8,  8,  8,
803
  8,  9,  9,  9,  9,  9,  9,  9,
804
  9,  9,  9,  9,  9, 10, 10, 10,
805
 10, 10, 10, 10, 10, 10, 10, 10,
806
 10, 10, 10, 10, 10, 10, 10, 10,
807
 10, 10, 10, 10, 11, 11, 11, 11,
808
 11, 11, 11, 11, 11, 11, 11, 11,
809
 11, 11, 11, 11, 11, 11, 11, 11,
810
 11, 11, 11, 11, 11, 11, 11, 11,
811
 12, 12, 12, 12, 12, 12, 12, 12,
812
 12, 12, 12, 12, 12, 12, 12, 12,
813
 12, 12, 12, 12, 12, 12, 12, 12,
814
 12, 12, 12, 12, 12, 12, 12, 12,
815
 12, 12, 12, 12, 12, 12, 12, 12,
816
 12, 12, 12, 12, 12, 12, 12, 12,
817
 12, 12, 12, 13, 13, 13, 13, 13,
818
 13, 13, 13, 13, 13, 13, 13, 13,
819
 13, 13, 13, 13, 13, 13, 13, 13,
820
 13, 13, 13, 13, 13, 13, 13, 13,
821
 13, 13, 13, 13, 13, 13, 13, 13,
822
 13, 13, 13, 13, 13, 13, 13, 13,
823
 13, 13, 13, 13, 13, 13, 13, 13,
824
 13, 13, 13, 13, 13, 13, 13, 13,
825
 13, 13, 14, 14, 14, 14, 14, 14,
826
 14, 14, 14, 14, 14, 14, 14, 14,
827
 14, 14, 14, 14, 14, 14, 14, 14,
828
 14, 14, 14, 14, 14, 14, 14, 14,
829
 14, 14, 14, 14, 14, 14, 14, 14,
830
 14, 14, 14, 14, 14, 14, 14, 14,
831
 14, 14, 14, 14, 14, 14, 14, 14,
832
 14, 14, 14, 14, 14, 14, 14, 14,
833
 14, 14, 14, 14, 14, 14, 14, 14,
834
 14, 14, 14, 14, 14, 14, 14, 14,
835
 14, 14, 14, 14, 14, 14, 14, 14,
836
 14, 14, 14, 14, 14, 14, 14, 14,
837
 14, 14, 14, 14, 14, 14, 14, 14,
838
 14, 15, 15, 15, 15, 15, 15, 15,
839
 15, 15, 15, 15, 15, 15, 15, 15,
840
 15, 15, 15, 15, 15, 15, 15, 15,
841
 15, 15, 15, 15, 15, 15, 15, 15,
842
 15, 15, 15, 15, 15, 15, 15, 15,
843
 15, 15, 15, 15, 15, 15, 15, 15,
844
 15, 15, 15, 15, 15, 15, 15, 15,
845
 15, 15, 15, 15, 15, 15, 15, 15,
846
 15, 15, 15, 15, 15, 15, 15, 15,
847
 15, 15, 15, 15, 15, 15, 15, 15,
848
 15, 15, 15, 15, 15, 15, 15, 15,
849
 15, 15, 15, 15, 15, 15, 15, 15,
850
 15, 15, 15, 15, 15, 15, 15, 15,
851
 15, 15, 15, 15, 15, 15, 15, 15,
852
 15, 15, 15, 15, 15, 15, 15, 15,
853
 15, 15, 15, 15, 15, 15, 15, 15,
854
 15, 15, 15, 15, 15, 15, 15, 15,
855
 15, 15, 15, 15, 15, 15, 15, 15,
856
 15, 15, 15, 15, 15, 15, 15, 15,
857
 15, 15, 15, 15, 15, 15, 15, 15,
858
 15, 15, 15, 15, 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, 16, 16, 16, 16, 16, 16, 16,
867
 16, 16, 16, 16, 16, 16, 16, 16,
868
 16, 16, 16, 16, 16, 16, 16, 16,
869
 16, 16, 16, 16, 16, 16, 16, 16,
870
 16, 16, 16, 16, 16, 16, 16, 16,
871
 16, 16, 16, 16, 16, 16, 16, 16,
872
 16, 16, 16, 16, 16, 16, 16, 16,
873
 16, 16, 16, 16, 16, 16, 16, 16,
874
 16, 16, 16, 16, 16, 16, 16, 16,
875
 16, 16, 16, 16, 16, 16, 16, 16,
876
 16, 16, 16, 16, 16, 16, 16, 16,
877
 16, 16, 16, 16, 16, 16, 16, 16,
878
 16, 16, 16, 16, 16, 16, 16, 16,
879
 16, 16, 16, 16, 16, 16, 16, 16,
880
 16, 16, 16, 16, 16, 16, 16, 16,
881
 16, 16, 16, 16, 16, 16, 16, 16,
882
 16, 16, 16, 16, 16, 16, 16, 16,
883
 16, 16, 16, 16, 16, 16, 16, 16,
884
 16, 16, 16, 16, 16, 16, 16, 16,
885
 16, 16, 16, 16, 16, 16, 16, 16,
886
 16, 16, 16, 16, 16, 16, 16, 16,
887
 16, 16, 16, 16, 16, 16, 16, 16,
888
 16, 16, 16, 16, 16, 16, 16, 16,
889
 16, 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,
914
 17, 17, 17, 17, 17, 17, 17, 17,
915
 17, 17, 17, 17, 17, 17, 17, 17,
916
 17, 17, 17, 17, 17, 17, 17, 17,
917
 17, 17, 17, 17, 17, 17, 17, 17,
918
 17, 17, 17, 17, 17, 17, 17, 17,
919
 17, 17, 17, 17, 17, 17, 17, 17,
920
 17, 17, 17, 17, 17, 17, 17, 17,
921
 17, 17, 17, 17, 17, 17, 17, 17,
922
 17, 17, 17, 17, 17, 17, 17, 17,
923
 17, 17, 17, 17, 17, 17, 17, 17,
924
 17, 17, 17, 17, 17, 17, 17, 17,
925
 17, 17, 17, 17, 17, 17, 17, 17,
926
 17, 17, 17, 17, 17, 17, 17, 17,
927
 17, 17, 17, 17, 17, 17, 17, 17,
928
 17, 17, 17, 17, 17, 17, 17, 17,
929
 17, 17, 17, 17, 17, 17, 17, 17,
930
 17, 17, 17, 17, 17, 17, 17, 17,
931
 17, 17, 17, 17, 17, 17, 17, 17,
932
 17, 17, 17, 17, 17, 17, 17, 17,
933
 17, 17, 17, 17, 17, 17, 17, 17,
934
 17, 17, 17, 17, 17, 17, 17, 17,
935
 17, 17, 17, 17, 17, 17, 17, 17,
936
 17, 17, 17, 17, 17, 17, 17, 17,
937
 17, 17, 17,  8,
938
};
939

  
940
static const uint8_t table0_mvx[1099] = {
941
 32, 32, 31, 32, 33, 31, 33, 31,
942
 33, 32, 34, 32, 30, 32, 31, 34,
943
 35, 32, 34, 33, 29, 33, 30, 30,
944
 31, 31, 35, 29, 33, 35, 33, 34,
945
 31, 29, 30, 34, 30, 36, 28, 32,
946
 34, 37, 30, 27, 32, 25, 39, 32,
947
 34, 32, 35, 35, 35, 31, 35, 29,
948
 32, 29, 30, 29, 37, 27, 36, 38,
949
 37, 33, 32, 31, 29, 31, 28, 36,
950
 33, 30, 34, 33, 33, 28, 27, 25,
951
 31, 26, 39, 32, 32, 31, 33, 39,
952
 31, 38, 28, 36, 21, 23, 43, 36,
953
 34, 41, 30, 25, 28, 31, 30, 34,
954
 38, 35, 61, 34, 28, 30, 37, 37,
955
 35, 27, 36,  3, 59, 38, 37, 32,
956
 31, 29, 26, 33, 37, 33, 27, 27,
957
 35, 34, 34, 40, 42, 33, 32, 29,
958
  4,  5, 28, 24, 25, 35, 39, 38,
959
 32, 23, 27, 32, 30, 35, 26, 34,
960
 60, 36, 29, 22, 26, 41,  7, 30,
961
 38, 30, 36, 29, 30, 41, 26, 25,
962
 32, 34, 24, 39,  1, 25, 39, 32,
963
 28, 29, 32, 38, 26, 36, 28, 63,
964
 28, 39, 23, 21, 26, 35, 31, 35,
965
 57, 31, 29, 29, 28, 30, 27, 35,
966
  2, 38, 40, 34, 37, 29, 38, 43,
967
 26, 32, 33, 42, 24, 40, 28, 32,
968
 32, 32, 36, 32, 43, 25, 21, 31,
969
 30, 31, 41, 29, 33, 37, 26, 37,
970
 27, 59, 23, 33, 35, 31, 31, 37,
971
 38, 39, 32, 23, 32, 27, 37, 36,
972
 31, 40, 25, 27, 38, 31, 36, 28,
973
 31, 36, 25, 45,  3, 34, 38, 39,
974
 40, 38, 30, 32, 19, 24, 25, 26,
975
 45, 20, 24, 33, 33, 31, 41, 34,
976
 39, 47, 40, 58, 59, 41, 33,  3,
977
 17, 61, 42, 30, 26, 29, 36, 61,
978
 33, 37, 62, 28, 25, 38, 25, 38,
979
 17, 23, 34, 33, 21, 33, 49, 27,
980
 32, 23, 27, 22, 24, 22, 39, 43,
981
 27, 37,  6, 42, 47, 26, 30, 31,
982
 41, 39, 33, 22, 45, 36, 32, 45,
983
 19, 22, 30,  5,  5, 17, 29, 22,
984
 31, 31, 43, 37, 27, 32, 32, 32,
985
 33, 34, 43, 35, 29, 26, 22, 32,
986
 19, 32, 25, 31, 41, 49, 28, 34,
987
 28, 39, 34, 19, 37, 38, 29, 21,
988
 36, 42, 24, 48, 16, 28, 49, 22,
989
 34, 31, 38, 39, 44, 11, 35, 30,
990
 33, 33, 23, 28, 33, 46, 15, 13,
991
 24, 41, 24, 34, 34, 30, 26, 24,
992
 14, 60, 21, 29, 39, 23, 35, 37,
993
 63, 45, 33, 34, 47, 41, 22, 42,
994
 35, 35, 23, 32, 35, 43, 32,  7,
995
 31, 41, 20, 31, 16, 13, 63, 25,
996
 30, 32, 35, 30, 30, 31, 42, 47,
997
 39, 38, 40, 40, 51, 55, 56, 18,
998
 21, 39, 39, 33, 17, 41, 23, 24,
999
 43, 25, 31, 20, 19, 45,  1, 34,
1000
 31, 22, 35, 15, 46, 46, 35, 31,
1001
 28, 29, 29, 23, 41, 27, 14, 53,
1002
 53, 27, 24, 32, 57, 32, 17, 42,
1003
 37, 29, 33,  1, 25, 32, 32, 63,
1004
 26, 40, 44, 36, 31, 39, 20, 20,
1005
 44, 23, 33, 34, 35, 33, 33, 28,
1006
 41, 23, 41, 41, 29, 25, 26, 49,
1007
 29, 24, 37, 49, 50, 51, 51, 26,
1008
 39, 25, 26, 15, 39, 18, 42, 17,
1009
  4, 31, 32, 32, 60,  1, 42, 32,
1010
  0, 12, 19, 35, 21, 41, 17, 26,
1011
 20, 45, 46, 32, 37, 22, 47, 29,
1012
 31, 27, 29, 30, 21, 33, 35, 18,
1013
 25, 33, 50, 51, 42,  2, 15, 51,
1014
 53, 33, 25, 29, 55, 37, 38, 33,
1015
 38, 59, 38, 33, 39, 13, 32, 40,
1016
 61, 61, 32,  9, 44,  3, 31, 29,
1017
 25, 31, 27, 23,  9, 25,  9, 29,
1018
 20, 30, 30, 42, 18, 28, 25, 28,
1019
 28, 21, 29, 43, 29, 43, 26, 44,
1020
 44, 21, 38, 21, 24, 45, 45, 35,
1021
 39, 22, 35, 36, 34, 34, 45, 34,
1022
 29, 31, 46, 25, 46, 16, 17, 31,
1023
 20, 32, 47, 47, 47, 32, 49, 49,
1024
 49, 31,  1, 27, 28, 39, 39, 21,
1025
 36, 23, 51,  2, 40, 51, 32, 53,
1026
 24, 30, 24, 30, 21, 40, 57, 57,
1027
 31, 41, 58, 32, 12,  4, 32, 34,
1028
 59, 31, 32, 13,  9, 35, 26, 35,
1029
 37, 61, 37, 63, 26, 29, 41, 38,
1030
 23, 20, 41, 26, 41, 42, 42, 42,
1031
 26, 26, 26, 26,  1, 26, 37, 37,
1032
 37, 23, 34, 42, 27, 43, 34, 27,
1033
 31, 24, 33, 16,  3, 31, 24, 33,
1034
 24,  4, 44, 44, 11, 44, 31, 13,
1035
 13, 44, 45, 13, 25, 22, 38, 26,
1036
 38, 38, 39, 32, 30, 39, 30, 22,
1037
 32, 26, 30, 47, 47, 47, 19, 47,
1038
 30, 31, 35,  8, 23, 47, 47, 27,
1039
 35, 47, 31, 48, 35, 19, 36, 49,
1040
 49, 33, 31, 39, 27, 39, 49, 49,
1041
 50, 50, 50, 39, 31, 51, 51, 39,
1042
 28, 33, 33, 21, 40, 31, 52, 53,
1043
 40, 53,  9, 33, 31, 53, 54, 54,
1044
 54, 55, 55, 34, 15, 56, 25, 56,
1045
 21, 21, 40, 40, 25, 40, 58, 36,
1046
  5, 41, 41, 12, 60, 41, 41, 37,
1047
 22, 61, 18, 29, 29, 30, 61, 30,
1048
 61, 62, 62, 30, 30, 63, 18, 13,
1049
 30, 23, 19, 20, 20, 41, 13,  2,
1050
  5,  5,  1,  5, 32,  6, 32, 35,
1051
 20, 35, 27, 35, 35, 36, 36, 13,
1052
 36, 41, 41, 41,  3, 30, 42, 27,
1053
 20, 30, 27, 28, 30, 21, 33, 33,
1054
 14, 24, 30, 42, 24, 33, 25, 42,
1055
 43, 14, 43, 43, 14, 43,  7, 36,
1056
 37, 37, 37, 37,  7, 14, 25, 43,
1057
 43, 44, 15, 37,  7,  7,  3,  1,
1058
  8, 15, 15,  8, 44, 44, 44, 45,
1059
 45, 45, 45,  8,  8, 45, 21, 45,
1060
 28, 28, 28, 21, 28, 28, 22, 37,
1061
 46, 46, 37,  8, 29, 37, 29, 22,
1062
 46, 37, 22, 29, 47, 47, 38, 38,
1063
 16, 38, 38, 33, 38, 22, 47, 47,
1064
 29, 25, 16,  0, 48,  1, 34, 48,
1065
 48, 34, 25, 26, 26, 49, 49, 26,
1066
  1, 49,  4, 26,  4, 49,  1,  9,
1067
 49, 49, 49, 10, 49, 17, 38, 17,
1068
 17, 50, 38, 50, 50, 22, 38, 51,
1069
 38, 38, 51, 39, 39, 18, 22, 39,
1070
 51, 22, 52, 52, 52, 39, 53, 53,
1071
 10, 23, 18, 29, 10, 53, 29, 54,
1072
 11, 54, 11, 11, 55,  1, 18, 55,
1073
 55, 55, 55, 55, 55, 29, 34, 18,
1074
 29, 56, 56, 34, 57, 34, 34, 29,
1075
 29, 57, 57, 35, 35, 35, 35, 35,
1076
 39, 35, 59, 59, 18, 59, 39, 30,
1077
 18, 40, 60, 60, 61, 30, 18, 61,
1078
 61, 19, 19,
1079
};
1080

  
1081
static const uint8_t table0_mvy[1099] = {
1082
 32, 31, 32, 33, 32, 31, 31, 33,
1083
 33, 34, 32, 30, 32, 35, 34, 31,
1084
 32, 29, 33, 30, 32, 34, 33, 31,
1085
 30, 35, 31, 31, 29, 33, 35, 30,
1086
 29, 33, 34, 34, 30, 32, 32, 36,
1087
 29, 32, 35, 32, 28, 32, 32, 27,
1088
 35, 37, 34, 29, 30, 36, 35, 34,
1089
 25, 30, 29, 35, 33, 31, 31, 32,
1090
 31, 28, 39, 28, 29, 37, 31, 33,
1091
 27, 36, 28, 36, 37, 33, 33, 31,
1092
 27, 32, 31, 38, 26, 25, 25, 33,
1093
 39, 31, 34, 30, 32, 32, 32, 34,
1094
 36, 32, 28, 33, 30, 38, 37, 27,
1095
 33, 28, 32, 37, 35, 38, 29, 34,
1096
 27, 29, 29, 32, 32, 34, 35,  3,
1097
 26, 36, 31, 38, 30, 26, 35, 34,
1098
 37, 26, 25, 32, 32, 39, 23, 37,
1099
 32, 32, 29, 32, 29, 36, 29, 30,
1100
 41, 31, 30, 21, 39, 25, 34, 38,
1101
 32, 35, 39, 32, 33, 33, 32, 27,
1102
 29, 25, 28, 27, 26, 31, 30, 35,
1103
 24, 24, 31, 34, 32, 30, 35, 40,
1104
 28, 38,  5, 35, 29, 36, 36, 32,
1105
 38, 30, 33, 31, 35, 26, 23, 38,
1106
 32, 41, 28, 25, 37, 40, 37, 39,
1107
 32, 36, 33, 39, 25, 26, 28, 31,
1108
 28, 42, 23, 31, 33, 31, 39,  1,
1109
 59, 22, 27,  4, 33, 34, 33, 24,
1110
 41,  3, 35, 41, 41, 28, 36, 36,
1111
 28, 33, 35, 21, 23, 21, 22, 37,
1112
 27, 27, 43, 29, 60, 39, 27, 25,
1113
 59, 34, 27, 27, 26, 40, 37, 27,
1114
 61, 26, 39, 33, 31, 22, 37, 25,
1115
 30, 25, 24, 61, 31, 34, 25, 38,
1116
 32, 32, 30,  3, 61, 43, 29, 23,
1117
 28, 32, 28, 32, 31, 34,  5, 33,
1118
 32, 33, 33, 42, 37, 23, 38, 31,
1119
 40, 26, 32, 26, 37, 38, 36, 24,
1120
 29, 30, 20, 22, 29, 24, 32, 41,
1121
  2, 34, 25, 33, 29, 31, 39, 35,
1122
 36, 24, 32, 30, 33, 27, 44, 60,
1123
 30, 36, 19, 34, 31, 24, 16, 35,
1124
 32, 38, 21, 33, 31, 31, 21, 35,
1125
  5, 17, 29, 38, 38, 18, 58, 19,
1126
 43, 41, 30, 41, 43, 39, 29,  7,
1127
 29, 17, 28, 19, 28, 31, 25, 19,
1128
 40, 26, 21, 33, 39, 23, 40, 30,
1129
 39, 34, 35, 32, 32, 24, 33, 30,
1130
 40, 47, 39, 37, 32, 33, 24, 23,
1131
 45, 47, 27, 23, 42, 32, 32, 33,
1132
 36, 37, 37, 17, 18, 22, 40, 38,
1133
 32, 31, 35, 24, 17, 25, 17, 23,
1134
 33, 34, 51, 42, 31, 36, 36, 29,
1135
 21, 22, 37, 44, 43, 25, 47, 33,
1136
 45, 27, 31, 58, 31, 32, 31, 38,
1137
 43, 20, 47, 45, 54,  1, 26, 34,
1138
 38, 14, 22, 24, 33, 34, 32, 32,
1139
 37, 21, 23, 49, 35, 23, 28, 39,
1140
 39, 23, 55, 33, 30, 30, 63, 16,
1141
 42, 28, 13, 33, 33, 35, 19, 46,
1142
 43, 17, 19, 36, 39, 24, 31, 32,
1143
 33, 26, 28, 62, 33, 63, 33, 39,
1144
 19, 49, 17, 31, 43, 13, 15, 29,
1145
 25, 35, 33, 23, 49, 41, 28, 29,
1146
 34, 38,  7, 61, 11, 50, 13, 41,
1147
 19, 47, 25, 26, 15, 42, 41, 29,
1148
 45, 27, 17, 35, 32, 29, 32, 24,
1149
 13, 26, 26, 31, 24, 33, 28, 30,
1150
 31, 11, 45, 46, 33, 33, 35, 57,
1151
 32, 32, 35, 45, 34, 11, 37, 42,
1152
 39, 37, 31, 49, 21, 27, 29, 47,
1153
 53, 40, 51, 16, 26,  1, 40, 30,
1154
 41, 44, 34, 25, 27, 31, 35, 35,
1155
 31, 15, 49,  1, 35, 40,  5, 58,
1156
 21, 29, 22, 59, 45, 31,  9, 26,
1157
  9, 29, 11, 32, 30,  3, 13, 20,
1158
 18, 20, 11,  3, 29, 40, 31, 53,
1159
 30, 17, 20, 37, 31, 42, 47, 47,
1160
 54, 38,  9, 34, 13, 37, 21, 25,
1161
 27, 43, 42, 45, 40, 25, 27, 46,
1162
 22, 25, 53, 20,  2, 14, 39, 15,
1163
 22, 44, 34, 21, 38, 33, 27, 48,
1164
 34, 52, 35, 47, 49, 54,  2, 13,
1165
 23, 52, 29, 45, 22, 49, 54, 21,
1166
 40, 42, 31, 30, 29, 34,  0, 25,
1167
 23, 51, 24, 59, 28, 38, 29, 31,
1168
  2, 13, 31,  8, 31, 33, 12, 45,
1169
 41,  7, 14, 30, 25, 18, 43, 20,
1170
 43, 35, 44,  1, 49, 42, 42, 18,
1171
 41, 38, 41, 44, 53, 11, 20, 25,
1172
 45, 46, 47, 48, 39, 52, 46, 49,
1173
 63, 55, 44, 38, 13, 13, 57, 22,
1174
 51, 16, 12, 28, 35, 57, 25, 20,
1175
 26, 28, 28, 29, 32, 31, 62, 34,
1176
 35, 35, 19, 49, 48, 39, 40, 18,
1177
 43, 46, 11,  6, 48, 19, 49, 41,
1178
 10, 23, 58, 17, 21, 23, 34, 30,
1179
 60,  0, 44, 34, 26, 37, 46, 43,
1180
 49, 59,  4, 34, 59, 37, 22, 25,
1181
 28, 46,  6, 40, 59, 42, 36, 61,
1182
 28, 30, 31, 43, 10, 22, 23, 47,
1183
 20, 52, 55, 36, 25, 16,  1, 11,
1184
 27, 29,  5, 63, 18, 41, 31, 34,
1185
 38,  1,  5, 13, 28, 31, 17, 38,
1186
 39, 41, 36, 37, 22, 39, 33, 43,
1187
 43, 15, 17, 49, 30, 21, 22, 20,
1188
 10, 17, 25, 54, 57,  3, 34,  8,
1189
 36, 25, 31, 14, 15, 19, 29, 25,
1190
 18, 39, 53, 22, 27, 20, 29, 33,
1191
 41, 42, 35, 62, 50, 29, 53, 50,
1192
 35, 55, 42, 61, 63,  4,  7, 42,
1193
 21, 46, 47, 49, 27, 46, 17, 55,
1194
 41, 50, 63,  4, 56, 18,  8, 10,
1195
 18, 51, 63, 36, 55, 18,  5, 55,
1196
  9, 29, 17, 21, 30, 27,  1, 59,
1197
  7, 11, 12, 15,  5, 42, 24, 41,
1198
 43,  7, 27, 22, 25, 31, 30, 37,
1199
 22, 39, 53, 29, 36, 37, 48,  0,
1200
  5, 13, 17, 31, 32, 26, 46, 28,
1201
 44, 45, 46, 53, 49, 51,  3, 41,
1202
  3, 22, 42, 33,  5, 45,  7, 22,
1203
 40, 53, 24, 14, 25, 27, 10, 12,
1204
 34, 16, 17, 53, 20, 26, 39, 45,
1205
 18, 45, 35, 33, 31, 49,  4, 39,
1206
 42, 11, 51,  5, 13, 26, 27, 17,
1207
 52, 30,  0, 22, 12, 34, 62, 36,
1208
 38, 41, 47, 30, 63, 38, 41, 43,
1209
 59, 33, 45, 37, 38, 40, 47, 24,
1210
 48, 49, 30,  1, 10, 22, 49, 15,
1211
 39, 59, 31, 32, 33, 18, 13, 15,
1212
 31, 21, 27, 44, 42, 39, 46, 17,
1213
 26, 32, 30, 31,  0, 30, 34,  9,
1214
 12, 13, 25, 31, 32, 55, 43, 35,
1215
 61, 33, 35, 46, 25, 47, 48, 62,
1216
 63, 38, 61,  1,  2,  5,  7,  9,
1217
 46, 10, 34, 35, 36, 55, 51,  7,
1218
 40, 23, 34, 37,  5, 13, 42, 18,
1219
 25, 27, 28,
1220
};
1221

  
1222
/* motion vector table 1 */
1223
static const uint16_t table1_mv_code[1100] = {
1224
 0x0000, 0x0007, 0x0009, 0x000f, 0x000a, 0x0011, 0x001a, 0x001c,
1225
 0x0011, 0x0031, 0x0025, 0x002d, 0x002f, 0x006f, 0x0075, 0x0041,
1226
 0x004c, 0x004e, 0x005c, 0x0060, 0x0062, 0x0066, 0x0068, 0x0069,
1227
 0x006b, 0x00a6, 0x00c1, 0x00cb, 0x00cc, 0x00ce, 0x00da, 0x00e8,
1228
 0x00ee, 0x0087, 0x0090, 0x009e, 0x009f, 0x00ba, 0x00ca, 0x00d8,
1229
 0x00db, 0x00df, 0x0104, 0x0109, 0x010c, 0x0143, 0x0145, 0x014a,
1230
 0x0156, 0x015c, 0x01b3, 0x01d3, 0x01da, 0x0103, 0x0109, 0x010b,
1231
 0x0122, 0x0127, 0x0134, 0x0161, 0x0164, 0x0176, 0x0184, 0x018d,
1232
 0x018e, 0x018f, 0x0190, 0x0193, 0x0196, 0x019d, 0x019e, 0x019f,
1233
 0x01a9, 0x01b2, 0x01b4, 0x01ba, 0x01bb, 0x01bc, 0x0201, 0x0202,
1234
 0x0205, 0x0207, 0x020d, 0x0210, 0x0211, 0x0215, 0x021b, 0x021f,
1235
 0x0281, 0x0285, 0x0290, 0x029c, 0x029d, 0x02a2, 0x02a7, 0x02a8,
1236
 0x02aa, 0x02b0, 0x02b1, 0x02b4, 0x02bc, 0x02bf, 0x0320, 0x0326,
1237
 0x0327, 0x0329, 0x032a, 0x0336, 0x0360, 0x0362, 0x0363, 0x0372,
1238
 0x03b2, 0x03bc, 0x03bd, 0x0203, 0x0205, 0x021a, 0x0249, 0x024a,
1239
 0x024c, 0x02c7, 0x02ca, 0x02ce, 0x02ef, 0x030d, 0x0322, 0x0325,
1240
 0x0338, 0x0373, 0x037a, 0x0409, 0x0415, 0x0416, 0x0418, 0x0428,
1241
 0x042d, 0x042f, 0x0434, 0x0508, 0x0509, 0x0510, 0x0511, 0x051c,
1242
 0x051e, 0x0524, 0x0541, 0x0543, 0x0546, 0x0547, 0x054d, 0x0557,
1243
 0x055f, 0x056a, 0x056c, 0x056d, 0x056f, 0x0576, 0x0577, 0x057a,
1244
 0x057b, 0x057c, 0x057d, 0x0600, 0x0601, 0x0603, 0x0614, 0x0616,
1245
 0x0617, 0x061c, 0x061f, 0x0642, 0x0648, 0x0649, 0x064a, 0x064b,
1246
 0x0657, 0x0668, 0x0669, 0x066b, 0x066e, 0x067f, 0x06c2, 0x06c8,
1247
 0x06cb, 0x06de, 0x06df, 0x06e2, 0x06e3, 0x06ef, 0x0748, 0x074b,
1248
 0x076e, 0x076f, 0x077c, 0x0409, 0x0423, 0x0428, 0x0429, 0x042a,
1249
 0x042b, 0x0432, 0x0433, 0x0496, 0x049a, 0x04d5, 0x04db, 0x0581,
1250
 0x0582, 0x058b, 0x058c, 0x058d, 0x0598, 0x0599, 0x059a, 0x059e,
1251
 0x05dd, 0x0619, 0x0632, 0x0633, 0x0648, 0x0672, 0x06a1, 0x06a2,
1252
 0x06a3, 0x06af, 0x06e2, 0x06e3, 0x06e4, 0x0800, 0x0801, 0x0802,
1253
 0x0803, 0x081a, 0x081b, 0x0829, 0x082f, 0x0832, 0x083e, 0x083f,
1254
 0x0852, 0x0853, 0x0858, 0x086b, 0x0877, 0x0878, 0x0879, 0x087a,
1255
 0x087b, 0x0a00, 0x0a01, 0x0a0d, 0x0a0e, 0x0a0f, 0x0a24, 0x0a37,
1256
 0x0a3a, 0x0a3b, 0x0a3e, 0x0a46, 0x0a47, 0x0a4a, 0x0a4b, 0x0a5f,
1257
 0x0a79, 0x0a7a, 0x0a7b, 0x0a80, 0x0a81, 0x0a84, 0x0a85, 0x0a99,
1258
 0x0aa5, 0x0aa6, 0x0ab8, 0x0aba, 0x0abb, 0x0abc, 0x0abd, 0x0ac8,
1259
 0x0ace, 0x0acf, 0x0ad7, 0x0adc, 0x0aeb, 0x0c04, 0x0c25, 0x0c26,
1260
 0x0c27, 0x0c2a, 0x0c2b, 0x0c3a, 0x0c3b, 0x0c3c, 0x0c3d, 0x0ca0,
1261
 0x0cad, 0x0cd4, 0x0cd5, 0x0cfc, 0x0cfd, 0x0d86, 0x0d92, 0x0d93,
1262
 0x0d94, 0x0d95, 0x0db0, 0x0db8, 0x0db9, 0x0dba, 0x0dbb, 0x0dc0,
1263
 0x0dc2, 0x0dc3, 0x0dda, 0x0ddb, 0x0ddc, 0x0ddd, 0x0e92, 0x0e93,
1264
 0x0e94, 0x0e95, 0x0ec7, 0x0ecc, 0x0ece, 0x0ecf, 0x0ed8, 0x0ed9,
1265
 0x0eda, 0x0edb, 0x0808, 0x0809, 0x080a, 0x0810, 0x0811, 0x0844,
1266
 0x0845, 0x0861, 0x0862, 0x0863, 0x086c, 0x0922, 0x0923, 0x092e,
1267
 0x092f, 0x0936, 0x0937, 0x09b1, 0x09b2, 0x09b3, 0x09b4, 0x09b5,
1268
 0x09b8, 0x09b9, 0x09ba, 0x09bb, 0x09bc, 0x09bd, 0x09be, 0x09bf,
1269
 0x0b00, 0x0b15, 0x0b2c, 0x0b2d, 0x0b2e, 0x0b2f, 0x0b36, 0x0bb9,
1270
 0x0c28, 0x0c2a, 0x0c2b, 0x0c2c, 0x0c2d, 0x0c2e, 0x0c2f, 0x0c30,
1271
 0x0c31, 0x0c38, 0x0c60, 0x0c61, 0x0c62, 0x0c63, 0x0c8d, 0x0c8e,
1272
 0x0c8f, 0x0c92, 0x0cbe, 0x0cbf, 0x0ce6, 0x0ce7, 0x0d40, 0x0d41,
1273
 0x0d57, 0x0d58, 0x0d59, 0x0d5a, 0x0d5b, 0x0d5c, 0x0d5d, 0x0d98,
1274
 0x0d99, 0x0d9a, 0x0d9b, 0x0d9c, 0x0d9d, 0x0dad, 0x0dae, 0x0daf,
1275
 0x0dc0, 0x0dc1, 0x0dc2, 0x0dc3, 0x0dca, 0x0dcb, 0x0dec, 0x0ded,
1276
 0x0dee, 0x0def, 0x1018, 0x1022, 0x1023, 0x1030, 0x1031, 0x1032,
1277
 0x1033, 0x1050, 0x1051, 0x105c, 0x1074, 0x1075, 0x1076, 0x1077,
1278
 0x1078, 0x1079, 0x107a, 0x107b, 0x10b2, 0x10b3, 0x10b8, 0x10b9,
1279
 0x10ba, 0x10bb, 0x10d4, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x1404,
1280
 0x1405, 0x1406, 0x1407, 0x1410, 0x1411, 0x1412, 0x1413, 0x1414,
1281
 0x1415, 0x1416, 0x1417, 0x1418, 0x1419, 0x1466, 0x1467, 0x1468,
1282
 0x1469, 0x146a, 0x146b, 0x146c, 0x146d, 0x147e, 0x147f, 0x1488,
1283
 0x1489, 0x148a, 0x148b, 0x14b6, 0x14b7, 0x14b8, 0x14b9, 0x14ba,
1284
 0x14bb, 0x14bc, 0x14bd, 0x14f0, 0x14f1, 0x14f8, 0x14f9, 0x14fa,
1285
 0x14fb, 0x14fc, 0x14fd, 0x14fe, 0x14ff, 0x152a, 0x152b, 0x152c,
1286
 0x152d, 0x152e, 0x152f, 0x1530, 0x1531, 0x1548, 0x1549, 0x154e,
1287
 0x154f, 0x1558, 0x1559, 0x155a, 0x155b, 0x1572, 0x159a, 0x159b,
1288
 0x15ac, 0x15ba, 0x15bb, 0x15d0, 0x15d1, 0x15d2, 0x15d3, 0x15d4,
1289
 0x15d5, 0x181d, 0x181e, 0x181f, 0x1840, 0x1841, 0x1842, 0x1843,
1290
 0x1844, 0x1845, 0x1846, 0x1847, 0x1848, 0x1849, 0x1861, 0x1862,
1291
 0x1863, 0x1864, 0x1865, 0x1866, 0x1867, 0x1868, 0x1869, 0x186a,
1292
 0x186b, 0x186c, 0x186d, 0x186e, 0x191b, 0x191c, 0x191d, 0x191e,
1293
 0x191f, 0x1942, 0x1943, 0x1944, 0x1945, 0x1946, 0x1947, 0x1958,
1294
 0x1959, 0x19ed, 0x19ee, 0x19ef, 0x19f0, 0x19f1, 0x19f2, 0x19f3,
1295
 0x19f4, 0x19f5, 0x19f6, 0x19f7, 0x1b0e, 0x1b0f, 0x1b62, 0x1b63,
1296
 0x1b64, 0x1b65, 0x1b66, 0x1b67, 0x1b68, 0x1b69, 0x1b6a, 0x1b6b,
1297
 0x1b6c, 0x1b6d, 0x1b6e, 0x1b6f, 0x1b82, 0x1ba8, 0x1ba9, 0x1baa,
1298
 0x1bab, 0x1bac, 0x1bad, 0x1bae, 0x1baf, 0x1bb0, 0x1bb1, 0x1bb2,
1299
 0x1bb3, 0x1d80, 0x1d81, 0x1d82, 0x1d83, 0x1d84, 0x1d85, 0x1d86,
1300
 0x1d87, 0x1d88, 0x1d89, 0x1d8a, 0x1d8b, 0x1d8c, 0x1d8d, 0x1007,
1301
 0x1008, 0x1009, 0x100a, 0x100b, 0x100c, 0x100d, 0x100e, 0x100f,
1302
 0x1016, 0x1080, 0x1081, 0x1082, 0x1083, 0x1084, 0x1085, 0x1086,
1303
 0x1087, 0x10c0, 0x123a, 0x123b, 0x123c, 0x123d, 0x123e, 0x123f,
1304
 0x1240, 0x1241, 0x1242, 0x1243, 0x1350, 0x1352, 0x1353, 0x1358,
1305
 0x1359, 0x135a, 0x135b, 0x135c, 0x135d, 0x135e, 0x135f, 0x1360,
1306
 0x1361, 0x1602, 0x1603, 0x160c, 0x160d, 0x160e, 0x160f, 0x1620,
1307
 0x1621, 0x1622, 0x1623, 0x1624, 0x1625, 0x1626, 0x1627, 0x1628,
1308
 0x1629, 0x166e, 0x166f, 0x167c, 0x167d, 0x167e, 0x167f, 0x1770,
1309
 0x1771, 0x1852, 0x1853, 0x1872, 0x1873, 0x1874, 0x1875, 0x1876,
1310
 0x1877, 0x1878, 0x1879, 0x187a, 0x187b, 0x187c, 0x187d, 0x187e,
1311
 0x187f, 0x1918, 0x1919, 0x1926, 0x1927, 0x1970, 0x1971, 0x1972,
1312
 0x1973, 0x1974, 0x1975, 0x1976, 0x1977, 0x1978, 0x1979, 0x197a,
1313
 0x197b, 0x1aa0, 0x1aa1, 0x1aa2, 0x1aa3, 0x1aa4, 0x1aa5, 0x1aa6,
1314
 0x1aa7, 0x1aa8, 0x1aa9, 0x1aaa, 0x1aab, 0x1aac, 0x1aad, 0x1b3c,
1315
 0x1b3d, 0x1b3e, 0x1b3f, 0x1b50, 0x1b51, 0x1b52, 0x1b53, 0x1b54,
1316
 0x1b55, 0x1b56, 0x1b57, 0x1b58, 0x1b59, 0x2032, 0x2033, 0x2034,
1317
 0x2035, 0x2036, 0x2037, 0x2038, 0x2039, 0x203a, 0x203b, 0x203c,
1318
 0x203d, 0x203e, 0x203f, 0x2040, 0x2041, 0x2042, 0x2043, 0x20ba,
1319
 0x20bb, 0x20cc, 0x20cd, 0x20ce, 0x20cf, 0x20e0, 0x20e1, 0x20e2,
1320
 0x20e3, 0x20e4, 0x20e5, 0x20e6, 0x20e7, 0x21aa, 0x21ab, 0x21c0,
1321
 0x21c1, 0x21c2, 0x21c3, 0x21c4, 0x21c5, 0x21c6, 0x21c7, 0x21c8,
1322
 0x21c9, 0x21ca, 0x21cb, 0x21cc, 0x21cd, 0x21ce, 0x21cf, 0x21d0,
1323
 0x21d1, 0x21d2, 0x21d3, 0x2894, 0x2895, 0x2896, 0x2897, 0x2898,
1324
 0x2899, 0x289a, 0x289b, 0x289c, 0x289d, 0x289e, 0x289f, 0x28c0,
1325
 0x28c1, 0x28c2, 0x28c3, 0x28c4, 0x28c5, 0x28c6, 0x28c7, 0x28c8,
1326
 0x28c9, 0x28ca, 0x28cb, 0x2930, 0x2931, 0x2932, 0x2933, 0x2934,
1327
 0x2935, 0x2936, 0x2937, 0x2938, 0x2939, 0x293a, 0x293b, 0x293c,
1328
 0x293d, 0x293e, 0x293f, 0x2960, 0x2961, 0x2962, 0x2963, 0x2964,
1329
 0x2965, 0x2966, 0x2967, 0x2968, 0x2969, 0x296a, 0x296b, 0x2a40,
1330
 0x2a41, 0x2a42, 0x2a43, 0x2a44, 0x2a45, 0x2a46, 0x2a47, 0x2a48,
1331
 0x2a49, 0x2a4a, 0x2a4b, 0x2a4c, 0x2a4d, 0x2a4e, 0x2a4f, 0x2a50,
1332
 0x2a51, 0x2a52, 0x2a53, 0x2ae6, 0x2ae7, 0x2b24, 0x2b25, 0x2b26,
1333
 0x2b27, 0x2b28, 0x2b29, 0x2b2a, 0x2b2b, 0x2b2c, 0x2b2d, 0x2b2e,
1334
 0x2b2f, 0x2b30, 0x2b31, 0x2b32, 0x2b33, 0x2b5a, 0x2b5b, 0x3014,
1335
 0x3015, 0x3016, 0x3017, 0x3020, 0x3021, 0x3022, 0x3023, 0x3024,
1336
 0x3025, 0x3026, 0x3027, 0x3028, 0x3029, 0x302a, 0x302b, 0x302c,
1337
 0x302d, 0x302e, 0x302f, 0x3030, 0x3031, 0x3032, 0x3033, 0x3034,
1338
 0x3035, 0x3036, 0x3037, 0x3038, 0x3039, 0x30c0, 0x30c1, 0x30de,
1339
 0x30df, 0x3218, 0x3219, 0x321a, 0x321b, 0x321c, 0x321d, 0x321e,
1340
 0x321f, 0x3220, 0x3221, 0x3222, 0x3223, 0x3224, 0x3225, 0x3226,
1341
 0x3227, 0x3228, 0x3229, 0x322a, 0x322b, 0x322c, 0x322d, 0x322e,
1342
 0x322f, 0x3230, 0x3231, 0x3232, 0x3233, 0x3234, 0x3235, 0x3378,
1343
 0x3379, 0x337a, 0x337b, 0x337c, 0x337d, 0x337e, 0x337f, 0x33c0,
1344
 0x33c1, 0x33c2, 0x33c3, 0x33c4, 0x33c5, 0x33c6, 0x33c7, 0x33c8,
1345
 0x33c9, 0x33ca, 0x33cb, 0x33cc, 0x33cd, 0x33ce, 0x33cf, 0x33d0,
1346
 0x33d1, 0x33d2, 0x33d3, 0x33d4, 0x33d5, 0x33d6, 0x33d7, 0x33d8,
1347
 0x33d9, 0x3706, 0x3707, 0x3730, 0x3731, 0x3732, 0x3733, 0x3734,
1348
 0x3735, 0x3736, 0x3737, 0x3738, 0x3739, 0x373a, 0x373b, 0x373c,
1349
 0x373d, 0x373e, 0x373f, 0x3740, 0x3741, 0x3742, 0x3743, 0x3744,
1350
 0x3745, 0x3746, 0x3747, 0x3748, 0x3749, 0x374a, 0x374b, 0x374c,
1351
 0x374d, 0x374e, 0x374f, 0x3b34, 0x3b35, 0x3b36, 0x3b37, 0x3be8,
1352
 0x3be9, 0x3bea, 0x3beb, 0x3bec, 0x3bed, 0x3bee, 0x3bef, 0x3bf0,
1353
 0x3bf1, 0x3bf2, 0x3bf3, 0x3bf4, 0x3bf5, 0x3bf6, 0x3bf7, 0x3bf8,
1354
 0x3bf9, 0x3bfa, 0x3bfb, 0x3bfc, 0x3bfd, 0x3bfe, 0x3bff, 0x2000,
1355
 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008,
1356
 0x2009, 0x200a, 0x200b, 0x200c, 0x200d, 0x202e, 0x202f, 0x2182,
1357
 0x2183, 0x21b4, 0x21b5, 0x21b6, 0x21b7, 0x21b8, 0x21b9, 0x21ba,
1358
 0x21bb, 0x21bc, 0x21bd, 0x21be, 0x21bf, 0x2460, 0x2461, 0x2462,
1359
 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246a,
1360
 0x246b, 0x246c, 0x246d, 0x246e, 0x246f, 0x2470, 0x2471, 0x2472,
1361
 0x2473, 0x26a2, 0x26a3, 0x000b,
1362
};
1363

  
1364
static const uint8_t table1_mv_bits[1100] = {
1365
  2,  4,  4,  4,  5,  5,  5,  5,
1366
  6,  6,  7,  7,  7,  7,  7,  8,
1367
  8,  8,  8,  8,  8,  8,  8,  8,
1368
  8,  8,  8,  8,  8,  8,  8,  8,
1369
  8,  9,  9,  9,  9,  9,  9,  9,
1370
  9,  9,  9,  9,  9,  9,  9,  9,
1371
  9,  9,  9,  9,  9, 10, 10, 10,
1372
 10, 10, 10, 10, 10, 10, 10, 10,
1373
 10, 10, 10, 10, 10, 10, 10, 10,
1374
 10, 10, 10, 10, 10, 10, 10, 10,
1375
 10, 10, 10, 10, 10, 10, 10, 10,
1376
 10, 10, 10, 10, 10, 10, 10, 10,
1377
 10, 10, 10, 10, 10, 10, 10, 10,
1378
 10, 10, 10, 10, 10, 10, 10, 10,
1379
 10, 10, 10, 11, 11, 11, 11, 11,
1380
 11, 11, 11, 11, 11, 11, 11, 11,
1381
 11, 11, 11, 11, 11, 11, 11, 11,
1382
 11, 11, 11, 11, 11, 11, 11, 11,
1383
 11, 11, 11, 11, 11, 11, 11, 11,
1384
 11, 11, 11, 11, 11, 11, 11, 11,
1385
 11, 11, 11, 11, 11, 11, 11, 11,
1386
 11, 11, 11, 11, 11, 11, 11, 11,
1387
 11, 11, 11, 11, 11, 11, 11, 11,
1388
 11, 11, 11, 11, 11, 11, 11, 11,
1389
 11, 11, 11, 12, 12, 12, 12, 12,
1390
 12, 12, 12, 12, 12, 12, 12, 12,
1391
 12, 12, 12, 12, 12, 12, 12, 12,
1392
 12, 12, 12, 12, 12, 12, 12, 12,
1393
 12, 12, 12, 12, 12, 12, 12, 12,
1394
 12, 12, 12, 12, 12, 12, 12, 12,
1395
 12, 12, 12, 12, 12, 12, 12, 12,
1396
 12, 12, 12, 12, 12, 12, 12, 12,
1397
 12, 12, 12, 12, 12, 12, 12, 12,
1398
 12, 12, 12, 12, 12, 12, 12, 12,
1399
 12, 12, 12, 12, 12, 12, 12, 12,
1400
 12, 12, 12, 12, 12, 12, 12, 12,
1401
 12, 12, 12, 12, 12, 12, 12, 12,
1402
 12, 12, 12, 12, 12, 12, 12, 12,
1403
 12, 12, 12, 12, 12, 12, 12, 12,
1404
 12, 12, 12, 12, 12, 12, 12, 12,
1405
 12, 12, 12, 12, 12, 12, 12, 12,
1406
 12, 12, 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, 13,
1419
 13, 13, 13, 13, 13, 13, 13, 13,
1420
 13, 13, 13, 13, 13, 13, 13, 13,
1421
 13, 13, 13, 13, 13, 13, 13, 13,
1422
 13, 13, 13, 13, 13, 13, 13, 13,
1423
 13, 13, 13, 13, 13, 13, 13, 13,
1424
 13, 13, 13, 13, 13, 13, 13, 13,
1425
 13, 13, 13, 13, 13, 13, 13, 13,
1426
 13, 13, 13, 13, 13, 13, 13, 13,
1427
 13, 13, 13, 13, 13, 13, 13, 13,
1428
 13, 13, 13, 13, 13, 13, 13, 13,
1429
 13, 13, 13, 13, 13, 13, 13, 13,
1430
 13, 13, 13, 13, 13, 13, 13, 13,
1431
 13, 13, 13, 13, 13, 13, 13, 13,
1432
 13, 13, 13, 13, 13, 13, 13, 13,
1433
 13, 13, 13, 13, 13, 13, 13, 13,
1434
 13, 13, 13, 13, 13, 13, 13, 13,
1435
 13, 13, 13, 13, 13, 13, 13, 13,
1436
 13, 13, 13, 13, 13, 13, 13, 13,
1437
 13, 13, 13, 13, 13, 13, 13, 13,
1438
 13, 13, 13, 13, 13, 13, 13, 13,
1439
 13, 13, 13, 13, 13, 13, 13, 13,
1440
 13, 13, 13, 13, 13, 13, 13, 13,
1441
 13, 13, 13, 13, 13, 13, 13, 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, 14,
1473
 14, 14, 14, 14, 14, 14, 14, 14,
1474
 14, 14, 14, 14, 14, 14, 14, 14,
1475
 14, 14, 14, 14, 14, 14, 14, 14,
1476
 14, 14, 14, 14, 14, 14, 14, 14,
1477
 14, 14, 14, 14, 14, 14, 14, 14,
1478
 14, 14, 14, 14, 14, 14, 14, 14,
1479
 14, 14, 14, 14, 14, 14, 14, 14,
1480
 14, 14, 14, 14, 14, 14, 14, 14,
1481
 14, 14, 14, 14, 14, 14, 14, 14,
1482
 14, 14, 14, 14, 14, 14, 14, 14,
1483
 14, 14, 14, 14, 14, 14, 14, 14,
1484
 14, 14, 14, 14, 14, 14, 14, 14,
1485
 14, 14, 14, 14, 14, 14, 14, 14,
1486
 14, 14, 14, 14, 14, 14, 14, 14,
1487
 14, 14, 14, 14, 14, 14, 14, 14,
1488
 14, 14, 14, 14, 14, 14, 14, 14,
1489
 14, 14, 14, 14, 14, 14, 14, 14,
1490
 14, 14, 14, 14, 14, 14, 14, 14,
1491
 14, 14, 14, 14, 14, 14, 14, 14,
1492
 14, 14, 14, 14, 14, 14, 14, 14,
1493
 14, 14, 14, 14, 14, 14, 14, 14,
1494
 14, 14, 14, 14, 14, 14, 14, 14,
1495
 14, 14, 14, 14, 14, 14, 14, 15,
1496
 15, 15, 15, 15, 15, 15, 15, 15,
1497
 15, 15, 15, 15, 15, 15, 15, 15,
1498
 15, 15, 15, 15, 15, 15, 15, 15,
1499
 15, 15, 15, 15, 15, 15, 15, 15,
1500
 15, 15, 15, 15, 15, 15, 15, 15,
1501
 15, 15, 15, 15, 15, 15, 15, 15,
1502
 15, 15, 15,  4,
1503
};
1504

  
1505
static const uint8_t table1_mvx[1099] = {
1506
 32, 31, 32, 31, 33, 32, 33, 33,
1507
 31, 34, 30, 32, 32, 34, 35, 32,
1508
 34, 33, 29, 30, 30, 32, 31, 31,
1509
 33, 35, 35, 33, 31, 29, 29, 33,
1510
 34, 30, 31, 28, 36, 30, 34, 32,
1511
 32, 37, 32, 32, 25, 27, 39, 32,
1512
 32, 32, 38, 35, 36, 32, 37, 61,
1513
 26, 32, 34, 35,  3, 35, 27, 28,
1514
 29, 34, 28, 37, 31, 36, 32, 27,
1515
 31, 30, 29, 39, 33, 29, 33, 35,
1516
 25, 25, 29, 33, 31, 31, 31, 33,
1517
 32, 30, 32, 32, 41, 39, 33, 36,
1518
 32, 28, 34, 36, 38, 24, 60, 31,
1519
 23, 28, 32, 33, 59, 32, 40, 30,
1520
  5, 34, 32, 38, 32, 30, 43,  4,
1521
 32, 32, 42, 31, 31, 32, 26, 38,
1522
 26, 22, 21, 37, 61, 63, 37, 31,
1523
 32, 33,  2,  1, 23, 33, 41, 27,
1524
 35, 30, 38, 23, 33,  3, 28, 34,
1525
 34, 27, 41, 29, 39, 35, 36, 29,
1526
 32, 27, 30, 32, 24, 61, 37, 26,
1527
 59, 25, 35, 27, 36, 37, 30, 31,
1528
 34, 40,  3, 28, 34, 39, 32, 31,
1529
 32, 30, 24, 28, 35, 36, 26, 32,
1530
 31, 33, 29, 33, 39, 25, 30, 24,
1531
 35, 59, 29, 34, 25, 30, 21, 35,
1532
 43, 40, 32, 29,  5, 28, 31, 62,
1533
 33, 33, 25, 31, 21, 31, 43, 31,
1534
 34, 33, 20, 40, 39, 31, 31, 57,
1535
 38, 32, 42, 33, 32, 31, 32, 29,
1536
 30, 44,  5, 31, 22, 34, 36, 17,
1537
 38, 58, 38, 35, 32, 60, 35, 24,
1538
 32, 38, 16, 45, 42, 32, 31, 29,
1539
  4, 30, 17, 40, 46, 48, 63, 32,
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff