Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
abf1784c
Commit
abf1784c
authored
Apr 20, 2012
by
Scott LaVarnway
Committed by
Gerrit Code Review
Apr 20, 2012
Browse files
Merge "Makes all mode token tables const part 2"
parents
5948a021
317d4244
Changes
4
Hide whitespace changes
Inline
Side-by-side
vp8/common/entropymode.c
View file @
abf1784c
...
...
@@ -8,22 +8,13 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#define USE_PREBUILT_TABLES
#include "entropymode.h"
#include "entropy.h"
#include "vpx_mem/vpx_mem.h"
static
const
unsigned
int
kf_y_mode_cts
[
VP8_YMODES
]
=
{
1607
,
915
,
812
,
811
,
5455
};
static
const
unsigned
int
y_mode_cts
[
VP8_YMODES
]
=
{
8080
,
1908
,
1582
,
1007
,
5874
};
static
const
unsigned
int
uv_mode_cts
[
VP8_UV_MODES
]
=
{
59483
,
13605
,
16492
,
4230
};
static
const
unsigned
int
kf_uv_mode_cts
[
VP8_UV_MODES
]
=
{
5319
,
1904
,
1703
,
674
};
static
const
unsigned
int
bmode_cts
[
VP8_BINTRAMODES
]
=
{
43891
,
17694
,
10036
,
3920
,
3363
,
2546
,
5119
,
3221
,
2471
,
1723
};
#include "vp8_entropymodedata.h"
int
vp8_mv_cont
(
const
int_mv
*
l
,
const
int_mv
*
a
)
{
...
...
@@ -166,166 +157,21 @@ const vp8_tree_index vp8_small_mvtree [14] =
-
6
,
-
7
};
/* Function used to generate the token tables below */
/*
void vp8_entropy_mode_init()
{
vp8_tokens_from_tree(vp8_bmode_encodings, vp8_bmode_tree);
vp8_tokens_from_tree(vp8_ymode_encodings, vp8_ymode_tree);
vp8_tokens_from_tree(vp8_kf_ymode_encodings, vp8_kf_ymode_tree);
vp8_tokens_from_tree(vp8_uv_mode_encodings, vp8_uv_mode_tree);
vp8_tokens_from_tree(vp8_mbsplit_encodings, vp8_mbsplit_tree);
vp8_tokens_from_tree_offset(vp8_mv_ref_encoding_array,
vp8_mv_ref_tree, NEARESTMV);
vp8_tokens_from_tree_offset(vp8_sub_mv_ref_encoding_array,
vp8_sub_mv_ref_tree, LEFT4X4);
vp8_tokens_from_tree(vp8_small_mvencodings, vp8_small_mvtree);
}
*/
const
struct
vp8_token_struct
vp8_bmode_encodings
[
VP8_BINTRAMODES
]
=
{
{
0
,
1
},
{
2
,
2
},
{
6
,
3
},
{
28
,
5
},
{
30
,
5
},
{
58
,
6
},
{
59
,
6
},
{
62
,
6
},
{
126
,
7
},
{
127
,
7
}
};
const
struct
vp8_token_struct
vp8_ymode_encodings
[
VP8_YMODES
]
=
{
{
0
,
1
},
{
4
,
3
},
{
5
,
3
},
{
6
,
3
},
{
7
,
3
}
};
const
struct
vp8_token_struct
vp8_kf_ymode_encodings
[
VP8_YMODES
]
=
{
{
4
,
3
},
{
5
,
3
},
{
6
,
3
},
{
7
,
3
},
{
0
,
1
}
};
const
struct
vp8_token_struct
vp8_uv_mode_encodings
[
VP8_UV_MODES
]
=
{
{
0
,
1
},
{
2
,
2
},
{
6
,
3
},
{
7
,
3
}
};
const
struct
vp8_token_struct
vp8_mbsplit_encodings
[
VP8_NUMMBSPLITS
]
=
{
{
6
,
3
},
{
7
,
3
},
{
2
,
2
},
{
0
,
1
}
};
const
struct
vp8_token_struct
vp8_mv_ref_encoding_array
[
VP8_MVREFS
]
=
{
{
2
,
2
},
{
6
,
3
},
{
0
,
1
},
{
14
,
4
},
{
15
,
4
}
};
const
struct
vp8_token_struct
vp8_sub_mv_ref_encoding_array
[
VP8_SUBMVREFS
]
=
{
{
0
,
1
},
{
2
,
2
},
{
6
,
3
},
{
7
,
3
}
};
const
struct
vp8_token_struct
vp8_small_mvencodings
[
8
]
=
{
{
0
,
3
},
{
1
,
3
},
{
2
,
3
},
{
3
,
3
},
{
4
,
3
},
{
5
,
3
},
{
6
,
3
},
{
7
,
3
}
};
void
vp8_init_mbmode_probs
(
VP8_COMMON
*
x
)
{
unsigned
int
bct
[
VP8_YMODES
]
[
2
];
/* num Ymodes > num UV modes */
vp8_tree_probs_from_distribution
(
VP8_YMODES
,
vp8_ymode_encodings
,
vp8_ymode_tree
,
x
->
fc
.
ymode_prob
,
bct
,
y_mode_cts
,
256
,
1
);
vp8_tree_probs_from_distribution
(
VP8_YMODES
,
vp8_kf_ymode_encodings
,
vp8_kf_ymode_tree
,
x
->
kf_ymode_prob
,
bct
,
kf_y_mode_cts
,
256
,
1
);
vp8_tree_probs_from_distribution
(
VP8_UV_MODES
,
vp8_uv_mode_encodings
,
vp8_uv_mode_tree
,
x
->
fc
.
uv_mode_prob
,
bct
,
uv_mode_cts
,
256
,
1
);
vp8_tree_probs_from_distribution
(
VP8_UV_MODES
,
vp8_uv_mode_encodings
,
vp8_uv_mode_tree
,
x
->
kf_uv_mode_prob
,
bct
,
kf_uv_mode_cts
,
256
,
1
);
vpx_memcpy
(
x
->
fc
.
ymode_prob
,
vp8_ymode_prob
,
sizeof
(
vp8_ymode_prob
));
vpx_memcpy
(
x
->
kf_ymode_prob
,
kf_ymode_prob
,
sizeof
(
kf_ymode_prob
));
vpx_memcpy
(
x
->
fc
.
uv_mode_prob
,
vp8_uv_mode_prob
,
sizeof
(
vp8_uv_mode_prob
));
vpx_memcpy
(
x
->
kf_uv_mode_prob
,
vp8_kf_uv_mode_prob
,
sizeof
(
vp8_kf_uv_mode_prob
));
vpx_memcpy
(
x
->
fc
.
sub_mv_ref_prob
,
sub_mv_ref_prob
,
sizeof
(
sub_mv_ref_prob
));
}
static
void
intra_bmode_probs_from_distribution
(
vp8_prob
p
[
VP8_BINTRAMODES
-
1
],
unsigned
int
branch_ct
[
VP8_BINTRAMODES
-
1
]
[
2
],
const
unsigned
int
events
[
VP8_BINTRAMODES
]
)
{
vp8_tree_probs_from_distribution
(
VP8_BINTRAMODES
,
vp8_bmode_encodings
,
vp8_bmode_tree
,
p
,
branch_ct
,
events
,
256
,
1
);
}
void
vp8_default_bmode_probs
(
vp8_prob
p
[
VP8_BINTRAMODES
-
1
])
{
unsigned
int
branch_ct
[
VP8_BINTRAMODES
-
1
]
[
2
];
intra_bmode_probs_from_distribution
(
p
,
branch_ct
,
bmode_cts
);
vpx_memcpy
(
p
,
vp8_bmode_prob
,
sizeof
(
vp8_bmode_prob
));
}
void
vp8_kf_default_bmode_probs
(
vp8_prob
p
[
VP8_BINTRAMODES
]
[
VP8_BINTRAMODES
]
[
VP8_BINTRAMODES
-
1
])
{
unsigned
int
branch_ct
[
VP8_BINTRAMODES
-
1
]
[
2
];
int
i
=
0
;
do
{
int
j
=
0
;
do
{
intra_bmode_probs_from_distribution
(
p
[
i
][
j
],
branch_ct
,
vp8_kf_default_bmode_counts
[
i
][
j
]);
}
while
(
++
j
<
VP8_BINTRAMODES
);
}
while
(
++
i
<
VP8_BINTRAMODES
);
vpx_memcpy
(
p
,
vp8_kf_bmode_prob
,
sizeof
(
vp8_kf_bmode_prob
));
}
vp8/common/modecontext.c
deleted
100644 → 0
View file @
5948a021
/*
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "entropymode.h"
const
unsigned
int
vp8_kf_default_bmode_counts
[
VP8_BINTRAMODES
]
[
VP8_BINTRAMODES
]
[
VP8_BINTRAMODES
]
=
{
{
/*Above Mode : 0*/
{
43438
,
2195
,
470
,
316
,
615
,
171
,
217
,
412
,
124
,
160
,
},
/* left_mode 0 */
{
5722
,
2751
,
296
,
291
,
81
,
68
,
80
,
101
,
100
,
170
,
},
/* left_mode 1 */
{
1629
,
201
,
307
,
25
,
47
,
16
,
34
,
72
,
19
,
28
,
},
/* left_mode 2 */
{
332
,
266
,
36
,
500
,
20
,
65
,
23
,
14
,
154
,
106
,
},
/* left_mode 3 */
{
450
,
97
,
10
,
24
,
117
,
10
,
2
,
12
,
8
,
71
,
},
/* left_mode 4 */
{
384
,
49
,
29
,
44
,
12
,
162
,
51
,
5
,
87
,
42
,
},
/* left_mode 5 */
{
495
,
53
,
157
,
27
,
14
,
57
,
180
,
17
,
17
,
34
,
},
/* left_mode 6 */
{
695
,
64
,
62
,
9
,
27
,
5
,
3
,
147
,
10
,
26
,
},
/* left_mode 7 */
{
230
,
54
,
20
,
124
,
16
,
125
,
29
,
12
,
283
,
37
,
},
/* left_mode 8 */
{
260
,
87
,
21
,
120
,
32
,
16
,
33
,
16
,
33
,
203
,
},
/* left_mode 9 */
},
{
/*Above Mode : 1*/
{
3934
,
2573
,
355
,
137
,
128
,
87
,
133
,
117
,
37
,
27
,
},
/* left_mode 0 */
{
1036
,
1929
,
278
,
135
,
27
,
37
,
48
,
55
,
41
,
91
,
},
/* left_mode 1 */
{
223
,
256
,
253
,
15
,
13
,
9
,
28
,
64
,
3
,
3
,
},
/* left_mode 2 */
{
120
,
129
,
17
,
316
,
15
,
11
,
9
,
4
,
53
,
74
,
},
/* left_mode 3 */
{
129
,
58
,
6
,
11
,
38
,
2
,
0
,
5
,
2
,
67
,
},
/* left_mode 4 */
{
53
,
22
,
11
,
16
,
8
,
26
,
14
,
3
,
19
,
12
,
},
/* left_mode 5 */
{
59
,
26
,
61
,
11
,
4
,
9
,
35
,
13
,
8
,
8
,
},
/* left_mode 6 */
{
101
,
52
,
40
,
8
,
5
,
2
,
8
,
59
,
2
,
20
,
},
/* left_mode 7 */
{
48
,
34
,
10
,
52
,
8
,
15
,
6
,
6
,
63
,
20
,
},
/* left_mode 8 */
{
96
,
48
,
22
,
63
,
11
,
14
,
5
,
8
,
9
,
96
,
},
/* left_mode 9 */
},
{
/*Above Mode : 2*/
{
709
,
461
,
506
,
36
,
27
,
33
,
151
,
98
,
24
,
6
,
},
/* left_mode 0 */
{
201
,
375
,
442
,
27
,
13
,
8
,
46
,
58
,
6
,
19
,
},
/* left_mode 1 */
{
122
,
140
,
417
,
4
,
13
,
3
,
33
,
59
,
4
,
2
,
},
/* left_mode 2 */
{
36
,
17
,
22
,
16
,
6
,
8
,
12
,
17
,
9
,
21
,
},
/* left_mode 3 */
{
51
,
15
,
7
,
1
,
14
,
0
,
4
,
5
,
3
,
22
,
},
/* left_mode 4 */
{
18
,
11
,
30
,
9
,
7
,
20
,
11
,
5
,
2
,
6
,
},
/* left_mode 5 */
{
38
,
21
,
103
,
9
,
4
,
12
,
79
,
13
,
2
,
5
,
},
/* left_mode 6 */
{
64
,
17
,
66
,
2
,
12
,
4
,
2
,
65
,
4
,
5
,
},
/* left_mode 7 */
{
14
,
7
,
7
,
16
,
3
,
11
,
4
,
13
,
15
,
16
,
},
/* left_mode 8 */
{
36
,
8
,
32
,
9
,
9
,
4
,
14
,
7
,
6
,
24
,
},
/* left_mode 9 */
},
{
/*Above Mode : 3*/
{
1340
,
173
,
36
,
119
,
30
,
10
,
13
,
10
,
20
,
26
,
},
/* left_mode 0 */
{
156
,
293
,
26
,
108
,
5
,
16
,
2
,
4
,
23
,
30
,
},
/* left_mode 1 */
{
60
,
34
,
13
,
7
,
3
,
3
,
0
,
8
,
4
,
5
,
},
/* left_mode 2 */
{
72
,
64
,
1
,
235
,
3
,
9
,
2
,
7
,
28
,
38
,
},
/* left_mode 3 */
{
29
,
14
,
1
,
3
,
5
,
0
,
2
,
2
,
5
,
13
,
},
/* left_mode 4 */
{
22
,
7
,
4
,
11
,
2
,
5
,
1
,
2
,
6
,
4
,
},
/* left_mode 5 */
{
18
,
14
,
5
,
6
,
4
,
3
,
14
,
0
,
9
,
2
,
},
/* left_mode 6 */
{
41
,
10
,
7
,
1
,
2
,
0
,
0
,
10
,
2
,
1
,
},
/* left_mode 7 */
{
23
,
19
,
2
,
33
,
1
,
5
,
2
,
0
,
51
,
8
,
},
/* left_mode 8 */
{
33
,
26
,
7
,
53
,
3
,
9
,
3
,
3
,
9
,
19
,
},
/* left_mode 9 */
},
{
/*Above Mode : 4*/
{
410
,
165
,
43
,
31
,
66
,
15
,
30
,
54
,
8
,
17
,
},
/* left_mode 0 */
{
115
,
64
,
27
,
18
,
30
,
7
,
11
,
15
,
4
,
19
,
},
/* left_mode 1 */
{
31
,
23
,
25
,
1
,
7
,
2
,
2
,
10
,
0
,
5
,
},
/* left_mode 2 */
{
17
,
4
,
1
,
6
,
8
,
2
,
7
,
5
,
5
,
21
,
},
/* left_mode 3 */
{
120
,
12
,
1
,
2
,
83
,
3
,
0
,
4
,
1
,
40
,
},
/* left_mode 4 */
{
4
,
3
,
1
,
2
,
1
,
2
,
5
,
0
,
3
,
6
,
},
/* left_mode 5 */
{
10
,
2
,
13
,
6
,
6
,
6
,
8
,
2
,
4
,
5
,
},
/* left_mode 6 */
{
58
,
10
,
5
,
1
,
28
,
1
,
1
,
33
,
1
,
9
,
},
/* left_mode 7 */
{
8
,
2
,
1
,
4
,
2
,
5
,
1
,
1
,
2
,
10
,
},
/* left_mode 8 */
{
76
,
7
,
5
,
7
,
18
,
2
,
2
,
0
,
5
,
45
,
},
/* left_mode 9 */
},
{
/*Above Mode : 5*/
{
444
,
46
,
47
,
20
,
14
,
110
,
60
,
14
,
60
,
7
,
},
/* left_mode 0 */
{
59
,
57
,
25
,
18
,
3
,
17
,
21
,
6
,
14
,
6
,
},
/* left_mode 1 */
{
24
,
17
,
20
,
6
,
4
,
13
,
7
,
2
,
3
,
2
,
},
/* left_mode 2 */
{
13
,
11
,
5
,
14
,
4
,
9
,
2
,
4
,
15
,
7
,
},
/* left_mode 3 */
{
8
,
5
,
2
,
1
,
4
,
0
,
1
,
1
,
2
,
12
,
},
/* left_mode 4 */
{
19
,
5
,
5
,
7
,
4
,
40
,
6
,
3
,
10
,
4
,
},
/* left_mode 5 */
{
16
,
5
,
9
,
1
,
1
,
16
,
26
,
2
,
10
,
4
,
},
/* left_mode 6 */
{
11
,
4
,
8
,
1
,
1
,
4
,
4
,
5
,
4
,
1
,
},
/* left_mode 7 */
{
15
,
1
,
3
,
7
,
3
,
21
,
7
,
1
,
34
,
5
,
},
/* left_mode 8 */
{
18
,
5
,
1
,
3
,
4
,
3
,
7
,
1
,
2
,
9
,
},
/* left_mode 9 */
},
{
/*Above Mode : 6*/
{
476
,
149
,
94
,
13
,
14
,
77
,
291
,
27
,
23
,
3
,
},
/* left_mode 0 */
{
79
,
83
,
42
,
14
,
2
,
12
,
63
,
2
,
4
,
14
,
},
/* left_mode 1 */
{
43
,
36
,
55
,
1
,
3
,
8
,
42
,
11
,
5
,
1
,
},
/* left_mode 2 */
{
9
,
9
,
6
,
16
,
1
,
5
,
6
,
3
,
11
,
10
,
},
/* left_mode 3 */
{
10
,
3
,
1
,
3
,
10
,
1
,
0
,
1
,
1
,
4
,
},
/* left_mode 4 */
{
14
,
6
,
15
,
5
,
1
,
20
,
25
,
2
,
5
,
0
,
},
/* left_mode 5 */
{
28
,
7
,
51
,
1
,
0
,
8
,
127
,
6
,
2
,
5
,
},
/* left_mode 6 */
{
13
,
3
,
3
,
2
,
3
,
1
,
2
,
8
,
1
,
2
,
},
/* left_mode 7 */
{
10
,
3
,
3
,
3
,
3
,
8
,
2
,
2
,
9
,
3
,
},
/* left_mode 8 */
{
13
,
7
,
11
,
4
,
0
,
4
,
6
,
2
,
5
,
8
,
},
/* left_mode 9 */
},
{
/*Above Mode : 7*/
{
376
,
135
,
119
,
6
,
32
,
8
,
31
,
224
,
9
,
3
,
},
/* left_mode 0 */
{
93
,
60
,
54
,
6
,
13
,
7
,
8
,
92
,
2
,
12
,
},
/* left_mode 1 */
{
74
,
36
,
84
,
0
,
3
,
2
,
9
,
67
,
2
,
1
,
},
/* left_mode 2 */
{
19
,
4
,
4
,
8
,
8
,
2
,
4
,
7
,
6
,
16
,
},
/* left_mode 3 */
{
51
,
7
,
4
,
1
,
77
,
3
,
0
,
14
,
1
,
15
,
},
/* left_mode 4 */
{
7
,
7
,
5
,
7
,
4
,
7
,
4
,
5
,
0
,
3
,
},
/* left_mode 5 */
{
18
,
2
,
19
,
2
,
2
,
4
,
12
,
11
,
1
,
2
,
},
/* left_mode 6 */
{
129
,
6
,
27
,
1
,
21
,
3
,
0
,
189
,
0
,
6
,
},
/* left_mode 7 */
{
9
,
1
,
2
,
8
,
3
,
7
,
0
,
5
,
3
,
3
,
},
/* left_mode 8 */
{
20
,
4
,
5
,
10
,
4
,
2
,
7
,
17
,
3
,
16
,
},
/* left_mode 9 */
},
{
/*Above Mode : 8*/
{
617
,
68
,
34
,
79
,
11
,
27
,
25
,
14
,
75
,
13
,
},
/* left_mode 0 */
{
51
,
82
,
21
,
26
,
6
,
12
,
13
,
1
,
26
,
16
,
},
/* left_mode 1 */
{
29
,
9
,
12
,
11
,
3
,
7
,
1
,
10
,
2
,
2
,
},
/* left_mode 2 */
{
17
,
19
,
11
,
74
,
4
,
3
,
2
,
0
,
58
,
13
,
},
/* left_mode 3 */
{
10
,
1
,
1
,
3
,
4
,
1
,
0
,
2
,
1
,
8
,
},
/* left_mode 4 */
{
14
,
4
,
5
,
5
,
1
,
13
,
2
,
0
,
27
,
8
,
},
/* left_mode 5 */
{
10
,
3
,
5
,
4
,
1
,
7
,
6
,
4
,
5
,
1
,
},
/* left_mode 6 */
{
10
,
2
,
6
,
2
,
1
,
1
,
1
,
4
,
2
,
1
,
},
/* left_mode 7 */
{
14
,
8
,
5
,
23
,
2
,
12
,
6
,
2
,
117
,
5
,
},
/* left_mode 8 */
{
9
,
6
,
2
,
19
,
1
,
6
,
3
,
2
,
9
,
9
,
},
/* left_mode 9 */
},
{
/*Above Mode : 9*/
{
680
,
73
,
22
,
38
,
42
,
5
,
11
,
9
,
6
,
28
,
},
/* left_mode 0 */
{
113
,
112
,
21
,
22
,
10
,
2
,
8
,
4
,
6
,
42
,
},
/* left_mode 1 */
{
44
,
20
,
24
,
6
,
5
,
4
,
3
,
3
,
1
,
2
,
},
/* left_mode 2 */
{
40
,
23
,
7
,
71
,
5
,
2
,
4
,
1
,
7
,
22
,
},
/* left_mode 3 */
{
85
,
9
,
4
,
4
,
17
,
2
,
0
,
3
,
2
,
23
,
},
/* left_mode 4 */
{
13
,
4
,
2
,
6
,
1
,
7
,
0
,
1
,
7
,
6
,
},
/* left_mode 5 */
{
26
,
6
,
8
,
3
,
2
,
3
,
8
,
1
,
5
,
4
,
},
/* left_mode 6 */
{
54
,
8
,
9
,
6
,
7
,
0
,
1
,
11
,
1
,
3
,
},
/* left_mode 7 */
{
9
,
10
,
4
,
13
,
2
,
5
,
4
,
2
,
14
,
8
,
},
/* left_mode 8 */
{
92
,
9
,
5
,
19
,
15
,
3
,
3
,
1
,
6
,
58
,
},
/* left_mode 9 */
},
};
vp8/common/vp8_entropymodedata.h
0 → 100755
View file @
abf1784c
/*
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
/*Generated file, included by entropymode.c*/
const
struct
vp8_token_struct
vp8_bmode_encodings
[
VP8_BINTRAMODES
]
=
{
{
0
,
1
},
{
2
,
2
},
{
6
,
3
},
{
28
,
5
},
{
30
,
5
},
{
58
,
6
},
{
59
,
6
},
{
62
,
6
},
{
126
,
7
},
{
127
,
7
}
};
const
struct
vp8_token_struct
vp8_ymode_encodings
[
VP8_YMODES
]
=
{
{
0
,
1
},
{
4
,
3
},
{
5
,
3
},
{
6
,
3
},
{
7
,
3
}
};
const
struct
vp8_token_struct
vp8_kf_ymode_encodings
[
VP8_YMODES
]
=
{
{
4
,
3
},
{
5
,
3
},
{
6
,
3
},
{
7
,
3
},
{
0
,
1
}
};
const
struct
vp8_token_struct
vp8_uv_mode_encodings
[
VP8_UV_MODES
]
=
{
{
0
,
1
},
{
2
,
2
},
{
6
,
3
},
{
7
,
3
}
};
const
struct
vp8_token_struct
vp8_mbsplit_encodings
[
VP8_NUMMBSPLITS
]
=
{
{
6
,
3
},
{
7
,
3
},
{
2
,
2
},
{
0
,
1
}
};
const
struct
vp8_token_struct
vp8_mv_ref_encoding_array
[
VP8_MVREFS
]
=
{
{
2
,
2
},
{
6
,
3
},
{
0
,
1
},
{
14
,
4
},
{
15
,
4
}
};
const
struct
vp8_token_struct
vp8_sub_mv_ref_encoding_array
[
VP8_SUBMVREFS
]
=
{
{
0
,
1
},
{
2
,
2
},
{
6
,
3
},
{
7
,
3
}
};
const
struct
vp8_token_struct
vp8_small_mvencodings
[
8
]
=
{
{
0
,
3
},
{
1
,
3
},
{
2
,
3
},
{
3
,
3
},
{
4
,
3
},
{
5
,
3
},
{
6
,
3
},
{
7
,
3
}
};
const
vp8_prob
vp8_ymode_prob
[
VP8_YMODES
-
1
]
=
{
112
,
86
,
140
,
37
};
const
vp8_prob
kf_ymode_prob
[
VP8_YMODES
-
1
]
=
{
145
,
156
,
163
,
128
};
const
vp8_prob
vp8_uv_mode_prob
[
VP8_UV_MODES
-
1
]
=
{
162
,
101
,
204
};
const
vp8_prob
vp8_kf_uv_mode_prob
[
VP8_UV_MODES
-
1
]
=
{
142
,
114
,
183
};
const
vp8_prob
vp8_bmode_prob
[
VP8_BINTRAMODES
-
1
]
=
{
120
,
90
,
79
,
133
,
87
,
85
,
80
,
111
,
151
};
const
vp8_prob
vp8_kf_bmode_prob
[
VP8_BINTRAMODES
]
[
VP8_BINTRAMODES
]
[
VP8_BINTRAMODES
-
1
]
=
{
{
{
231
,
120
,
48
,
89
,
115
,
113
,
120
,
152
,
112
},
{
152
,
179
,
64
,
126
,
170
,
118
,
46
,
70
,
95
},
{
175
,
69
,
143
,
80
,
85
,
82
,
72
,
155
,
103
},
{
56
,
58
,
10
,
171
,
218
,
189
,
17
,
13
,
152
},
{
144
,
71
,
10
,
38
,
171
,
213
,
144
,
34
,
26
},
{
114
,
26
,
17
,
163
,
44
,
195
,
21
,
10
,
173
},
{
121
,
24
,
80
,
195
,
26
,
62
,
44
,
64
,
85
},
{
170
,
46
,
55
,
19
,
136
,
160
,
33
,
206
,
71
},
{
63
,
20
,
8
,
114
,
114
,
208
,
12
,
9
,
226
},
{
81
,
40
,
11
,
96
,
182
,
84
,
29
,
16
,
36
}
},
{
{
134
,
183
,
89
,
137
,
98
,
101
,
106
,
165
,
148
},
{
72
,
187
,
100
,
130
,
157
,
111
,
32
,
75
,
80
},
{
66
,
102
,
167
,
99
,
74
,
62
,
40
,
234
,
128
},
{
41
,
53
,
9
,
178
,
241
,
141
,
26
,
8
,
107
},
{
104
,
79
,
12
,
27
,
217
,
255
,
87
,
17
,
7
},
{
74
,
43
,
26
,
146
,
73
,
166
,
49
,
23
,
157
},
{
65
,
38
,
105
,
160
,
51
,
52
,
31
,
115
,
128
},
{
87
,
68
,
71
,
44
,
114
,
51
,
15
,
186
,
23
},
{
47
,
41
,
14
,
110
,
182
,
183
,
21
,
17
,
194
},
{
66
,
45
,
25
,
102
,
197
,
189
,
23
,
18
,
22
}
},
{
{
88
,
88
,
147
,
150
,
42
,
46
,
45
,
196
,
205
},
{
43
,
97
,
183
,
117
,
85
,
38
,
35
,
179
,
61
},
{
39
,
53
,
200
,
87
,
26
,
21
,
43
,
232
,
171
},
{
56
,
34
,
51
,
104
,
114
,
102
,
29
,
93
,
77
},
{
107
,
54
,
32
,
26
,
51
,
1
,
81
,
43
,
31
},
{
39
,
28
,
85
,
171
,
58
,
165
,
90
,
98
,
64
},
{
34
,
22
,
116
,
206
,
23
,
34
,
43
,
166
,
73
},
{
68
,
25
,
106
,
22
,
64
,
171
,
36
,
225
,
114
},
{
34
,
19
,
21
,
102
,
132
,
188
,
16
,
76
,
124
},
{
62
,
18
,
78
,
95
,
85
,
57
,
50
,
48
,
51
}
},
{
{
193
,
101
,
35
,
159
,
215
,
111
,
89
,
46
,
111
},
{
60
,
148
,
31
,
172
,
219
,
228
,
21
,
18
,
111
},
{
112
,
113
,
77
,
85
,
179
,
255
,
38
,
120
,
114
},
{
40
,
42
,
1
,
196
,
245
,
209
,
10
,
25
,
109
},
{
100
,
80
,
8
,
43
,
154
,
1
,
51
,
26
,
71
},
{
88
,
43
,
29
,
140
,
166
,
213
,
37
,
43
,
154
},
{
61
,
63
,
30
,
155
,
67
,
45
,
68
,
1
,
209
},
{
142
,
78
,
78
,
16
,
255
,
128
,
34
,
197
,
171
},
{
41
,
40
,
5
,
102
,
211
,
183
,
4
,
1
,
221
},
{
51
,
50
,
17
,
168
,
209
,
192
,
23
,
25
,
82
}
},
{
{
125
,
98
,
42
,
88
,
104
,
85
,
117
,
175
,
82
},
{
95
,
84
,
53
,
89
,
128
,
100
,
113
,
101
,
45
},
{
75
,
79
,
123
,
47
,
51
,
128
,
81
,
171
,
1
},
{
57
,
17
,
5
,
71
,
102
,
57
,
53
,
41
,
49
},
{
115
,
21
,
2
,
10
,
102
,
255
,
166
,
23
,
6
},
{
38
,
33
,
13
,
121
,
57
,
73
,
26
,
1
,
85
},
{
41
,
10
,
67
,
138
,
77
,
110
,
90
,
47
,
114
},
{
101
,
29
,
16
,
10
,
85
,
128
,
101
,
196
,
26
},
{
57
,
18
,
10
,
102
,
102
,
213
,
34
,
20
,
43
},
{
117
,
20
,
15
,
36
,
163
,
128
,
68
,
1
,
26
}
},
{
{
138
,
31
,
36
,
171
,
27
,
166
,
38
,
44
,
229
},
{
67
,
87
,
58
,
169
,
82
,
115
,
26
,
59
,
179
},
{
63
,
59
,
90
,
180
,
59
,
166
,
93
,
73
,
154
},
{
40
,
40
,
21
,
116
,
143
,
209
,
34
,
39
,
175
},
{
57
,
46
,
22
,
24
,
128
,
1
,
54
,
17
,
37
},
{
47
,
15
,
16
,
183
,
34
,
223
,
49
,
45
,
183
},
{
46
,
17
,
33
,
183
,
6
,
98
,
15
,
32
,
183
},
{
65
,
32
,
73
,
115
,
28
,
128
,
23
,
128
,
205
},
{
40
,
3
,
9
,
115
,
51
,
192
,
18
,
6
,
223
},
{
87
,
37
,
9
,
115
,
59
,
77
,
64
,
21
,
47
}
},
{
{
104
,
55
,
44
,
218
,
9
,
54
,
53
,
130
,
226
},
{
64
,
90
,
70
,
205
,
40
,
41
,
23
,
26
,
57
},
{
54
,
57
,
112
,
184
,
5
,
41
,
38
,
166
,
213
},
{
30
,
34
,
26
,
133
,
152
,
116
,
10
,
32
,
134
},
{
75
,
32
,
12
,
51
,
192
,
255
,
160
,
43
,
51
},
{
39
,
19
,
53
,
221
,
26
,
114
,
32
,
73
,
255
},
{
31
,
9
,
65
,
234
,
2
,
15
,
1
,
118
,
73
},
{
88
,
31
,
35
,
67
,
102
,
85
,
55
,
186
,
85
},
{
56
,
21
,
23
,
111
,
59
,
205
,
45
,
37
,
192
},
{
55
,
38
,
70
,
124
,
73
,
102
,
1
,
34
,
98
}
},
{
{
102
,
61
,
71
,
37
,
34
,
53
,
31
,
243
,
192
},
{
69
,
60
,
71
,
38
,
73
,
119
,
28
,
222
,
37
},
{
68
,
45
,
128
,
34
,
1
,
47
,
11
,
245
,
171
},
{
62
,
17
,
19
,
70
,
146
,
85
,
55
,
62
,
70
},
{
75
,
15
,
9
,
9
,
64
,
255
,
184
,
119
,
16
},
{
37
,
43
,
37
,
154
,
100
,
163
,
85
,
160
,
1
},
{
63
,
9
,
92
,
136
,
28
,
64
,
32
,
201
,
85
},
{
86
,
6
,
28
,
5
,
64
,
255
,
25
,
248
,
1
},
{
56
,
8
,
17
,
132
,
137
,
255
,
55
,
116
,
128
},
{
58
,
15
,
20
,
82
,
135
,
57
,
26
,
121
,
40
}
},
{
{
164
,
50
,
31
,
137
,
154
,
133
,
25
,
35
,
218
},
{
51
,
103
,
44
,
131
,
131
,
123
,
31
,
6
,
158
},
{
86
,
40
,
64
,
135
,
148
,
224
,
45
,
183
,
128
},
{
22
,
26
,
17
,
131
,
240
,
154
,
14
,
1
,
209
},
{
83
,
12
,
13
,
54
,
192
,
255
,
68
,
47
,
28
},