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 #include "entropy.h"
12 
13 /* *** GENERATED FILE: DO NOT EDIT *** */
14 
15 #if 0
16 int Contexts[vp8_coef_counter_dimen];
17 
18 const int default_contexts[vp8_coef_counter_dimen] =
19 {
20     {
21         // Block Type ( 0 )
22         {
23             // Coeff Band ( 0 )
24             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
25             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
26             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
27         },
28         {
29             // Coeff Band ( 1 )
30             {30190, 26544, 225,  24,   4,   0,   0,   0,   0,   0,   0, 4171593,},
31             {26846, 25157, 1241, 130,  26,   6,   1,   0,   0,   0,   0, 149987,},
32             {10484, 9538, 1006, 160,  36,  18,   0,   0,   0,   0,   0, 15104,},
33         },
34         {
35             // Coeff Band ( 2 )
36             {25842, 40456, 1126,  83,  11,   2,   0,   0,   0,   0,   0,   0,},
37             {9338, 8010, 512,  73,   7,   3,   2,   0,   0,   0,   0, 43294,},
38             {1047, 751, 149,  31,  13,   6,   1,   0,   0,   0,   0, 879,},
39         },
40         {
41             // Coeff Band ( 3 )
42             {26136, 9826, 252,  13,   0,   0,   0,   0,   0,   0,   0,   0,},
43             {8134, 5574, 191,  14,   2,   0,   0,   0,   0,   0,   0, 35302,},
44             { 605, 677, 116,   9,   1,   0,   0,   0,   0,   0,   0, 611,},
45         },
46         {
47             // Coeff Band ( 4 )
48             {10263, 15463, 283,  17,   0,   0,   0,   0,   0,   0,   0,   0,},
49             {2773, 2191, 128,   9,   2,   2,   0,   0,   0,   0,   0, 10073,},
50             { 134, 125,  32,   4,   0,   2,   0,   0,   0,   0,   0,  50,},
51         },
52         {
53             // Coeff Band ( 5 )
54             {10483, 2663,  23,   1,   0,   0,   0,   0,   0,   0,   0,   0,},
55             {2137, 1251,  27,   1,   1,   0,   0,   0,   0,   0,   0, 14362,},
56             { 116, 156,  14,   2,   1,   0,   0,   0,   0,   0,   0, 190,},
57         },
58         {
59             // Coeff Band ( 6 )
60             {40977, 27614, 412,  28,   0,   0,   0,   0,   0,   0,   0,   0,},
61             {6113, 5213, 261,  22,   3,   0,   0,   0,   0,   0,   0, 26164,},
62             { 382, 312,  50,  14,   2,   0,   0,   0,   0,   0,   0, 345,},
63         },
64         {
65             // Coeff Band ( 7 )
66             {   0,  26,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
67             {   0,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0, 319,},
68             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   8,},
69         },
70     },
71     {
72         // Block Type ( 1 )
73         {
74             // Coeff Band ( 0 )
75             {3268, 19382, 1043, 250,  93,  82,  49,  26,  17,   8,  25, 82289,},
76             {8758, 32110, 5436, 1832, 827, 668, 420, 153,  24,   0,   3, 52914,},
77             {9337, 23725, 8487, 3954, 2107, 1836, 1069, 399,  59,   0,   0, 18620,},
78         },
79         {
80             // Coeff Band ( 1 )
81             {12419, 8420, 452,  62,   9,   1,   0,   0,   0,   0,   0,   0,},
82             {11715, 8705, 693,  92,  15,   7,   2,   0,   0,   0,   0, 53988,},
83             {7603, 8585, 2306, 778, 270, 145,  39,   5,   0,   0,   0, 9136,},
84         },
85         {
86             // Coeff Band ( 2 )
87             {15938, 14335, 1207, 184,  55,  13,   4,   1,   0,   0,   0,   0,},
88             {7415, 6829, 1138, 244,  71,  26,   7,   0,   0,   0,   0, 9980,},
89             {1580, 1824, 655, 241,  89,  46,  10,   2,   0,   0,   0, 429,},
90         },
91         {
92             // Coeff Band ( 3 )
93             {19453, 5260, 201,  19,   0,   0,   0,   0,   0,   0,   0,   0,},
94             {9173, 3758, 213,  22,   1,   1,   0,   0,   0,   0,   0, 9820,},
95             {1689, 1277, 276,  51,  17,   4,   0,   0,   0,   0,   0, 679,},
96         },
97         {
98             // Coeff Band ( 4 )
99             {12076, 10667, 620,  85,  19,   9,   5,   0,   0,   0,   0,   0,},
100             {4665, 3625, 423,  55,  19,   9,   0,   0,   0,   0,   0, 5127,},
101             { 415, 440, 143,  34,  20,   7,   2,   0,   0,   0,   0, 101,},
102         },
103         {
104             // Coeff Band ( 5 )
105             {12183, 4846, 115,  11,   1,   0,   0,   0,   0,   0,   0,   0,},
106             {4226, 3149, 177,  21,   2,   0,   0,   0,   0,   0,   0, 7157,},
107             { 375, 621, 189,  51,  11,   4,   1,   0,   0,   0,   0, 198,},
108         },
109         {
110             // Coeff Band ( 6 )
111             {61658, 37743, 1203,  94,  10,   3,   0,   0,   0,   0,   0,   0,},
112             {15514, 11563, 903, 111,  14,   5,   0,   0,   0,   0,   0, 25195,},
113             { 929, 1077, 291,  78,  14,   7,   1,   0,   0,   0,   0, 507,},
114         },
115         {
116             // Coeff Band ( 7 )
117             {   0, 990,  15,   3,   0,   0,   0,   0,   0,   0,   0,   0,},
118             {   0, 412,  13,   0,   0,   0,   0,   0,   0,   0,   0, 1641,},
119             {   0,  18,   7,   1,   0,   0,   0,   0,   0,   0,   0,  30,},
120         },
121     },
122     {
123         // Block Type ( 2 )
124         {
125             // Coeff Band ( 0 )
126             { 953, 24519, 628, 120,  28,  12,   4,   0,   0,   0,   0, 2248798,},
127             {1525, 25654, 2647, 617, 239, 143,  42,   5,   0,   0,   0, 66837,},
128             {1180, 11011, 3001, 1237, 532, 448, 239,  54,   5,   0,   0, 7122,},
129         },
130         {
131             // Coeff Band ( 1 )
132             {1356, 2220,  67,  10,   4,   1,   0,   0,   0,   0,   0,   0,},
133             {1450, 2544, 102,  18,   4,   3,   0,   0,   0,   0,   0, 57063,},
134             {1182, 2110, 470, 130,  41,  21,   0,   0,   0,   0,   0, 6047,},
135         },
136         {
137             // Coeff Band ( 2 )
138             { 370, 3378, 200,  30,   5,   4,   1,   0,   0,   0,   0,   0,},
139             { 293, 1006, 131,  29,  11,   0,   0,   0,   0,   0,   0, 5404,},
140             { 114, 387,  98,  23,   4,   8,   1,   0,   0,   0,   0, 236,},
141         },
142         {
143             // Coeff Band ( 3 )
144             { 579, 194,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
145             { 395, 213,   5,   1,   0,   0,   0,   0,   0,   0,   0, 4157,},
146             { 119, 122,   4,   0,   0,   0,   0,   0,   0,   0,   0, 300,},
147         },
148         {
149             // Coeff Band ( 4 )
150             {  38, 557,  19,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
151             {  21, 114,  12,   1,   0,   0,   0,   0,   0,   0,   0, 427,},
152             {   0,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,},
153         },
154         {
155             // Coeff Band ( 5 )
156             {  52,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
157             {  18,   6,   0,   0,   0,   0,   0,   0,   0,   0,   0, 652,},
158             {   1,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,  30,},
159         },
160         {
161             // Coeff Band ( 6 )
162             { 640, 569,  10,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
163             {  25,  77,   2,   0,   0,   0,   0,   0,   0,   0,   0, 517,},
164             {   4,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   3,},
165         },
166         {
167             // Coeff Band ( 7 )
168             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
169             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
170             {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
171         },
172     },
173     {
174         // Block Type ( 3 )
175         {
176             // Coeff Band ( 0 )
177             {2506, 20161, 2707, 767, 261, 178, 107,  30,  14,   3,   0, 100694,},
178             {8806, 36478, 8817, 3268, 1280, 850, 401, 114,  42,   0,   0, 58572,},
179             {11003, 27214, 11798, 5716, 2482, 2072, 1048, 175,  32,   0,   0, 19284,},
180         },
181         {
182             // Coeff Band ( 1 )
183             {9738, 11313, 959, 205,  70,  18,  11,   1,   0,   0,   0,   0,},
184             {12628, 15085, 1507, 273,  52,  19,   9,   0,   0,   0,   0, 54280,},
185             {10701, 15846, 5561, 1926, 813, 570, 249,  36,   0,   0,   0, 6460,},
186         },
187         {
188             // Coeff Band ( 2 )
189             {6781, 22539, 2784, 634, 182, 123,  20,   4,   0,   0,   0,   0,},
190             {6263, 11544, 2649, 790, 259, 168,  27,   5,   0,   0,   0, 20539,},
191             {3109, 4075, 2031, 896, 457, 386, 158,  29,   0,   0,   0, 1138,},
192         },
193         {
194             // Coeff Band ( 3 )
195             {11515, 4079, 465,  73,   5,  14,   2,   0,   0,   0,   0,   0,},
196             {9361, 5834, 650,  96,  24,   8,   4,   0,   0,   0,   0, 22181,},
197             {4343, 3974, 1360, 415, 132,  96,  14,   1,   0,   0,   0, 1267,},
198         },
199         {
200             // Coeff Band ( 4 )
201             {4787, 9297, 823, 168,  44,  12,   4,   0,   0,   0,   0,   0,},
202             {3619, 4472, 719, 198,  60,  31,   3,   0,   0,   0,   0, 8401,},
203             {1157, 1175, 483, 182,  88,  31,   8,   0,   0,   0,   0, 268,},
204         },
205         {
206             // Coeff Band ( 5 )
207             {8299, 1226,  32,   5,   1,   0,   0,   0,   0,   0,   0,   0,},
208             {3502, 1568,  57,   4,   1,   1,   0,   0,   0,   0,   0, 9811,},
209             {1055, 1070, 166,  29,   6,   1,   0,   0,   0,   0,   0, 527,},
210         },
211         {
212             // Coeff Band ( 6 )
213             {27414, 27927, 1989, 347,  69,  26,   0,   0,   0,   0,   0,   0,},
214             {5876, 10074, 1574, 341,  91,  24,   4,   0,   0,   0,   0, 21954,},
215             {1571, 2171, 778, 324, 124,  65,  16,   0,   0,   0,   0, 979,},
216         },
217         {
218             // Coeff Band ( 7 )
219             {   0,  29,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},
220             {   0,  23,   0,   0,   0,   0,   0,   0,   0,   0,   0, 459,},
221             {   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,  13,},
222         },
223     },
224 };
225 
226 //Update probabilities for the nodes in the token entropy tree.
227 const vp8_prob tree_update_probs[vp8_coef_tree_dimen] =
228 {
229     {
230         {
231             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
232             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
233             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
234         },
235         {
236             {176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
237             {223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255, },
238             {249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
239         },
240         {
241             {255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255, },
242             {234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
243             {253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
244         },
245         {
246             {255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
247             {239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
248             {254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
249         },
250         {
251             {255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
252             {251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
253             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
254         },
255         {
256             {255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
257             {251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
258             {254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
259         },
260         {
261             {255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255, },
262             {250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255, },
263             {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
264         },
265         {
266             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
267             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
268             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
269         },
270     },
271     {
272         {
273             {217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
274             {225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255, },
275             {234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255, },
276         },
277         {
278             {255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
279             {223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
280             {238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, },
281         },
282         {
283             {255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
284             {249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
285             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
286         },
287         {
288             {255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
289             {247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
290             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
291         },
292         {
293             {255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
294             {252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
295             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
296         },
297         {
298             {255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
299             {253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
300             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
301         },
302         {
303             {255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
304             {250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
305             {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
306         },
307         {
308             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
309             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
310             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
311         },
312     },
313     {
314         {
315             {186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255, },
316             {234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255, },
317             {251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255, },
318         },
319         {
320             {255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
321             {236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
322             {251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, },
323         },
324         {
325             {255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
326             {254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
327             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
328         },
329         {
330             {255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
331             {254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
332             {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
333         },
334         {
335             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
336             {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
337             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
338         },
339         {
340             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
341             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
342             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
343         },
344         {
345             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
346             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
347             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
348         },
349         {
350             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
351             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
352             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
353         },
354     },
355     {
356         {
357             {248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
358             {250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255, },
359             {248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255, },
360         },
361         {
362             {255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
363             {246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
364             {252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255, },
365         },
366         {
367             {255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255, },
368             {248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
369             {253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, },
370         },
371         {
372             {255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
373             {245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
374             {253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
375         },
376         {
377             {255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
378             {252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
379             {255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
380         },
381         {
382             {255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
383             {249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
384             {255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
385         },
386         {
387             {255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
388             {250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
389             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
390         },
391         {
392             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
393             {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
394             {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
395         },
396     },
397 };
398 #endif
399