2 * Copyright © 2014-2017 Intel Corporation
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the
6 * "Software"), to deal in the Software without restriction, including
7 * without limitation the rights to use, copy, modify, merge, publish,
8 * distribute, sub license, and/or sell copies of the Software, and to
9 * permit persons to whom the Software is furnished to do so, subject to
10 * the following conditions:
12 * The above copyright notice and this permission notice (including the
13 * next paragraph) shall be included in all copies or substantial portions
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19 * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 * This file defines some vp8 probability tables, and
28 * they are ported from libvpx (https://github.com/mrchapp/libvpx/).
29 * The original copyright and licence statement as below.
33 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
35 * Use of this source code is governed by a BSD-style license
36 * that can be found in the LICENSE file in the root of the source
37 * tree. An additional intellectual property rights grant can be found
38 * in the file PATENTS. All contributing project authors may
39 * be found in the AUTHORS file in the root of the source tree.
42 const unsigned char vp8_ymode_prob[4] = {
46 const unsigned char vp8_kf_ymode_prob[4] = {
50 const unsigned char vp8_uv_mode_prob[3] = {
54 const unsigned char vp8_kf_uv_mode_prob[3] = {
58 const unsigned char vp8_base_skip_false_prob[128] = {
59 255, 255, 255, 255, 255, 255, 255, 255,
60 255, 255, 255, 255, 255, 255, 255, 255,
61 255, 255, 255, 255, 255, 255, 255, 255,
62 255, 255, 255, 255, 255, 255, 255, 255,
63 255, 255, 255, 255, 255, 255, 255, 255,
64 255, 255, 255, 255, 255, 255, 255, 255,
65 255, 255, 255, 255, 255, 255, 255, 255,
66 251, 248, 244, 240, 236, 232, 229, 225,
67 221, 217, 213, 208, 204, 199, 194, 190,
68 187, 183, 179, 175, 172, 168, 164, 160,
69 157, 153, 149, 145, 142, 138, 134, 130,
70 127, 124, 120, 117, 114, 110, 107, 104,
71 101, 98, 95, 92, 89, 86, 83, 80,
72 77, 74, 71, 68, 65, 62, 59, 56,
73 53, 50, 47, 44, 41, 38, 35, 32,
74 30, 28, 26, 24, 22, 20, 18, 16,
77 const unsigned char vp8_mv_update_probs[2][19] = {
81 253, 253, 254, 254, 254, 254, 254,
82 254, 254, 254, 254, 254, 250, 250, 252, 254, 254
87 245, 253, 254, 254, 254, 254, 254,
88 254, 254, 254, 254, 254, 251, 251, 254, 254, 254
92 const unsigned char vp8_default_mv_context[2][19] = {
96 225, 146, 172, 147, 214, 39, 156, /* short tree */
97 128, 129, 132, 75, 145, 178, 206, 239, 254, 254 /* long bits */
103 204, 170, 119, 235, 140, 230, 228,
104 128, 130, 130, 74, 148, 180, 203, 236, 254, 254
109 const unsigned char vp8_default_coef_probs[4][8][3][11] = {
110 { /* Block Type ( 0 ) */
111 { /* Coeff Band ( 0 )*/
112 { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
113 { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
114 { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }
116 { /* Coeff Band ( 1 )*/
117 { 253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128 },
118 { 189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128 },
119 { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128 }
121 { /* Coeff Band ( 2 )*/
122 { 1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128 },
123 { 181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128 },
124 { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128 }
126 { /* Coeff Band ( 3 )*/
127 { 1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128 },
128 { 184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128 },
129 { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128 }
131 { /* Coeff Band ( 4 )*/
132 { 1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128 },
133 { 170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128 },
134 { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128 }
136 { /* Coeff Band ( 5 )*/
137 { 1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128 },
138 { 207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128 },
139 { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128 }
141 { /* Coeff Band ( 6 )*/
142 { 1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128 },
143 { 177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128 },
144 { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128 }
146 { /* Coeff Band ( 7 )*/
147 { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 },
148 { 246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 },
149 { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }
152 { /* Block Type ( 1 ) */
153 { /* Coeff Band ( 0 )*/
154 { 198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62 },
155 { 131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1 },
156 { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128 }
158 { /* Coeff Band ( 1 )*/
159 { 1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128 },
160 { 184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128 },
161 { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128 }
163 { /* Coeff Band ( 2 )*/
164 { 1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128 },
165 { 99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128 },
166 { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128 }
168 { /* Coeff Band ( 3 )*/
169 { 1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128 },
170 { 109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128 },
171 { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128 }
173 { /* Coeff Band ( 4 )*/
174 { 1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128 },
175 { 94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128 },
176 { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128 }
178 { /* Coeff Band ( 5 )*/
179 { 1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128 },
180 { 124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128 },
181 { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128 }
183 { /* Coeff Band ( 6 )*/
184 { 1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128 },
185 { 121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128 },
186 { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128 }
188 { /* Coeff Band ( 7 )*/
189 { 1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128 },
190 { 203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128 },
191 { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128 }
194 { /* Block Type ( 2 ) */
195 { /* Coeff Band ( 0 )*/
196 { 253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128 },
197 { 175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128 },
198 { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128 }
200 { /* Coeff Band ( 1 )*/
201 { 1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128 },
202 { 239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128 },
203 { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128 }
205 { /* Coeff Band ( 2 )*/
206 { 1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128 },
207 { 201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128 },
208 { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128 }
210 { /* Coeff Band ( 3 )*/
211 { 1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128 },
212 { 223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128 },
213 { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128 }
215 { /* Coeff Band ( 4 )*/
216 { 1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128 },
217 { 190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128 },
218 { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }
220 { /* Coeff Band ( 5 )*/
221 { 1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128 },
222 { 247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128 },
223 { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128 }
225 { /* Coeff Band ( 6 )*/
226 { 1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128 },
227 { 213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128 },
228 { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128 }
230 { /* Coeff Band ( 7 )*/
231 { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
232 { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
233 { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }
236 { /* Block Type ( 3 ) */
237 { /* Coeff Band ( 0 )*/
238 { 202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255 },
239 { 126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128 },
240 { 61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128 }
242 { /* Coeff Band ( 1 )*/
243 { 1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128 },
244 { 166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128 },
245 { 39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128 }
247 { /* Coeff Band ( 2 )*/
248 { 1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128 },
249 { 124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128 },
250 { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128 }
252 { /* Coeff Band ( 3 )*/
253 { 1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128 },
254 { 149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128 },
255 { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128 }
257 { /* Coeff Band ( 4 )*/
258 { 1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128 },
259 { 123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128 },
260 { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128 }
262 { /* Coeff Band ( 5 )*/
263 { 1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128 },
264 { 168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128 },
265 { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128 }
267 { /* Coeff Band ( 6 )*/
268 { 1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128 },
269 { 141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128 },
270 { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128 }
272 { /* Coeff Band ( 7 )*/
273 { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 },
274 { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 },
275 { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }
280 /* Work in progress recalibration of baseline rate tables based on
281 * the assumption that bits per mb is inversely proportional to the
283 * Note: this table value multiplied by 512
285 const int vp8_bits_per_mb[2][128] = {
286 /* Intra case 450000/Qintra */
288 1125000, 900000, 750000, 642857, 562500, 500000, 450000, 450000,
289 409090, 375000, 346153, 321428, 300000, 281250, 264705, 264705,
290 250000, 236842, 225000, 225000, 214285, 214285, 204545, 204545,
291 195652, 195652, 187500, 180000, 180000, 173076, 166666, 160714,
292 155172, 150000, 145161, 140625, 136363, 132352, 128571, 125000,
293 121621, 121621, 118421, 115384, 112500, 109756, 107142, 104651,
294 102272, 100000, 97826, 97826, 95744, 93750, 91836, 90000,
295 88235, 86538, 84905, 83333, 81818, 80357, 78947, 77586,
296 76271, 75000, 73770, 72580, 71428, 70312, 69230, 68181,
297 67164, 66176, 65217, 64285, 63380, 62500, 61643, 60810,
298 60000, 59210, 59210, 58441, 57692, 56962, 56250, 55555,
299 54878, 54216, 53571, 52941, 52325, 51724, 51136, 50561,
300 49450, 48387, 47368, 46875, 45918, 45000, 44554, 44117,
301 43269, 42452, 41666, 40909, 40178, 39473, 38793, 38135,
302 36885, 36290, 35714, 35156, 34615, 34090, 33582, 33088,
303 32608, 32142, 31468, 31034, 30405, 29801, 29220, 28662,
306 /* Inter case 285000/Qinter */
308 712500, 570000, 475000, 407142, 356250, 316666, 285000, 259090,
309 237500, 219230, 203571, 190000, 178125, 167647, 158333, 150000,
310 142500, 135714, 129545, 123913, 118750, 114000, 109615, 105555,
311 101785, 98275, 95000, 91935, 89062, 86363, 83823, 81428,
312 79166, 77027, 75000, 73076, 71250, 69512, 67857, 66279,
313 64772, 63333, 61956, 60638, 59375, 58163, 57000, 55882,
314 54807, 53773, 52777, 51818, 50892, 50000, 49137, 47500,
315 45967, 44531, 43181, 41911, 40714, 39583, 38513, 37500,
316 36538, 35625, 34756, 33928, 33139, 32386, 31666, 30978,
317 30319, 29687, 29081, 28500, 27941, 27403, 26886, 26388,
318 25909, 25446, 25000, 24568, 23949, 23360, 22800, 22265,
319 21755, 21268, 20802, 20357, 19930, 19520, 19127, 18750,
320 18387, 18037, 17701, 17378, 17065, 16764, 16473, 16101,
321 15745, 15405, 15079, 14766, 14467, 14179, 13902, 13636,
322 13380, 13133, 12895, 12666, 12445, 12179, 11924, 11632,
323 11445, 11220, 11003, 10795, 10594, 10401, 10215, 10035,
327 const unsigned short vp8_prob_cost[256] = {
328 2047, 2047, 1791, 1641, 1535, 1452, 1385, 1328, 1279, 1235, 1196, 1161, 1129, 1099, 1072, 1046,
329 1023, 1000, 979, 959, 940, 922, 905, 889, 873, 858, 843, 829, 816, 803, 790, 778,
330 767, 755, 744, 733, 723, 713, 703, 693, 684, 675, 666, 657, 649, 641, 633, 625,
331 617, 609, 602, 594, 587, 580, 573, 567, 560, 553, 547, 541, 534, 528, 522, 516,
332 511, 505, 499, 494, 488, 483, 477, 472, 467, 462, 457, 452, 447, 442, 437, 433,
333 428, 424, 419, 415, 410, 406, 401, 397, 393, 389, 385, 381, 377, 373, 369, 365,
334 361, 357, 353, 349, 346, 342, 338, 335, 331, 328, 324, 321, 317, 314, 311, 307,
335 304, 301, 297, 294, 291, 288, 285, 281, 278, 275, 272, 269, 266, 263, 260, 257,
336 255, 252, 249, 246, 243, 240, 238, 235, 232, 229, 227, 224, 221, 219, 216, 214,
337 211, 208, 206, 203, 201, 198, 196, 194, 191, 189, 186, 184, 181, 179, 177, 174,
338 172, 170, 168, 165, 163, 161, 159, 156, 154, 152, 150, 148, 145, 143, 141, 139,
339 137, 135, 133, 131, 129, 127, 125, 123, 121, 119, 117, 115, 113, 111, 109, 107,
340 105, 103, 101, 99, 97, 95, 93, 92, 90, 88, 86, 84, 82, 81, 79, 77,
341 75, 73, 72, 70, 68, 66, 65, 63, 61, 60, 58, 56, 55, 53, 51, 50,
342 48, 46, 45, 43, 41, 40, 38, 37, 35, 33, 32, 30, 29, 27, 25, 24,
343 22, 21, 19, 18, 16, 15, 13, 12, 10, 9, 7, 6, 4, 3, 1, 1
346 const unsigned char vp8_coef_update_probs[4][8][3][11] = {
349 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
350 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
351 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
354 {176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
355 {223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255, },
356 {249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
359 {255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255, },
360 {234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
361 {253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
364 {255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
365 {239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
366 {254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
369 {255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
370 {251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
371 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
374 {255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
375 {251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
376 {254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
379 {255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255, },
380 {250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255, },
381 {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
384 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
385 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
386 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
391 {217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
392 {225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255, },
393 {234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255, },
396 {255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
397 {223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
398 {238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, },
401 {255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
402 {249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
403 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
406 {255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
407 {247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
408 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
411 {255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
412 {252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
413 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
416 {255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
417 {253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
418 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
421 {255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
422 {250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
423 {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
426 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
427 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
428 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
433 {186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255, },
434 {234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255, },
435 {251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255, },
438 {255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
439 {236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
440 {251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, },
443 {255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
444 {254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
445 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
448 {255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
449 {254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
450 {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
453 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
454 {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
455 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
458 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
459 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
460 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
463 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
464 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
465 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
468 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
469 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
470 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
475 {248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
476 {250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255, },
477 {248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255, },
480 {255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
481 {246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
482 {252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255, },
485 {255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255, },
486 {248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
487 {253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, },
490 {255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
491 {245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
492 {253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
495 {255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
496 {252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
497 {255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
500 {255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
501 {249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
502 {255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, },
505 {255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, },
506 {250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
507 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
510 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
511 {254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
512 {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, },
517 const unsigned char vp8_probs_update_flag[4][8][3][11] = {
519 {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
520 {{1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0}},
521 {{0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}},
522 {{0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}},
523 {{0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}},
524 {{0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}},
525 {{0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}},
526 {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
529 {{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
530 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}},
531 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
532 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
533 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
534 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
535 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
536 {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
539 {{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
540 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
541 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
542 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
543 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
544 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
545 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
546 {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
549 {{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
550 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}},
551 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
552 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
553 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
554 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
555 {{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
556 {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}