2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
12 #include "entropymode.h"
14 const unsigned int vp8_kf_default_bmode_counts
[VP8_BINTRAMODES
] [VP8_BINTRAMODES
] [VP8_BINTRAMODES
] =
18 { 43438, 2195, 470, 316, 615, 171, 217, 412, 124, 160, }, /* left_mode 0 */
19 { 5722, 2751, 296, 291, 81, 68, 80, 101, 100, 170, }, /* left_mode 1 */
20 { 1629, 201, 307, 25, 47, 16, 34, 72, 19, 28, }, /* left_mode 2 */
21 { 332, 266, 36, 500, 20, 65, 23, 14, 154, 106, }, /* left_mode 3 */
22 { 450, 97, 10, 24, 117, 10, 2, 12, 8, 71, }, /* left_mode 4 */
23 { 384, 49, 29, 44, 12, 162, 51, 5, 87, 42, }, /* left_mode 5 */
24 { 495, 53, 157, 27, 14, 57, 180, 17, 17, 34, }, /* left_mode 6 */
25 { 695, 64, 62, 9, 27, 5, 3, 147, 10, 26, }, /* left_mode 7 */
26 { 230, 54, 20, 124, 16, 125, 29, 12, 283, 37, }, /* left_mode 8 */
27 { 260, 87, 21, 120, 32, 16, 33, 16, 33, 203, }, /* left_mode 9 */
31 { 3934, 2573, 355, 137, 128, 87, 133, 117, 37, 27, }, /* left_mode 0 */
32 { 1036, 1929, 278, 135, 27, 37, 48, 55, 41, 91, }, /* left_mode 1 */
33 { 223, 256, 253, 15, 13, 9, 28, 64, 3, 3, }, /* left_mode 2 */
34 { 120, 129, 17, 316, 15, 11, 9, 4, 53, 74, }, /* left_mode 3 */
35 { 129, 58, 6, 11, 38, 2, 0, 5, 2, 67, }, /* left_mode 4 */
36 { 53, 22, 11, 16, 8, 26, 14, 3, 19, 12, }, /* left_mode 5 */
37 { 59, 26, 61, 11, 4, 9, 35, 13, 8, 8, }, /* left_mode 6 */
38 { 101, 52, 40, 8, 5, 2, 8, 59, 2, 20, }, /* left_mode 7 */
39 { 48, 34, 10, 52, 8, 15, 6, 6, 63, 20, }, /* left_mode 8 */
40 { 96, 48, 22, 63, 11, 14, 5, 8, 9, 96, }, /* left_mode 9 */
44 { 709, 461, 506, 36, 27, 33, 151, 98, 24, 6, }, /* left_mode 0 */
45 { 201, 375, 442, 27, 13, 8, 46, 58, 6, 19, }, /* left_mode 1 */
46 { 122, 140, 417, 4, 13, 3, 33, 59, 4, 2, }, /* left_mode 2 */
47 { 36, 17, 22, 16, 6, 8, 12, 17, 9, 21, }, /* left_mode 3 */
48 { 51, 15, 7, 1, 14, 0, 4, 5, 3, 22, }, /* left_mode 4 */
49 { 18, 11, 30, 9, 7, 20, 11, 5, 2, 6, }, /* left_mode 5 */
50 { 38, 21, 103, 9, 4, 12, 79, 13, 2, 5, }, /* left_mode 6 */
51 { 64, 17, 66, 2, 12, 4, 2, 65, 4, 5, }, /* left_mode 7 */
52 { 14, 7, 7, 16, 3, 11, 4, 13, 15, 16, }, /* left_mode 8 */
53 { 36, 8, 32, 9, 9, 4, 14, 7, 6, 24, }, /* left_mode 9 */
57 { 1340, 173, 36, 119, 30, 10, 13, 10, 20, 26, }, /* left_mode 0 */
58 { 156, 293, 26, 108, 5, 16, 2, 4, 23, 30, }, /* left_mode 1 */
59 { 60, 34, 13, 7, 3, 3, 0, 8, 4, 5, }, /* left_mode 2 */
60 { 72, 64, 1, 235, 3, 9, 2, 7, 28, 38, }, /* left_mode 3 */
61 { 29, 14, 1, 3, 5, 0, 2, 2, 5, 13, }, /* left_mode 4 */
62 { 22, 7, 4, 11, 2, 5, 1, 2, 6, 4, }, /* left_mode 5 */
63 { 18, 14, 5, 6, 4, 3, 14, 0, 9, 2, }, /* left_mode 6 */
64 { 41, 10, 7, 1, 2, 0, 0, 10, 2, 1, }, /* left_mode 7 */
65 { 23, 19, 2, 33, 1, 5, 2, 0, 51, 8, }, /* left_mode 8 */
66 { 33, 26, 7, 53, 3, 9, 3, 3, 9, 19, }, /* left_mode 9 */
70 { 410, 165, 43, 31, 66, 15, 30, 54, 8, 17, }, /* left_mode 0 */
71 { 115, 64, 27, 18, 30, 7, 11, 15, 4, 19, }, /* left_mode 1 */
72 { 31, 23, 25, 1, 7, 2, 2, 10, 0, 5, }, /* left_mode 2 */
73 { 17, 4, 1, 6, 8, 2, 7, 5, 5, 21, }, /* left_mode 3 */
74 { 120, 12, 1, 2, 83, 3, 0, 4, 1, 40, }, /* left_mode 4 */
75 { 4, 3, 1, 2, 1, 2, 5, 0, 3, 6, }, /* left_mode 5 */
76 { 10, 2, 13, 6, 6, 6, 8, 2, 4, 5, }, /* left_mode 6 */
77 { 58, 10, 5, 1, 28, 1, 1, 33, 1, 9, }, /* left_mode 7 */
78 { 8, 2, 1, 4, 2, 5, 1, 1, 2, 10, }, /* left_mode 8 */
79 { 76, 7, 5, 7, 18, 2, 2, 0, 5, 45, }, /* left_mode 9 */
83 { 444, 46, 47, 20, 14, 110, 60, 14, 60, 7, }, /* left_mode 0 */
84 { 59, 57, 25, 18, 3, 17, 21, 6, 14, 6, }, /* left_mode 1 */
85 { 24, 17, 20, 6, 4, 13, 7, 2, 3, 2, }, /* left_mode 2 */
86 { 13, 11, 5, 14, 4, 9, 2, 4, 15, 7, }, /* left_mode 3 */
87 { 8, 5, 2, 1, 4, 0, 1, 1, 2, 12, }, /* left_mode 4 */
88 { 19, 5, 5, 7, 4, 40, 6, 3, 10, 4, }, /* left_mode 5 */
89 { 16, 5, 9, 1, 1, 16, 26, 2, 10, 4, }, /* left_mode 6 */
90 { 11, 4, 8, 1, 1, 4, 4, 5, 4, 1, }, /* left_mode 7 */
91 { 15, 1, 3, 7, 3, 21, 7, 1, 34, 5, }, /* left_mode 8 */
92 { 18, 5, 1, 3, 4, 3, 7, 1, 2, 9, }, /* left_mode 9 */
96 { 476, 149, 94, 13, 14, 77, 291, 27, 23, 3, }, /* left_mode 0 */
97 { 79, 83, 42, 14, 2, 12, 63, 2, 4, 14, }, /* left_mode 1 */
98 { 43, 36, 55, 1, 3, 8, 42, 11, 5, 1, }, /* left_mode 2 */
99 { 9, 9, 6, 16, 1, 5, 6, 3, 11, 10, }, /* left_mode 3 */
100 { 10, 3, 1, 3, 10, 1, 0, 1, 1, 4, }, /* left_mode 4 */
101 { 14, 6, 15, 5, 1, 20, 25, 2, 5, 0, }, /* left_mode 5 */
102 { 28, 7, 51, 1, 0, 8, 127, 6, 2, 5, }, /* left_mode 6 */
103 { 13, 3, 3, 2, 3, 1, 2, 8, 1, 2, }, /* left_mode 7 */
104 { 10, 3, 3, 3, 3, 8, 2, 2, 9, 3, }, /* left_mode 8 */
105 { 13, 7, 11, 4, 0, 4, 6, 2, 5, 8, }, /* left_mode 9 */
109 { 376, 135, 119, 6, 32, 8, 31, 224, 9, 3, }, /* left_mode 0 */
110 { 93, 60, 54, 6, 13, 7, 8, 92, 2, 12, }, /* left_mode 1 */
111 { 74, 36, 84, 0, 3, 2, 9, 67, 2, 1, }, /* left_mode 2 */
112 { 19, 4, 4, 8, 8, 2, 4, 7, 6, 16, }, /* left_mode 3 */
113 { 51, 7, 4, 1, 77, 3, 0, 14, 1, 15, }, /* left_mode 4 */
114 { 7, 7, 5, 7, 4, 7, 4, 5, 0, 3, }, /* left_mode 5 */
115 { 18, 2, 19, 2, 2, 4, 12, 11, 1, 2, }, /* left_mode 6 */
116 { 129, 6, 27, 1, 21, 3, 0, 189, 0, 6, }, /* left_mode 7 */
117 { 9, 1, 2, 8, 3, 7, 0, 5, 3, 3, }, /* left_mode 8 */
118 { 20, 4, 5, 10, 4, 2, 7, 17, 3, 16, }, /* left_mode 9 */
122 { 617, 68, 34, 79, 11, 27, 25, 14, 75, 13, }, /* left_mode 0 */
123 { 51, 82, 21, 26, 6, 12, 13, 1, 26, 16, }, /* left_mode 1 */
124 { 29, 9, 12, 11, 3, 7, 1, 10, 2, 2, }, /* left_mode 2 */
125 { 17, 19, 11, 74, 4, 3, 2, 0, 58, 13, }, /* left_mode 3 */
126 { 10, 1, 1, 3, 4, 1, 0, 2, 1, 8, }, /* left_mode 4 */
127 { 14, 4, 5, 5, 1, 13, 2, 0, 27, 8, }, /* left_mode 5 */
128 { 10, 3, 5, 4, 1, 7, 6, 4, 5, 1, }, /* left_mode 6 */
129 { 10, 2, 6, 2, 1, 1, 1, 4, 2, 1, }, /* left_mode 7 */
130 { 14, 8, 5, 23, 2, 12, 6, 2, 117, 5, }, /* left_mode 8 */
131 { 9, 6, 2, 19, 1, 6, 3, 2, 9, 9, }, /* left_mode 9 */
135 { 680, 73, 22, 38, 42, 5, 11, 9, 6, 28, }, /* left_mode 0 */
136 { 113, 112, 21, 22, 10, 2, 8, 4, 6, 42, }, /* left_mode 1 */
137 { 44, 20, 24, 6, 5, 4, 3, 3, 1, 2, }, /* left_mode 2 */
138 { 40, 23, 7, 71, 5, 2, 4, 1, 7, 22, }, /* left_mode 3 */
139 { 85, 9, 4, 4, 17, 2, 0, 3, 2, 23, }, /* left_mode 4 */
140 { 13, 4, 2, 6, 1, 7, 0, 1, 7, 6, }, /* left_mode 5 */
141 { 26, 6, 8, 3, 2, 3, 8, 1, 5, 4, }, /* left_mode 6 */
142 { 54, 8, 9, 6, 7, 0, 1, 11, 1, 3, }, /* left_mode 7 */
143 { 9, 10, 4, 13, 2, 5, 4, 2, 14, 8, }, /* left_mode 8 */
144 { 92, 9, 5, 19, 15, 3, 3, 1, 6, 58, }, /* left_mode 9 */