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