1 /*
2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3  *
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.
9  */
10 
11 #ifndef VP8_ENCODER_DEFAULTCOEFCOUNTS_H_
12 #define VP8_ENCODER_DEFAULTCOEFCOUNTS_H_
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 /* Generated file, included by entropy.c */
19 
20 static const unsigned int default_coef_counts[BLOCK_TYPES]
21                                              [COEF_BANDS]
22                                              [PREV_COEF_CONTEXTS]
23                                              [MAX_ENTROPY_TOKENS] =
24 {
25 
26     {
27         /* Block Type ( 0 ) */
28         {
29             /* Coeff Band ( 0 ) */
30             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
31             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
32             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
33         },
34         {
35             /* Coeff Band ( 1 ) */
36             {30190, 26544, 225,  24,   4,   0,   0,   0,   0,   0,   0, 4171593,},
37             {26846, 25157, 1241, 130,  26,   6,   1,   0,   0,   0,   0, 149987,},
38             {10484, 9538, 1006, 160,  36,  18,   0,   0,   0,   0,   0, 15104,},
39         },
40         {
41             /* Coeff Band ( 2 ) */
42             {25842, 40456, 1126,  83,  11,   2,   0,   0,   0,   0,   0,   0,},
43             {9338, 8010, 512,  73,   7,   3,   2,   0,   0,   0,   0, 43294,},
44             {1047, 751, 149,  31,  13,   6,   1,   0,   0,   0,   0, 879,},
45         },
46         {
47             /* Coeff Band ( 3 ) */
48             {26136, 9826, 252,  13,   0,   0,   0,   0,   0,   0,   0,   0,},
49             {8134, 5574, 191,  14,   2,   0,   0,   0,   0,   0,   0, 35302,},
50             { 605, 677, 116,   9,   1,   0,   0,   0,   0,   0,   0, 611,},
51         },
52         {
53             /* Coeff Band ( 4 ) */
54             {10263, 15463, 283,  17,   0,   0,   0,   0,   0,   0,   0,   0,},
55             {2773, 2191, 128,   9,   2,   2,   0,   0,   0,   0,   0, 10073,},
56             { 134, 125,  32,   4,   0,   2,   0,   0,   0,   0,   0,  50,},
57         },
58         {
59             /* Coeff Band ( 5 ) */
60             {10483, 2663,  23,   1,   0,   0,   0,   0,   0,   0,   0,   0,},
61             {2137, 1251,  27,   1,   1,   0,   0,   0,   0,   0,   0, 14362,},
62             { 116, 156,  14,   2,   1,   0,   0,   0,   0,   0,   0, 190,},
63         },
64         {
65             /* Coeff Band ( 6 ) */
66             {40977, 27614, 412,  28,   0,   0,   0,   0,   0,   0,   0,   0,},
67             {6113, 5213, 261,  22,   3,   0,   0,   0,   0,   0,   0, 26164,},
68             { 382, 312,  50,  14,   2,   0,   0,   0,   0,   0,   0, 345,},
69         },
70         {
71             /* Coeff Band ( 7 ) */
72             {   0,  26,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
73             {   0,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0, 319,},
74             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   8,},
75         },
76     },
77     {
78         /* Block Type ( 1 ) */
79         {
80             /* Coeff Band ( 0 ) */
81             {3268, 19382, 1043, 250,  93,  82,  49,  26,  17,   8,  25, 82289,},
82             {8758, 32110, 5436, 1832, 827, 668, 420, 153,  24,   0,   3, 52914,},
83             {9337, 23725, 8487, 3954, 2107, 1836, 1069, 399,  59,   0,   0, 18620,},
84         },
85         {
86             /* Coeff Band ( 1 ) */
87             {12419, 8420, 452,  62,   9,   1,   0,   0,   0,   0,   0,   0,},
88             {11715, 8705, 693,  92,  15,   7,   2,   0,   0,   0,   0, 53988,},
89             {7603, 8585, 2306, 778, 270, 145,  39,   5,   0,   0,   0, 9136,},
90         },
91         {
92             /* Coeff Band ( 2 ) */
93             {15938, 14335, 1207, 184,  55,  13,   4,   1,   0,   0,   0,   0,},
94             {7415, 6829, 1138, 244,  71,  26,   7,   0,   0,   0,   0, 9980,},
95             {1580, 1824, 655, 241,  89,  46,  10,   2,   0,   0,   0, 429,},
96         },
97         {
98             /* Coeff Band ( 3 ) */
99             {19453, 5260, 201,  19,   0,   0,   0,   0,   0,   0,   0,   0,},
100             {9173, 3758, 213,  22,   1,   1,   0,   0,   0,   0,   0, 9820,},
101             {1689, 1277, 276,  51,  17,   4,   0,   0,   0,   0,   0, 679,},
102         },
103         {
104             /* Coeff Band ( 4 ) */
105             {12076, 10667, 620,  85,  19,   9,   5,   0,   0,   0,   0,   0,},
106             {4665, 3625, 423,  55,  19,   9,   0,   0,   0,   0,   0, 5127,},
107             { 415, 440, 143,  34,  20,   7,   2,   0,   0,   0,   0, 101,},
108         },
109         {
110             /* Coeff Band ( 5 ) */
111             {12183, 4846, 115,  11,   1,   0,   0,   0,   0,   0,   0,   0,},
112             {4226, 3149, 177,  21,   2,   0,   0,   0,   0,   0,   0, 7157,},
113             { 375, 621, 189,  51,  11,   4,   1,   0,   0,   0,   0, 198,},
114         },
115         {
116             /* Coeff Band ( 6 ) */
117             {61658, 37743, 1203,  94,  10,   3,   0,   0,   0,   0,   0,   0,},
118             {15514, 11563, 903, 111,  14,   5,   0,   0,   0,   0,   0, 25195,},
119             { 929, 1077, 291,  78,  14,   7,   1,   0,   0,   0,   0, 507,},
120         },
121         {
122             /* Coeff Band ( 7 ) */
123             {   0, 990,  15,   3,   0,   0,   0,   0,   0,   0,   0,   0,},
124             {   0, 412,  13,   0,   0,   0,   0,   0,   0,   0,   0, 1641,},
125             {   0,  18,   7,   1,   0,   0,   0,   0,   0,   0,   0,  30,},
126         },
127     },
128     {
129         /* Block Type ( 2 ) */
130         {
131             /* Coeff Band ( 0 ) */
132             { 953, 24519, 628, 120,  28,  12,   4,   0,   0,   0,   0, 2248798,},
133             {1525, 25654, 2647, 617, 239, 143,  42,   5,   0,   0,   0, 66837,},
134             {1180, 11011, 3001, 1237, 532, 448, 239,  54,   5,   0,   0, 7122,},
135         },
136         {
137             /* Coeff Band ( 1 ) */
138             {1356, 2220,  67,  10,   4,   1,   0,   0,   0,   0,   0,   0,},
139             {1450, 2544, 102,  18,   4,   3,   0,   0,   0,   0,   0, 57063,},
140             {1182, 2110, 470, 130,  41,  21,   0,   0,   0,   0,   0, 6047,},
141         },
142         {
143             /* Coeff Band ( 2 ) */
144             { 370, 3378, 200,  30,   5,   4,   1,   0,   0,   0,   0,   0,},
145             { 293, 1006, 131,  29,  11,   0,   0,   0,   0,   0,   0, 5404,},
146             { 114, 387,  98,  23,   4,   8,   1,   0,   0,   0,   0, 236,},
147         },
148         {
149             /* Coeff Band ( 3 ) */
150             { 579, 194,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
151             { 395, 213,   5,   1,   0,   0,   0,   0,   0,   0,   0, 4157,},
152             { 119, 122,   4,   0,   0,   0,   0,   0,   0,   0,   0, 300,},
153         },
154         {
155             /* Coeff Band ( 4 ) */
156             {  38, 557,  19,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
157             {  21, 114,  12,   1,   0,   0,   0,   0,   0,   0,   0, 427,},
158             {   0,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,},
159         },
160         {
161             /* Coeff Band ( 5 ) */
162             {  52,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
163             {  18,   6,   0,   0,   0,   0,   0,   0,   0,   0,   0, 652,},
164             {   1,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,  30,},
165         },
166         {
167             /* Coeff Band ( 6 ) */
168             { 640, 569,  10,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
169             {  25,  77,   2,   0,   0,   0,   0,   0,   0,   0,   0, 517,},
170             {   4,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   3,},
171         },
172         {
173             /* Coeff Band ( 7 ) */
174             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
175             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
176             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
177         },
178     },
179     {
180         /* Block Type ( 3 ) */
181         {
182             /* Coeff Band ( 0 ) */
183             {2506, 20161, 2707, 767, 261, 178, 107,  30,  14,   3,   0, 100694,},
184             {8806, 36478, 8817, 3268, 1280, 850, 401, 114,  42,   0,   0, 58572,},
185             {11003, 27214, 11798, 5716, 2482, 2072, 1048, 175,  32,   0,   0, 19284,},
186         },
187         {
188             /* Coeff Band ( 1 ) */
189             {9738, 11313, 959, 205,  70,  18,  11,   1,   0,   0,   0,   0,},
190             {12628, 15085, 1507, 273,  52,  19,   9,   0,   0,   0,   0, 54280,},
191             {10701, 15846, 5561, 1926, 813, 570, 249,  36,   0,   0,   0, 6460,},
192         },
193         {
194             /* Coeff Band ( 2 ) */
195             {6781, 22539, 2784, 634, 182, 123,  20,   4,   0,   0,   0,   0,},
196             {6263, 11544, 2649, 790, 259, 168,  27,   5,   0,   0,   0, 20539,},
197             {3109, 4075, 2031, 896, 457, 386, 158,  29,   0,   0,   0, 1138,},
198         },
199         {
200             /* Coeff Band ( 3 ) */
201             {11515, 4079, 465,  73,   5,  14,   2,   0,   0,   0,   0,   0,},
202             {9361, 5834, 650,  96,  24,   8,   4,   0,   0,   0,   0, 22181,},
203             {4343, 3974, 1360, 415, 132,  96,  14,   1,   0,   0,   0, 1267,},
204         },
205         {
206             /* Coeff Band ( 4 ) */
207             {4787, 9297, 823, 168,  44,  12,   4,   0,   0,   0,   0,   0,},
208             {3619, 4472, 719, 198,  60,  31,   3,   0,   0,   0,   0, 8401,},
209             {1157, 1175, 483, 182,  88,  31,   8,   0,   0,   0,   0, 268,},
210         },
211         {
212             /* Coeff Band ( 5 ) */
213             {8299, 1226,  32,   5,   1,   0,   0,   0,   0,   0,   0,   0,},
214             {3502, 1568,  57,   4,   1,   1,   0,   0,   0,   0,   0, 9811,},
215             {1055, 1070, 166,  29,   6,   1,   0,   0,   0,   0,   0, 527,},
216         },
217         {
218             /* Coeff Band ( 6 ) */
219             {27414, 27927, 1989, 347,  69,  26,   0,   0,   0,   0,   0,   0,},
220             {5876, 10074, 1574, 341,  91,  24,   4,   0,   0,   0,   0, 21954,},
221             {1571, 2171, 778, 324, 124,  65,  16,   0,   0,   0,   0, 979,},
222         },
223         {
224             /* Coeff Band ( 7 ) */
225             {   0,  29,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
226             {   0,  23,   0,   0,   0,   0,   0,   0,   0,   0,   0, 459,},
227             {   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,  13,},
228         },
229     },
230 };
231 
232 #ifdef __cplusplus
233 }  // extern "C"
234 #endif
235 
236 #endif  // VP8_ENCODER_DEFAULTCOEFCOUNTS_H_
237