xref: /aosp_15_r20/external/libvpx/vp9/common/vp9_entropy.c (revision fb1b10ab9aebc7c7068eedab379b749d7e3900be)
1*fb1b10abSAndroid Build Coastguard Worker /*
2*fb1b10abSAndroid Build Coastguard Worker  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3*fb1b10abSAndroid Build Coastguard Worker  *
4*fb1b10abSAndroid Build Coastguard Worker  *  Use of this source code is governed by a BSD-style license
5*fb1b10abSAndroid Build Coastguard Worker  *  that can be found in the LICENSE file in the root of the source
6*fb1b10abSAndroid Build Coastguard Worker  *  tree. An additional intellectual property rights grant can be found
7*fb1b10abSAndroid Build Coastguard Worker  *  in the file PATENTS.  All contributing project authors may
8*fb1b10abSAndroid Build Coastguard Worker  *  be found in the AUTHORS file in the root of the source tree.
9*fb1b10abSAndroid Build Coastguard Worker  */
10*fb1b10abSAndroid Build Coastguard Worker 
11*fb1b10abSAndroid Build Coastguard Worker #include "vp9/common/vp9_entropy.h"
12*fb1b10abSAndroid Build Coastguard Worker #include "vp9/common/vp9_blockd.h"
13*fb1b10abSAndroid Build Coastguard Worker #include "vp9/common/vp9_onyxc_int.h"
14*fb1b10abSAndroid Build Coastguard Worker #include "vp9/common/vp9_entropymode.h"
15*fb1b10abSAndroid Build Coastguard Worker #include "vpx_mem/vpx_mem.h"
16*fb1b10abSAndroid Build Coastguard Worker #include "vpx/vpx_integer.h"
17*fb1b10abSAndroid Build Coastguard Worker 
18*fb1b10abSAndroid Build Coastguard Worker // Unconstrained Node Tree
19*fb1b10abSAndroid Build Coastguard Worker /* clang-format off */
20*fb1b10abSAndroid Build Coastguard Worker const vpx_tree_index vp9_coef_con_tree[TREE_SIZE(ENTROPY_TOKENS)] = {
21*fb1b10abSAndroid Build Coastguard Worker   2, 6,                                // 0 = LOW_VAL
22*fb1b10abSAndroid Build Coastguard Worker   -TWO_TOKEN, 4,                       // 1 = TWO
23*fb1b10abSAndroid Build Coastguard Worker   -THREE_TOKEN, -FOUR_TOKEN,           // 2 = THREE
24*fb1b10abSAndroid Build Coastguard Worker   8, 10,                               // 3 = HIGH_LOW
25*fb1b10abSAndroid Build Coastguard Worker   -CATEGORY1_TOKEN, -CATEGORY2_TOKEN,  // 4 = CAT_ONE
26*fb1b10abSAndroid Build Coastguard Worker   12, 14,                              // 5 = CAT_THREEFOUR
27*fb1b10abSAndroid Build Coastguard Worker   -CATEGORY3_TOKEN, -CATEGORY4_TOKEN,  // 6 = CAT_THREE
28*fb1b10abSAndroid Build Coastguard Worker   -CATEGORY5_TOKEN, -CATEGORY6_TOKEN   // 7 = CAT_FIVE
29*fb1b10abSAndroid Build Coastguard Worker };
30*fb1b10abSAndroid Build Coastguard Worker /* clang-format on */
31*fb1b10abSAndroid Build Coastguard Worker 
32*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_cat1_prob[] = { 159 };
33*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_cat2_prob[] = { 165, 145 };
34*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_cat3_prob[] = { 173, 148, 140 };
35*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_cat4_prob[] = { 176, 155, 140, 135 };
36*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_cat5_prob[] = { 180, 157, 141, 134, 130 };
37*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_cat6_prob[] = { 254, 254, 254, 252, 249, 243, 230,
38*fb1b10abSAndroid Build Coastguard Worker                                    196, 177, 153, 140, 133, 130, 129 };
39*fb1b10abSAndroid Build Coastguard Worker #if CONFIG_VP9_HIGHBITDEPTH
40*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_cat6_prob_high12[] = { 255, 255, 255, 255, 254, 254,
41*fb1b10abSAndroid Build Coastguard Worker                                           254, 252, 249, 243, 230, 196,
42*fb1b10abSAndroid Build Coastguard Worker                                           177, 153, 140, 133, 130, 129 };
43*fb1b10abSAndroid Build Coastguard Worker #endif
44*fb1b10abSAndroid Build Coastguard Worker 
45*fb1b10abSAndroid Build Coastguard Worker /* clang-format off */
46*fb1b10abSAndroid Build Coastguard Worker const uint8_t vp9_coefband_trans_8x8plus[1024] = {
47*fb1b10abSAndroid Build Coastguard Worker   0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
48*fb1b10abSAndroid Build Coastguard Worker   // beyond MAXBAND_INDEX+1 all values are filled as 5
49*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
50*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
51*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
52*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
53*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
54*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
55*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
56*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
57*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
58*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
59*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
60*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
61*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
62*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
63*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
64*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
65*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
66*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
67*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
68*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
69*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
70*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
71*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
72*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
73*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
74*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
75*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
76*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
77*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
78*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
79*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
80*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
81*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
82*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
83*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
84*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
85*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
86*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
87*fb1b10abSAndroid Build Coastguard Worker   5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
88*fb1b10abSAndroid Build Coastguard Worker };
89*fb1b10abSAndroid Build Coastguard Worker /* clang-format on */
90*fb1b10abSAndroid Build Coastguard Worker 
91*fb1b10abSAndroid Build Coastguard Worker const uint8_t vp9_coefband_trans_4x4[16] = {
92*fb1b10abSAndroid Build Coastguard Worker   0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5,
93*fb1b10abSAndroid Build Coastguard Worker };
94*fb1b10abSAndroid Build Coastguard Worker 
95*fb1b10abSAndroid Build Coastguard Worker const uint8_t vp9_pt_energy_class[ENTROPY_TOKENS] = { 0, 1, 2, 3, 3, 4,
96*fb1b10abSAndroid Build Coastguard Worker                                                       4, 5, 5, 5, 5, 5 };
97*fb1b10abSAndroid Build Coastguard Worker 
98*fb1b10abSAndroid Build Coastguard Worker // Model obtained from a 2-sided zero-centerd distribuition derived
99*fb1b10abSAndroid Build Coastguard Worker // from a Pareto distribution. The cdf of the distribution is:
100*fb1b10abSAndroid Build Coastguard Worker // cdf(x) = 0.5 + 0.5 * sgn(x) * [1 - {alpha/(alpha + |x|)} ^ beta]
101*fb1b10abSAndroid Build Coastguard Worker //
102*fb1b10abSAndroid Build Coastguard Worker // For a given beta and a given probablity of the 1-node, the alpha
103*fb1b10abSAndroid Build Coastguard Worker // is first solved, and then the {alpha, beta} pair is used to generate
104*fb1b10abSAndroid Build Coastguard Worker // the probabilities for the rest of the nodes.
105*fb1b10abSAndroid Build Coastguard Worker 
106*fb1b10abSAndroid Build Coastguard Worker // beta = 8
107*fb1b10abSAndroid Build Coastguard Worker 
108*fb1b10abSAndroid Build Coastguard Worker // Every odd line in this table can be generated from the even lines
109*fb1b10abSAndroid Build Coastguard Worker // by averaging :
110*fb1b10abSAndroid Build Coastguard Worker // vp9_pareto8_full[l][node] = (vp9_pareto8_full[l-1][node] +
111*fb1b10abSAndroid Build Coastguard Worker //                              vp9_pareto8_full[l+1][node] ) >> 1;
112*fb1b10abSAndroid Build Coastguard Worker const vpx_prob vp9_pareto8_full[COEFF_PROB_MODELS][MODEL_NODES] = {
113*fb1b10abSAndroid Build Coastguard Worker   { 3, 86, 128, 6, 86, 23, 88, 29 },
114*fb1b10abSAndroid Build Coastguard Worker   { 6, 86, 128, 11, 87, 42, 91, 52 },
115*fb1b10abSAndroid Build Coastguard Worker   { 9, 86, 129, 17, 88, 61, 94, 76 },
116*fb1b10abSAndroid Build Coastguard Worker   { 12, 86, 129, 22, 88, 77, 97, 93 },
117*fb1b10abSAndroid Build Coastguard Worker   { 15, 87, 129, 28, 89, 93, 100, 110 },
118*fb1b10abSAndroid Build Coastguard Worker   { 17, 87, 129, 33, 90, 105, 103, 123 },
119*fb1b10abSAndroid Build Coastguard Worker   { 20, 88, 130, 38, 91, 118, 106, 136 },
120*fb1b10abSAndroid Build Coastguard Worker   { 23, 88, 130, 43, 91, 128, 108, 146 },
121*fb1b10abSAndroid Build Coastguard Worker   { 26, 89, 131, 48, 92, 139, 111, 156 },
122*fb1b10abSAndroid Build Coastguard Worker   { 28, 89, 131, 53, 93, 147, 114, 163 },
123*fb1b10abSAndroid Build Coastguard Worker   { 31, 90, 131, 58, 94, 156, 117, 171 },
124*fb1b10abSAndroid Build Coastguard Worker   { 34, 90, 131, 62, 94, 163, 119, 177 },
125*fb1b10abSAndroid Build Coastguard Worker   { 37, 90, 132, 66, 95, 171, 122, 184 },
126*fb1b10abSAndroid Build Coastguard Worker   { 39, 90, 132, 70, 96, 177, 124, 189 },
127*fb1b10abSAndroid Build Coastguard Worker   { 42, 91, 132, 75, 97, 183, 127, 194 },
128*fb1b10abSAndroid Build Coastguard Worker   { 44, 91, 132, 79, 97, 188, 129, 198 },
129*fb1b10abSAndroid Build Coastguard Worker   { 47, 92, 133, 83, 98, 193, 132, 202 },
130*fb1b10abSAndroid Build Coastguard Worker   { 49, 92, 133, 86, 99, 197, 134, 205 },
131*fb1b10abSAndroid Build Coastguard Worker   { 52, 93, 133, 90, 100, 201, 137, 208 },
132*fb1b10abSAndroid Build Coastguard Worker   { 54, 93, 133, 94, 100, 204, 139, 211 },
133*fb1b10abSAndroid Build Coastguard Worker   { 57, 94, 134, 98, 101, 208, 142, 214 },
134*fb1b10abSAndroid Build Coastguard Worker   { 59, 94, 134, 101, 102, 211, 144, 216 },
135*fb1b10abSAndroid Build Coastguard Worker   { 62, 94, 135, 105, 103, 214, 146, 218 },
136*fb1b10abSAndroid Build Coastguard Worker   { 64, 94, 135, 108, 103, 216, 148, 220 },
137*fb1b10abSAndroid Build Coastguard Worker   { 66, 95, 135, 111, 104, 219, 151, 222 },
138*fb1b10abSAndroid Build Coastguard Worker   { 68, 95, 135, 114, 105, 221, 153, 223 },
139*fb1b10abSAndroid Build Coastguard Worker   { 71, 96, 136, 117, 106, 224, 155, 225 },
140*fb1b10abSAndroid Build Coastguard Worker   { 73, 96, 136, 120, 106, 225, 157, 226 },
141*fb1b10abSAndroid Build Coastguard Worker   { 76, 97, 136, 123, 107, 227, 159, 228 },
142*fb1b10abSAndroid Build Coastguard Worker   { 78, 97, 136, 126, 108, 229, 160, 229 },
143*fb1b10abSAndroid Build Coastguard Worker   { 80, 98, 137, 129, 109, 231, 162, 231 },
144*fb1b10abSAndroid Build Coastguard Worker   { 82, 98, 137, 131, 109, 232, 164, 232 },
145*fb1b10abSAndroid Build Coastguard Worker   { 84, 98, 138, 134, 110, 234, 166, 233 },
146*fb1b10abSAndroid Build Coastguard Worker   { 86, 98, 138, 137, 111, 235, 168, 234 },
147*fb1b10abSAndroid Build Coastguard Worker   { 89, 99, 138, 140, 112, 236, 170, 235 },
148*fb1b10abSAndroid Build Coastguard Worker   { 91, 99, 138, 142, 112, 237, 171, 235 },
149*fb1b10abSAndroid Build Coastguard Worker   { 93, 100, 139, 145, 113, 238, 173, 236 },
150*fb1b10abSAndroid Build Coastguard Worker   { 95, 100, 139, 147, 114, 239, 174, 237 },
151*fb1b10abSAndroid Build Coastguard Worker   { 97, 101, 140, 149, 115, 240, 176, 238 },
152*fb1b10abSAndroid Build Coastguard Worker   { 99, 101, 140, 151, 115, 241, 177, 238 },
153*fb1b10abSAndroid Build Coastguard Worker   { 101, 102, 140, 154, 116, 242, 179, 239 },
154*fb1b10abSAndroid Build Coastguard Worker   { 103, 102, 140, 156, 117, 242, 180, 239 },
155*fb1b10abSAndroid Build Coastguard Worker   { 105, 103, 141, 158, 118, 243, 182, 240 },
156*fb1b10abSAndroid Build Coastguard Worker   { 107, 103, 141, 160, 118, 243, 183, 240 },
157*fb1b10abSAndroid Build Coastguard Worker   { 109, 104, 141, 162, 119, 244, 185, 241 },
158*fb1b10abSAndroid Build Coastguard Worker   { 111, 104, 141, 164, 119, 244, 186, 241 },
159*fb1b10abSAndroid Build Coastguard Worker   { 113, 104, 142, 166, 120, 245, 187, 242 },
160*fb1b10abSAndroid Build Coastguard Worker   { 114, 104, 142, 168, 121, 245, 188, 242 },
161*fb1b10abSAndroid Build Coastguard Worker   { 116, 105, 143, 170, 122, 246, 190, 243 },
162*fb1b10abSAndroid Build Coastguard Worker   { 118, 105, 143, 171, 122, 246, 191, 243 },
163*fb1b10abSAndroid Build Coastguard Worker   { 120, 106, 143, 173, 123, 247, 192, 244 },
164*fb1b10abSAndroid Build Coastguard Worker   { 121, 106, 143, 175, 124, 247, 193, 244 },
165*fb1b10abSAndroid Build Coastguard Worker   { 123, 107, 144, 177, 125, 248, 195, 244 },
166*fb1b10abSAndroid Build Coastguard Worker   { 125, 107, 144, 178, 125, 248, 196, 244 },
167*fb1b10abSAndroid Build Coastguard Worker   { 127, 108, 145, 180, 126, 249, 197, 245 },
168*fb1b10abSAndroid Build Coastguard Worker   { 128, 108, 145, 181, 127, 249, 198, 245 },
169*fb1b10abSAndroid Build Coastguard Worker   { 130, 109, 145, 183, 128, 249, 199, 245 },
170*fb1b10abSAndroid Build Coastguard Worker   { 132, 109, 145, 184, 128, 249, 200, 245 },
171*fb1b10abSAndroid Build Coastguard Worker   { 134, 110, 146, 186, 129, 250, 201, 246 },
172*fb1b10abSAndroid Build Coastguard Worker   { 135, 110, 146, 187, 130, 250, 202, 246 },
173*fb1b10abSAndroid Build Coastguard Worker   { 137, 111, 147, 189, 131, 251, 203, 246 },
174*fb1b10abSAndroid Build Coastguard Worker   { 138, 111, 147, 190, 131, 251, 204, 246 },
175*fb1b10abSAndroid Build Coastguard Worker   { 140, 112, 147, 192, 132, 251, 205, 247 },
176*fb1b10abSAndroid Build Coastguard Worker   { 141, 112, 147, 193, 132, 251, 206, 247 },
177*fb1b10abSAndroid Build Coastguard Worker   { 143, 113, 148, 194, 133, 251, 207, 247 },
178*fb1b10abSAndroid Build Coastguard Worker   { 144, 113, 148, 195, 134, 251, 207, 247 },
179*fb1b10abSAndroid Build Coastguard Worker   { 146, 114, 149, 197, 135, 252, 208, 248 },
180*fb1b10abSAndroid Build Coastguard Worker   { 147, 114, 149, 198, 135, 252, 209, 248 },
181*fb1b10abSAndroid Build Coastguard Worker   { 149, 115, 149, 199, 136, 252, 210, 248 },
182*fb1b10abSAndroid Build Coastguard Worker   { 150, 115, 149, 200, 137, 252, 210, 248 },
183*fb1b10abSAndroid Build Coastguard Worker   { 152, 115, 150, 201, 138, 252, 211, 248 },
184*fb1b10abSAndroid Build Coastguard Worker   { 153, 115, 150, 202, 138, 252, 212, 248 },
185*fb1b10abSAndroid Build Coastguard Worker   { 155, 116, 151, 204, 139, 253, 213, 249 },
186*fb1b10abSAndroid Build Coastguard Worker   { 156, 116, 151, 205, 139, 253, 213, 249 },
187*fb1b10abSAndroid Build Coastguard Worker   { 158, 117, 151, 206, 140, 253, 214, 249 },
188*fb1b10abSAndroid Build Coastguard Worker   { 159, 117, 151, 207, 141, 253, 215, 249 },
189*fb1b10abSAndroid Build Coastguard Worker   { 161, 118, 152, 208, 142, 253, 216, 249 },
190*fb1b10abSAndroid Build Coastguard Worker   { 162, 118, 152, 209, 142, 253, 216, 249 },
191*fb1b10abSAndroid Build Coastguard Worker   { 163, 119, 153, 210, 143, 253, 217, 249 },
192*fb1b10abSAndroid Build Coastguard Worker   { 164, 119, 153, 211, 143, 253, 217, 249 },
193*fb1b10abSAndroid Build Coastguard Worker   { 166, 120, 153, 212, 144, 254, 218, 250 },
194*fb1b10abSAndroid Build Coastguard Worker   { 167, 120, 153, 212, 145, 254, 219, 250 },
195*fb1b10abSAndroid Build Coastguard Worker   { 168, 121, 154, 213, 146, 254, 220, 250 },
196*fb1b10abSAndroid Build Coastguard Worker   { 169, 121, 154, 214, 146, 254, 220, 250 },
197*fb1b10abSAndroid Build Coastguard Worker   { 171, 122, 155, 215, 147, 254, 221, 250 },
198*fb1b10abSAndroid Build Coastguard Worker   { 172, 122, 155, 216, 147, 254, 221, 250 },
199*fb1b10abSAndroid Build Coastguard Worker   { 173, 123, 155, 217, 148, 254, 222, 250 },
200*fb1b10abSAndroid Build Coastguard Worker   { 174, 123, 155, 217, 149, 254, 222, 250 },
201*fb1b10abSAndroid Build Coastguard Worker   { 176, 124, 156, 218, 150, 254, 223, 250 },
202*fb1b10abSAndroid Build Coastguard Worker   { 177, 124, 156, 219, 150, 254, 223, 250 },
203*fb1b10abSAndroid Build Coastguard Worker   { 178, 125, 157, 220, 151, 254, 224, 251 },
204*fb1b10abSAndroid Build Coastguard Worker   { 179, 125, 157, 220, 151, 254, 224, 251 },
205*fb1b10abSAndroid Build Coastguard Worker   { 180, 126, 157, 221, 152, 254, 225, 251 },
206*fb1b10abSAndroid Build Coastguard Worker   { 181, 126, 157, 221, 152, 254, 225, 251 },
207*fb1b10abSAndroid Build Coastguard Worker   { 183, 127, 158, 222, 153, 254, 226, 251 },
208*fb1b10abSAndroid Build Coastguard Worker   { 184, 127, 158, 223, 154, 254, 226, 251 },
209*fb1b10abSAndroid Build Coastguard Worker   { 185, 128, 159, 224, 155, 255, 227, 251 },
210*fb1b10abSAndroid Build Coastguard Worker   { 186, 128, 159, 224, 155, 255, 227, 251 },
211*fb1b10abSAndroid Build Coastguard Worker   { 187, 129, 160, 225, 156, 255, 228, 251 },
212*fb1b10abSAndroid Build Coastguard Worker   { 188, 130, 160, 225, 156, 255, 228, 251 },
213*fb1b10abSAndroid Build Coastguard Worker   { 189, 131, 160, 226, 157, 255, 228, 251 },
214*fb1b10abSAndroid Build Coastguard Worker   { 190, 131, 160, 226, 158, 255, 228, 251 },
215*fb1b10abSAndroid Build Coastguard Worker   { 191, 132, 161, 227, 159, 255, 229, 251 },
216*fb1b10abSAndroid Build Coastguard Worker   { 192, 132, 161, 227, 159, 255, 229, 251 },
217*fb1b10abSAndroid Build Coastguard Worker   { 193, 133, 162, 228, 160, 255, 230, 252 },
218*fb1b10abSAndroid Build Coastguard Worker   { 194, 133, 162, 229, 160, 255, 230, 252 },
219*fb1b10abSAndroid Build Coastguard Worker   { 195, 134, 163, 230, 161, 255, 231, 252 },
220*fb1b10abSAndroid Build Coastguard Worker   { 196, 134, 163, 230, 161, 255, 231, 252 },
221*fb1b10abSAndroid Build Coastguard Worker   { 197, 135, 163, 231, 162, 255, 231, 252 },
222*fb1b10abSAndroid Build Coastguard Worker   { 198, 135, 163, 231, 162, 255, 231, 252 },
223*fb1b10abSAndroid Build Coastguard Worker   { 199, 136, 164, 232, 163, 255, 232, 252 },
224*fb1b10abSAndroid Build Coastguard Worker   { 200, 136, 164, 232, 164, 255, 232, 252 },
225*fb1b10abSAndroid Build Coastguard Worker   { 201, 137, 165, 233, 165, 255, 233, 252 },
226*fb1b10abSAndroid Build Coastguard Worker   { 201, 137, 165, 233, 165, 255, 233, 252 },
227*fb1b10abSAndroid Build Coastguard Worker   { 202, 138, 166, 233, 166, 255, 233, 252 },
228*fb1b10abSAndroid Build Coastguard Worker   { 203, 138, 166, 233, 166, 255, 233, 252 },
229*fb1b10abSAndroid Build Coastguard Worker   { 204, 139, 166, 234, 167, 255, 234, 252 },
230*fb1b10abSAndroid Build Coastguard Worker   { 205, 139, 166, 234, 167, 255, 234, 252 },
231*fb1b10abSAndroid Build Coastguard Worker   { 206, 140, 167, 235, 168, 255, 235, 252 },
232*fb1b10abSAndroid Build Coastguard Worker   { 206, 140, 167, 235, 168, 255, 235, 252 },
233*fb1b10abSAndroid Build Coastguard Worker   { 207, 141, 168, 236, 169, 255, 235, 252 },
234*fb1b10abSAndroid Build Coastguard Worker   { 208, 141, 168, 236, 170, 255, 235, 252 },
235*fb1b10abSAndroid Build Coastguard Worker   { 209, 142, 169, 237, 171, 255, 236, 252 },
236*fb1b10abSAndroid Build Coastguard Worker   { 209, 143, 169, 237, 171, 255, 236, 252 },
237*fb1b10abSAndroid Build Coastguard Worker   { 210, 144, 169, 237, 172, 255, 236, 252 },
238*fb1b10abSAndroid Build Coastguard Worker   { 211, 144, 169, 237, 172, 255, 236, 252 },
239*fb1b10abSAndroid Build Coastguard Worker   { 212, 145, 170, 238, 173, 255, 237, 252 },
240*fb1b10abSAndroid Build Coastguard Worker   { 213, 145, 170, 238, 173, 255, 237, 252 },
241*fb1b10abSAndroid Build Coastguard Worker   { 214, 146, 171, 239, 174, 255, 237, 253 },
242*fb1b10abSAndroid Build Coastguard Worker   { 214, 146, 171, 239, 174, 255, 237, 253 },
243*fb1b10abSAndroid Build Coastguard Worker   { 215, 147, 172, 240, 175, 255, 238, 253 },
244*fb1b10abSAndroid Build Coastguard Worker   { 215, 147, 172, 240, 175, 255, 238, 253 },
245*fb1b10abSAndroid Build Coastguard Worker   { 216, 148, 173, 240, 176, 255, 238, 253 },
246*fb1b10abSAndroid Build Coastguard Worker   { 217, 148, 173, 240, 176, 255, 238, 253 },
247*fb1b10abSAndroid Build Coastguard Worker   { 218, 149, 173, 241, 177, 255, 239, 253 },
248*fb1b10abSAndroid Build Coastguard Worker   { 218, 149, 173, 241, 178, 255, 239, 253 },
249*fb1b10abSAndroid Build Coastguard Worker   { 219, 150, 174, 241, 179, 255, 239, 253 },
250*fb1b10abSAndroid Build Coastguard Worker   { 219, 151, 174, 241, 179, 255, 239, 253 },
251*fb1b10abSAndroid Build Coastguard Worker   { 220, 152, 175, 242, 180, 255, 240, 253 },
252*fb1b10abSAndroid Build Coastguard Worker   { 221, 152, 175, 242, 180, 255, 240, 253 },
253*fb1b10abSAndroid Build Coastguard Worker   { 222, 153, 176, 242, 181, 255, 240, 253 },
254*fb1b10abSAndroid Build Coastguard Worker   { 222, 153, 176, 242, 181, 255, 240, 253 },
255*fb1b10abSAndroid Build Coastguard Worker   { 223, 154, 177, 243, 182, 255, 240, 253 },
256*fb1b10abSAndroid Build Coastguard Worker   { 223, 154, 177, 243, 182, 255, 240, 253 },
257*fb1b10abSAndroid Build Coastguard Worker   { 224, 155, 178, 244, 183, 255, 241, 253 },
258*fb1b10abSAndroid Build Coastguard Worker   { 224, 155, 178, 244, 183, 255, 241, 253 },
259*fb1b10abSAndroid Build Coastguard Worker   { 225, 156, 178, 244, 184, 255, 241, 253 },
260*fb1b10abSAndroid Build Coastguard Worker   { 225, 157, 178, 244, 184, 255, 241, 253 },
261*fb1b10abSAndroid Build Coastguard Worker   { 226, 158, 179, 244, 185, 255, 242, 253 },
262*fb1b10abSAndroid Build Coastguard Worker   { 227, 158, 179, 244, 185, 255, 242, 253 },
263*fb1b10abSAndroid Build Coastguard Worker   { 228, 159, 180, 245, 186, 255, 242, 253 },
264*fb1b10abSAndroid Build Coastguard Worker   { 228, 159, 180, 245, 186, 255, 242, 253 },
265*fb1b10abSAndroid Build Coastguard Worker   { 229, 160, 181, 245, 187, 255, 242, 253 },
266*fb1b10abSAndroid Build Coastguard Worker   { 229, 160, 181, 245, 187, 255, 242, 253 },
267*fb1b10abSAndroid Build Coastguard Worker   { 230, 161, 182, 246, 188, 255, 243, 253 },
268*fb1b10abSAndroid Build Coastguard Worker   { 230, 162, 182, 246, 188, 255, 243, 253 },
269*fb1b10abSAndroid Build Coastguard Worker   { 231, 163, 183, 246, 189, 255, 243, 253 },
270*fb1b10abSAndroid Build Coastguard Worker   { 231, 163, 183, 246, 189, 255, 243, 253 },
271*fb1b10abSAndroid Build Coastguard Worker   { 232, 164, 184, 247, 190, 255, 243, 253 },
272*fb1b10abSAndroid Build Coastguard Worker   { 232, 164, 184, 247, 190, 255, 243, 253 },
273*fb1b10abSAndroid Build Coastguard Worker   { 233, 165, 185, 247, 191, 255, 244, 253 },
274*fb1b10abSAndroid Build Coastguard Worker   { 233, 165, 185, 247, 191, 255, 244, 253 },
275*fb1b10abSAndroid Build Coastguard Worker   { 234, 166, 185, 247, 192, 255, 244, 253 },
276*fb1b10abSAndroid Build Coastguard Worker   { 234, 167, 185, 247, 192, 255, 244, 253 },
277*fb1b10abSAndroid Build Coastguard Worker   { 235, 168, 186, 248, 193, 255, 244, 253 },
278*fb1b10abSAndroid Build Coastguard Worker   { 235, 168, 186, 248, 193, 255, 244, 253 },
279*fb1b10abSAndroid Build Coastguard Worker   { 236, 169, 187, 248, 194, 255, 244, 253 },
280*fb1b10abSAndroid Build Coastguard Worker   { 236, 169, 187, 248, 194, 255, 244, 253 },
281*fb1b10abSAndroid Build Coastguard Worker   { 236, 170, 188, 248, 195, 255, 245, 253 },
282*fb1b10abSAndroid Build Coastguard Worker   { 236, 170, 188, 248, 195, 255, 245, 253 },
283*fb1b10abSAndroid Build Coastguard Worker   { 237, 171, 189, 249, 196, 255, 245, 254 },
284*fb1b10abSAndroid Build Coastguard Worker   { 237, 172, 189, 249, 196, 255, 245, 254 },
285*fb1b10abSAndroid Build Coastguard Worker   { 238, 173, 190, 249, 197, 255, 245, 254 },
286*fb1b10abSAndroid Build Coastguard Worker   { 238, 173, 190, 249, 197, 255, 245, 254 },
287*fb1b10abSAndroid Build Coastguard Worker   { 239, 174, 191, 249, 198, 255, 245, 254 },
288*fb1b10abSAndroid Build Coastguard Worker   { 239, 174, 191, 249, 198, 255, 245, 254 },
289*fb1b10abSAndroid Build Coastguard Worker   { 240, 175, 192, 249, 199, 255, 246, 254 },
290*fb1b10abSAndroid Build Coastguard Worker   { 240, 176, 192, 249, 199, 255, 246, 254 },
291*fb1b10abSAndroid Build Coastguard Worker   { 240, 177, 193, 250, 200, 255, 246, 254 },
292*fb1b10abSAndroid Build Coastguard Worker   { 240, 177, 193, 250, 200, 255, 246, 254 },
293*fb1b10abSAndroid Build Coastguard Worker   { 241, 178, 194, 250, 201, 255, 246, 254 },
294*fb1b10abSAndroid Build Coastguard Worker   { 241, 178, 194, 250, 201, 255, 246, 254 },
295*fb1b10abSAndroid Build Coastguard Worker   { 242, 179, 195, 250, 202, 255, 246, 254 },
296*fb1b10abSAndroid Build Coastguard Worker   { 242, 180, 195, 250, 202, 255, 246, 254 },
297*fb1b10abSAndroid Build Coastguard Worker   { 242, 181, 196, 250, 203, 255, 247, 254 },
298*fb1b10abSAndroid Build Coastguard Worker   { 242, 181, 196, 250, 203, 255, 247, 254 },
299*fb1b10abSAndroid Build Coastguard Worker   { 243, 182, 197, 251, 204, 255, 247, 254 },
300*fb1b10abSAndroid Build Coastguard Worker   { 243, 183, 197, 251, 204, 255, 247, 254 },
301*fb1b10abSAndroid Build Coastguard Worker   { 244, 184, 198, 251, 205, 255, 247, 254 },
302*fb1b10abSAndroid Build Coastguard Worker   { 244, 184, 198, 251, 205, 255, 247, 254 },
303*fb1b10abSAndroid Build Coastguard Worker   { 244, 185, 199, 251, 206, 255, 247, 254 },
304*fb1b10abSAndroid Build Coastguard Worker   { 244, 185, 199, 251, 206, 255, 247, 254 },
305*fb1b10abSAndroid Build Coastguard Worker   { 245, 186, 200, 251, 207, 255, 247, 254 },
306*fb1b10abSAndroid Build Coastguard Worker   { 245, 187, 200, 251, 207, 255, 247, 254 },
307*fb1b10abSAndroid Build Coastguard Worker   { 246, 188, 201, 252, 207, 255, 248, 254 },
308*fb1b10abSAndroid Build Coastguard Worker   { 246, 188, 201, 252, 207, 255, 248, 254 },
309*fb1b10abSAndroid Build Coastguard Worker   { 246, 189, 202, 252, 208, 255, 248, 254 },
310*fb1b10abSAndroid Build Coastguard Worker   { 246, 190, 202, 252, 208, 255, 248, 254 },
311*fb1b10abSAndroid Build Coastguard Worker   { 247, 191, 203, 252, 209, 255, 248, 254 },
312*fb1b10abSAndroid Build Coastguard Worker   { 247, 191, 203, 252, 209, 255, 248, 254 },
313*fb1b10abSAndroid Build Coastguard Worker   { 247, 192, 204, 252, 210, 255, 248, 254 },
314*fb1b10abSAndroid Build Coastguard Worker   { 247, 193, 204, 252, 210, 255, 248, 254 },
315*fb1b10abSAndroid Build Coastguard Worker   { 248, 194, 205, 252, 211, 255, 248, 254 },
316*fb1b10abSAndroid Build Coastguard Worker   { 248, 194, 205, 252, 211, 255, 248, 254 },
317*fb1b10abSAndroid Build Coastguard Worker   { 248, 195, 206, 252, 212, 255, 249, 254 },
318*fb1b10abSAndroid Build Coastguard Worker   { 248, 196, 206, 252, 212, 255, 249, 254 },
319*fb1b10abSAndroid Build Coastguard Worker   { 249, 197, 207, 253, 213, 255, 249, 254 },
320*fb1b10abSAndroid Build Coastguard Worker   { 249, 197, 207, 253, 213, 255, 249, 254 },
321*fb1b10abSAndroid Build Coastguard Worker   { 249, 198, 208, 253, 214, 255, 249, 254 },
322*fb1b10abSAndroid Build Coastguard Worker   { 249, 199, 209, 253, 214, 255, 249, 254 },
323*fb1b10abSAndroid Build Coastguard Worker   { 250, 200, 210, 253, 215, 255, 249, 254 },
324*fb1b10abSAndroid Build Coastguard Worker   { 250, 200, 210, 253, 215, 255, 249, 254 },
325*fb1b10abSAndroid Build Coastguard Worker   { 250, 201, 211, 253, 215, 255, 249, 254 },
326*fb1b10abSAndroid Build Coastguard Worker   { 250, 202, 211, 253, 215, 255, 249, 254 },
327*fb1b10abSAndroid Build Coastguard Worker   { 250, 203, 212, 253, 216, 255, 249, 254 },
328*fb1b10abSAndroid Build Coastguard Worker   { 250, 203, 212, 253, 216, 255, 249, 254 },
329*fb1b10abSAndroid Build Coastguard Worker   { 251, 204, 213, 253, 217, 255, 250, 254 },
330*fb1b10abSAndroid Build Coastguard Worker   { 251, 205, 213, 253, 217, 255, 250, 254 },
331*fb1b10abSAndroid Build Coastguard Worker   { 251, 206, 214, 254, 218, 255, 250, 254 },
332*fb1b10abSAndroid Build Coastguard Worker   { 251, 206, 215, 254, 218, 255, 250, 254 },
333*fb1b10abSAndroid Build Coastguard Worker   { 252, 207, 216, 254, 219, 255, 250, 254 },
334*fb1b10abSAndroid Build Coastguard Worker   { 252, 208, 216, 254, 219, 255, 250, 254 },
335*fb1b10abSAndroid Build Coastguard Worker   { 252, 209, 217, 254, 220, 255, 250, 254 },
336*fb1b10abSAndroid Build Coastguard Worker   { 252, 210, 217, 254, 220, 255, 250, 254 },
337*fb1b10abSAndroid Build Coastguard Worker   { 252, 211, 218, 254, 221, 255, 250, 254 },
338*fb1b10abSAndroid Build Coastguard Worker   { 252, 212, 218, 254, 221, 255, 250, 254 },
339*fb1b10abSAndroid Build Coastguard Worker   { 253, 213, 219, 254, 222, 255, 250, 254 },
340*fb1b10abSAndroid Build Coastguard Worker   { 253, 213, 220, 254, 222, 255, 250, 254 },
341*fb1b10abSAndroid Build Coastguard Worker   { 253, 214, 221, 254, 223, 255, 250, 254 },
342*fb1b10abSAndroid Build Coastguard Worker   { 253, 215, 221, 254, 223, 255, 250, 254 },
343*fb1b10abSAndroid Build Coastguard Worker   { 253, 216, 222, 254, 224, 255, 251, 254 },
344*fb1b10abSAndroid Build Coastguard Worker   { 253, 217, 223, 254, 224, 255, 251, 254 },
345*fb1b10abSAndroid Build Coastguard Worker   { 253, 218, 224, 254, 225, 255, 251, 254 },
346*fb1b10abSAndroid Build Coastguard Worker   { 253, 219, 224, 254, 225, 255, 251, 254 },
347*fb1b10abSAndroid Build Coastguard Worker   { 254, 220, 225, 254, 225, 255, 251, 254 },
348*fb1b10abSAndroid Build Coastguard Worker   { 254, 221, 226, 254, 225, 255, 251, 254 },
349*fb1b10abSAndroid Build Coastguard Worker   { 254, 222, 227, 255, 226, 255, 251, 254 },
350*fb1b10abSAndroid Build Coastguard Worker   { 254, 223, 227, 255, 226, 255, 251, 254 },
351*fb1b10abSAndroid Build Coastguard Worker   { 254, 224, 228, 255, 227, 255, 251, 254 },
352*fb1b10abSAndroid Build Coastguard Worker   { 254, 225, 229, 255, 227, 255, 251, 254 },
353*fb1b10abSAndroid Build Coastguard Worker   { 254, 226, 230, 255, 228, 255, 251, 254 },
354*fb1b10abSAndroid Build Coastguard Worker   { 254, 227, 230, 255, 229, 255, 251, 254 },
355*fb1b10abSAndroid Build Coastguard Worker   { 255, 228, 231, 255, 230, 255, 251, 254 },
356*fb1b10abSAndroid Build Coastguard Worker   { 255, 229, 232, 255, 230, 255, 251, 254 },
357*fb1b10abSAndroid Build Coastguard Worker   { 255, 230, 233, 255, 231, 255, 252, 254 },
358*fb1b10abSAndroid Build Coastguard Worker   { 255, 231, 234, 255, 231, 255, 252, 254 },
359*fb1b10abSAndroid Build Coastguard Worker   { 255, 232, 235, 255, 232, 255, 252, 254 },
360*fb1b10abSAndroid Build Coastguard Worker   { 255, 233, 236, 255, 232, 255, 252, 254 },
361*fb1b10abSAndroid Build Coastguard Worker   { 255, 235, 237, 255, 233, 255, 252, 254 },
362*fb1b10abSAndroid Build Coastguard Worker   { 255, 236, 238, 255, 234, 255, 252, 254 },
363*fb1b10abSAndroid Build Coastguard Worker   { 255, 238, 240, 255, 235, 255, 252, 255 },
364*fb1b10abSAndroid Build Coastguard Worker   { 255, 239, 241, 255, 235, 255, 252, 254 },
365*fb1b10abSAndroid Build Coastguard Worker   { 255, 241, 243, 255, 236, 255, 252, 254 },
366*fb1b10abSAndroid Build Coastguard Worker   { 255, 243, 245, 255, 237, 255, 252, 254 },
367*fb1b10abSAndroid Build Coastguard Worker   { 255, 246, 247, 255, 239, 255, 253, 255 },
368*fb1b10abSAndroid Build Coastguard Worker };
369*fb1b10abSAndroid Build Coastguard Worker 
370*fb1b10abSAndroid Build Coastguard Worker static const vp9_coeff_probs_model default_coef_probs_4x4[PLANE_TYPES] = {
371*fb1b10abSAndroid Build Coastguard Worker   {     // Y plane
372*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
373*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
374*fb1b10abSAndroid Build Coastguard Worker         { 195, 29, 183 },
375*fb1b10abSAndroid Build Coastguard Worker         { 84, 49, 136 },
376*fb1b10abSAndroid Build Coastguard Worker         { 8, 42, 71 } },
377*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
378*fb1b10abSAndroid Build Coastguard Worker         { 31, 107, 169 },
379*fb1b10abSAndroid Build Coastguard Worker         { 35, 99, 159 },
380*fb1b10abSAndroid Build Coastguard Worker         { 17, 82, 140 },
381*fb1b10abSAndroid Build Coastguard Worker         { 8, 66, 114 },
382*fb1b10abSAndroid Build Coastguard Worker         { 2, 44, 76 },
383*fb1b10abSAndroid Build Coastguard Worker         { 1, 19, 32 } },
384*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
385*fb1b10abSAndroid Build Coastguard Worker         { 40, 132, 201 },
386*fb1b10abSAndroid Build Coastguard Worker         { 29, 114, 187 },
387*fb1b10abSAndroid Build Coastguard Worker         { 13, 91, 157 },
388*fb1b10abSAndroid Build Coastguard Worker         { 7, 75, 127 },
389*fb1b10abSAndroid Build Coastguard Worker         { 3, 58, 95 },
390*fb1b10abSAndroid Build Coastguard Worker         { 1, 28, 47 } },
391*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
392*fb1b10abSAndroid Build Coastguard Worker         { 69, 142, 221 },
393*fb1b10abSAndroid Build Coastguard Worker         { 42, 122, 201 },
394*fb1b10abSAndroid Build Coastguard Worker         { 15, 91, 159 },
395*fb1b10abSAndroid Build Coastguard Worker         { 6, 67, 121 },
396*fb1b10abSAndroid Build Coastguard Worker         { 1, 42, 77 },
397*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 31 } },
398*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
399*fb1b10abSAndroid Build Coastguard Worker         { 102, 148, 228 },
400*fb1b10abSAndroid Build Coastguard Worker         { 67, 117, 204 },
401*fb1b10abSAndroid Build Coastguard Worker         { 17, 82, 154 },
402*fb1b10abSAndroid Build Coastguard Worker         { 6, 59, 114 },
403*fb1b10abSAndroid Build Coastguard Worker         { 2, 39, 75 },
404*fb1b10abSAndroid Build Coastguard Worker         { 1, 15, 29 } },
405*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
406*fb1b10abSAndroid Build Coastguard Worker         { 156, 57, 233 },
407*fb1b10abSAndroid Build Coastguard Worker         { 119, 57, 212 },
408*fb1b10abSAndroid Build Coastguard Worker         { 58, 48, 163 },
409*fb1b10abSAndroid Build Coastguard Worker         { 29, 40, 124 },
410*fb1b10abSAndroid Build Coastguard Worker         { 12, 30, 81 },
411*fb1b10abSAndroid Build Coastguard Worker         { 3, 12, 31 } } },
412*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
413*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
414*fb1b10abSAndroid Build Coastguard Worker         { 191, 107, 226 },
415*fb1b10abSAndroid Build Coastguard Worker         { 124, 117, 204 },
416*fb1b10abSAndroid Build Coastguard Worker         { 25, 99, 155 } },
417*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
418*fb1b10abSAndroid Build Coastguard Worker         { 29, 148, 210 },
419*fb1b10abSAndroid Build Coastguard Worker         { 37, 126, 194 },
420*fb1b10abSAndroid Build Coastguard Worker         { 8, 93, 157 },
421*fb1b10abSAndroid Build Coastguard Worker         { 2, 68, 118 },
422*fb1b10abSAndroid Build Coastguard Worker         { 1, 39, 69 },
423*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 33 } },
424*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
425*fb1b10abSAndroid Build Coastguard Worker         { 41, 151, 213 },
426*fb1b10abSAndroid Build Coastguard Worker         { 27, 123, 193 },
427*fb1b10abSAndroid Build Coastguard Worker         { 3, 82, 144 },
428*fb1b10abSAndroid Build Coastguard Worker         { 1, 58, 105 },
429*fb1b10abSAndroid Build Coastguard Worker         { 1, 32, 60 },
430*fb1b10abSAndroid Build Coastguard Worker         { 1, 13, 26 } },
431*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
432*fb1b10abSAndroid Build Coastguard Worker         { 59, 159, 220 },
433*fb1b10abSAndroid Build Coastguard Worker         { 23, 126, 198 },
434*fb1b10abSAndroid Build Coastguard Worker         { 4, 88, 151 },
435*fb1b10abSAndroid Build Coastguard Worker         { 1, 66, 114 },
436*fb1b10abSAndroid Build Coastguard Worker         { 1, 38, 71 },
437*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 34 } },
438*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
439*fb1b10abSAndroid Build Coastguard Worker         { 114, 136, 232 },
440*fb1b10abSAndroid Build Coastguard Worker         { 51, 114, 207 },
441*fb1b10abSAndroid Build Coastguard Worker         { 11, 83, 155 },
442*fb1b10abSAndroid Build Coastguard Worker         { 3, 56, 105 },
443*fb1b10abSAndroid Build Coastguard Worker         { 1, 33, 65 },
444*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 34 } },
445*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
446*fb1b10abSAndroid Build Coastguard Worker         { 149, 65, 234 },
447*fb1b10abSAndroid Build Coastguard Worker         { 121, 57, 215 },
448*fb1b10abSAndroid Build Coastguard Worker         { 61, 49, 166 },
449*fb1b10abSAndroid Build Coastguard Worker         { 28, 36, 114 },
450*fb1b10abSAndroid Build Coastguard Worker         { 12, 25, 76 },
451*fb1b10abSAndroid Build Coastguard Worker         { 3, 16, 42 } } } },
452*fb1b10abSAndroid Build Coastguard Worker   {     // UV plane
453*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
454*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
455*fb1b10abSAndroid Build Coastguard Worker         { 214, 49, 220 },
456*fb1b10abSAndroid Build Coastguard Worker         { 132, 63, 188 },
457*fb1b10abSAndroid Build Coastguard Worker         { 42, 65, 137 } },
458*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
459*fb1b10abSAndroid Build Coastguard Worker         { 85, 137, 221 },
460*fb1b10abSAndroid Build Coastguard Worker         { 104, 131, 216 },
461*fb1b10abSAndroid Build Coastguard Worker         { 49, 111, 192 },
462*fb1b10abSAndroid Build Coastguard Worker         { 21, 87, 155 },
463*fb1b10abSAndroid Build Coastguard Worker         { 2, 49, 87 },
464*fb1b10abSAndroid Build Coastguard Worker         { 1, 16, 28 } },
465*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
466*fb1b10abSAndroid Build Coastguard Worker         { 89, 163, 230 },
467*fb1b10abSAndroid Build Coastguard Worker         { 90, 137, 220 },
468*fb1b10abSAndroid Build Coastguard Worker         { 29, 100, 183 },
469*fb1b10abSAndroid Build Coastguard Worker         { 10, 70, 135 },
470*fb1b10abSAndroid Build Coastguard Worker         { 2, 42, 81 },
471*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 33 } },
472*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
473*fb1b10abSAndroid Build Coastguard Worker         { 108, 167, 237 },
474*fb1b10abSAndroid Build Coastguard Worker         { 55, 133, 222 },
475*fb1b10abSAndroid Build Coastguard Worker         { 15, 97, 179 },
476*fb1b10abSAndroid Build Coastguard Worker         { 4, 72, 135 },
477*fb1b10abSAndroid Build Coastguard Worker         { 1, 45, 85 },
478*fb1b10abSAndroid Build Coastguard Worker         { 1, 19, 38 } },
479*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
480*fb1b10abSAndroid Build Coastguard Worker         { 124, 146, 240 },
481*fb1b10abSAndroid Build Coastguard Worker         { 66, 124, 224 },
482*fb1b10abSAndroid Build Coastguard Worker         { 17, 88, 175 },
483*fb1b10abSAndroid Build Coastguard Worker         { 4, 58, 122 },
484*fb1b10abSAndroid Build Coastguard Worker         { 1, 36, 75 },
485*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 37 } },
486*fb1b10abSAndroid Build Coastguard Worker       { //  Band 5
487*fb1b10abSAndroid Build Coastguard Worker         { 141, 79, 241 },
488*fb1b10abSAndroid Build Coastguard Worker         { 126, 70, 227 },
489*fb1b10abSAndroid Build Coastguard Worker         { 66, 58, 182 },
490*fb1b10abSAndroid Build Coastguard Worker         { 30, 44, 136 },
491*fb1b10abSAndroid Build Coastguard Worker         { 12, 34, 96 },
492*fb1b10abSAndroid Build Coastguard Worker         { 2, 20, 47 } } },
493*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
494*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
495*fb1b10abSAndroid Build Coastguard Worker         { 229, 99, 249 },
496*fb1b10abSAndroid Build Coastguard Worker         { 143, 111, 235 },
497*fb1b10abSAndroid Build Coastguard Worker         { 46, 109, 192 } },
498*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
499*fb1b10abSAndroid Build Coastguard Worker         { 82, 158, 236 },
500*fb1b10abSAndroid Build Coastguard Worker         { 94, 146, 224 },
501*fb1b10abSAndroid Build Coastguard Worker         { 25, 117, 191 },
502*fb1b10abSAndroid Build Coastguard Worker         { 9, 87, 149 },
503*fb1b10abSAndroid Build Coastguard Worker         { 3, 56, 99 },
504*fb1b10abSAndroid Build Coastguard Worker         { 1, 33, 57 } },
505*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
506*fb1b10abSAndroid Build Coastguard Worker         { 83, 167, 237 },
507*fb1b10abSAndroid Build Coastguard Worker         { 68, 145, 222 },
508*fb1b10abSAndroid Build Coastguard Worker         { 10, 103, 177 },
509*fb1b10abSAndroid Build Coastguard Worker         { 2, 72, 131 },
510*fb1b10abSAndroid Build Coastguard Worker         { 1, 41, 79 },
511*fb1b10abSAndroid Build Coastguard Worker         { 1, 20, 39 } },
512*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
513*fb1b10abSAndroid Build Coastguard Worker         { 99, 167, 239 },
514*fb1b10abSAndroid Build Coastguard Worker         { 47, 141, 224 },
515*fb1b10abSAndroid Build Coastguard Worker         { 10, 104, 178 },
516*fb1b10abSAndroid Build Coastguard Worker         { 2, 73, 133 },
517*fb1b10abSAndroid Build Coastguard Worker         { 1, 44, 85 },
518*fb1b10abSAndroid Build Coastguard Worker         { 1, 22, 47 } },
519*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
520*fb1b10abSAndroid Build Coastguard Worker         { 127, 145, 243 },
521*fb1b10abSAndroid Build Coastguard Worker         { 71, 129, 228 },
522*fb1b10abSAndroid Build Coastguard Worker         { 17, 93, 177 },
523*fb1b10abSAndroid Build Coastguard Worker         { 3, 61, 124 },
524*fb1b10abSAndroid Build Coastguard Worker         { 1, 41, 84 },
525*fb1b10abSAndroid Build Coastguard Worker         { 1, 21, 52 } },
526*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
527*fb1b10abSAndroid Build Coastguard Worker         { 157, 78, 244 },
528*fb1b10abSAndroid Build Coastguard Worker         { 140, 72, 231 },
529*fb1b10abSAndroid Build Coastguard Worker         { 69, 58, 184 },
530*fb1b10abSAndroid Build Coastguard Worker         { 31, 44, 137 },
531*fb1b10abSAndroid Build Coastguard Worker         { 14, 38, 105 },
532*fb1b10abSAndroid Build Coastguard Worker         { 8, 23, 61 } } } }
533*fb1b10abSAndroid Build Coastguard Worker };
534*fb1b10abSAndroid Build Coastguard Worker 
535*fb1b10abSAndroid Build Coastguard Worker static const vp9_coeff_probs_model default_coef_probs_8x8[PLANE_TYPES] = {
536*fb1b10abSAndroid Build Coastguard Worker   {     // Y plane
537*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
538*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
539*fb1b10abSAndroid Build Coastguard Worker         { 125, 34, 187 },
540*fb1b10abSAndroid Build Coastguard Worker         { 52, 41, 133 },
541*fb1b10abSAndroid Build Coastguard Worker         { 6, 31, 56 } },
542*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
543*fb1b10abSAndroid Build Coastguard Worker         { 37, 109, 153 },
544*fb1b10abSAndroid Build Coastguard Worker         { 51, 102, 147 },
545*fb1b10abSAndroid Build Coastguard Worker         { 23, 87, 128 },
546*fb1b10abSAndroid Build Coastguard Worker         { 8, 67, 101 },
547*fb1b10abSAndroid Build Coastguard Worker         { 1, 41, 63 },
548*fb1b10abSAndroid Build Coastguard Worker         { 1, 19, 29 } },
549*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
550*fb1b10abSAndroid Build Coastguard Worker         { 31, 154, 185 },
551*fb1b10abSAndroid Build Coastguard Worker         { 17, 127, 175 },
552*fb1b10abSAndroid Build Coastguard Worker         { 6, 96, 145 },
553*fb1b10abSAndroid Build Coastguard Worker         { 2, 73, 114 },
554*fb1b10abSAndroid Build Coastguard Worker         { 1, 51, 82 },
555*fb1b10abSAndroid Build Coastguard Worker         { 1, 28, 45 } },
556*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
557*fb1b10abSAndroid Build Coastguard Worker         { 23, 163, 200 },
558*fb1b10abSAndroid Build Coastguard Worker         { 10, 131, 185 },
559*fb1b10abSAndroid Build Coastguard Worker         { 2, 93, 148 },
560*fb1b10abSAndroid Build Coastguard Worker         { 1, 67, 111 },
561*fb1b10abSAndroid Build Coastguard Worker         { 1, 41, 69 },
562*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 24 } },
563*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
564*fb1b10abSAndroid Build Coastguard Worker         { 29, 176, 217 },
565*fb1b10abSAndroid Build Coastguard Worker         { 12, 145, 201 },
566*fb1b10abSAndroid Build Coastguard Worker         { 3, 101, 156 },
567*fb1b10abSAndroid Build Coastguard Worker         { 1, 69, 111 },
568*fb1b10abSAndroid Build Coastguard Worker         { 1, 39, 63 },
569*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 23 } },
570*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
571*fb1b10abSAndroid Build Coastguard Worker         { 57, 192, 233 },
572*fb1b10abSAndroid Build Coastguard Worker         { 25, 154, 215 },
573*fb1b10abSAndroid Build Coastguard Worker         { 6, 109, 167 },
574*fb1b10abSAndroid Build Coastguard Worker         { 3, 78, 118 },
575*fb1b10abSAndroid Build Coastguard Worker         { 1, 48, 69 },
576*fb1b10abSAndroid Build Coastguard Worker         { 1, 21, 29 } } },
577*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
578*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
579*fb1b10abSAndroid Build Coastguard Worker         { 202, 105, 245 },
580*fb1b10abSAndroid Build Coastguard Worker         { 108, 106, 216 },
581*fb1b10abSAndroid Build Coastguard Worker         { 18, 90, 144 } },
582*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
583*fb1b10abSAndroid Build Coastguard Worker         { 33, 172, 219 },
584*fb1b10abSAndroid Build Coastguard Worker         { 64, 149, 206 },
585*fb1b10abSAndroid Build Coastguard Worker         { 14, 117, 177 },
586*fb1b10abSAndroid Build Coastguard Worker         { 5, 90, 141 },
587*fb1b10abSAndroid Build Coastguard Worker         { 2, 61, 95 },
588*fb1b10abSAndroid Build Coastguard Worker         { 1, 37, 57 } },
589*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
590*fb1b10abSAndroid Build Coastguard Worker         { 33, 179, 220 },
591*fb1b10abSAndroid Build Coastguard Worker         { 11, 140, 198 },
592*fb1b10abSAndroid Build Coastguard Worker         { 1, 89, 148 },
593*fb1b10abSAndroid Build Coastguard Worker         { 1, 60, 104 },
594*fb1b10abSAndroid Build Coastguard Worker         { 1, 33, 57 },
595*fb1b10abSAndroid Build Coastguard Worker         { 1, 12, 21 } },
596*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
597*fb1b10abSAndroid Build Coastguard Worker         { 30, 181, 221 },
598*fb1b10abSAndroid Build Coastguard Worker         { 8, 141, 198 },
599*fb1b10abSAndroid Build Coastguard Worker         { 1, 87, 145 },
600*fb1b10abSAndroid Build Coastguard Worker         { 1, 58, 100 },
601*fb1b10abSAndroid Build Coastguard Worker         { 1, 31, 55 },
602*fb1b10abSAndroid Build Coastguard Worker         { 1, 12, 20 } },
603*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
604*fb1b10abSAndroid Build Coastguard Worker         { 32, 186, 224 },
605*fb1b10abSAndroid Build Coastguard Worker         { 7, 142, 198 },
606*fb1b10abSAndroid Build Coastguard Worker         { 1, 86, 143 },
607*fb1b10abSAndroid Build Coastguard Worker         { 1, 58, 100 },
608*fb1b10abSAndroid Build Coastguard Worker         { 1, 31, 55 },
609*fb1b10abSAndroid Build Coastguard Worker         { 1, 12, 22 } },
610*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
611*fb1b10abSAndroid Build Coastguard Worker         { 57, 192, 227 },
612*fb1b10abSAndroid Build Coastguard Worker         { 20, 143, 204 },
613*fb1b10abSAndroid Build Coastguard Worker         { 3, 96, 154 },
614*fb1b10abSAndroid Build Coastguard Worker         { 1, 68, 112 },
615*fb1b10abSAndroid Build Coastguard Worker         { 1, 42, 69 },
616*fb1b10abSAndroid Build Coastguard Worker         { 1, 19, 32 } } } },
617*fb1b10abSAndroid Build Coastguard Worker   {     // UV plane
618*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
619*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
620*fb1b10abSAndroid Build Coastguard Worker         { 212, 35, 215 },
621*fb1b10abSAndroid Build Coastguard Worker         { 113, 47, 169 },
622*fb1b10abSAndroid Build Coastguard Worker         { 29, 48, 105 } },
623*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
624*fb1b10abSAndroid Build Coastguard Worker         { 74, 129, 203 },
625*fb1b10abSAndroid Build Coastguard Worker         { 106, 120, 203 },
626*fb1b10abSAndroid Build Coastguard Worker         { 49, 107, 178 },
627*fb1b10abSAndroid Build Coastguard Worker         { 19, 84, 144 },
628*fb1b10abSAndroid Build Coastguard Worker         { 4, 50, 84 },
629*fb1b10abSAndroid Build Coastguard Worker         { 1, 15, 25 } },
630*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
631*fb1b10abSAndroid Build Coastguard Worker         { 71, 172, 217 },
632*fb1b10abSAndroid Build Coastguard Worker         { 44, 141, 209 },
633*fb1b10abSAndroid Build Coastguard Worker         { 15, 102, 173 },
634*fb1b10abSAndroid Build Coastguard Worker         { 6, 76, 133 },
635*fb1b10abSAndroid Build Coastguard Worker         { 2, 51, 89 },
636*fb1b10abSAndroid Build Coastguard Worker         { 1, 24, 42 } },
637*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
638*fb1b10abSAndroid Build Coastguard Worker         { 64, 185, 231 },
639*fb1b10abSAndroid Build Coastguard Worker         { 31, 148, 216 },
640*fb1b10abSAndroid Build Coastguard Worker         { 8, 103, 175 },
641*fb1b10abSAndroid Build Coastguard Worker         { 3, 74, 131 },
642*fb1b10abSAndroid Build Coastguard Worker         { 1, 46, 81 },
643*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 30 } },
644*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
645*fb1b10abSAndroid Build Coastguard Worker         { 65, 196, 235 },
646*fb1b10abSAndroid Build Coastguard Worker         { 25, 157, 221 },
647*fb1b10abSAndroid Build Coastguard Worker         { 5, 105, 174 },
648*fb1b10abSAndroid Build Coastguard Worker         { 1, 67, 120 },
649*fb1b10abSAndroid Build Coastguard Worker         { 1, 38, 69 },
650*fb1b10abSAndroid Build Coastguard Worker         { 1, 15, 30 } },
651*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
652*fb1b10abSAndroid Build Coastguard Worker         { 65, 204, 238 },
653*fb1b10abSAndroid Build Coastguard Worker         { 30, 156, 224 },
654*fb1b10abSAndroid Build Coastguard Worker         { 7, 107, 177 },
655*fb1b10abSAndroid Build Coastguard Worker         { 2, 70, 124 },
656*fb1b10abSAndroid Build Coastguard Worker         { 1, 42, 73 },
657*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 34 } } },
658*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
659*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
660*fb1b10abSAndroid Build Coastguard Worker         { 225, 86, 251 },
661*fb1b10abSAndroid Build Coastguard Worker         { 144, 104, 235 },
662*fb1b10abSAndroid Build Coastguard Worker         { 42, 99, 181 } },
663*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
664*fb1b10abSAndroid Build Coastguard Worker         { 85, 175, 239 },
665*fb1b10abSAndroid Build Coastguard Worker         { 112, 165, 229 },
666*fb1b10abSAndroid Build Coastguard Worker         { 29, 136, 200 },
667*fb1b10abSAndroid Build Coastguard Worker         { 12, 103, 162 },
668*fb1b10abSAndroid Build Coastguard Worker         { 6, 77, 123 },
669*fb1b10abSAndroid Build Coastguard Worker         { 2, 53, 84 } },
670*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
671*fb1b10abSAndroid Build Coastguard Worker         { 75, 183, 239 },
672*fb1b10abSAndroid Build Coastguard Worker         { 30, 155, 221 },
673*fb1b10abSAndroid Build Coastguard Worker         { 3, 106, 171 },
674*fb1b10abSAndroid Build Coastguard Worker         { 1, 74, 128 },
675*fb1b10abSAndroid Build Coastguard Worker         { 1, 44, 76 },
676*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 28 } },
677*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
678*fb1b10abSAndroid Build Coastguard Worker         { 73, 185, 240 },
679*fb1b10abSAndroid Build Coastguard Worker         { 27, 159, 222 },
680*fb1b10abSAndroid Build Coastguard Worker         { 2, 107, 172 },
681*fb1b10abSAndroid Build Coastguard Worker         { 1, 75, 127 },
682*fb1b10abSAndroid Build Coastguard Worker         { 1, 42, 73 },
683*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 29 } },
684*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
685*fb1b10abSAndroid Build Coastguard Worker         { 62, 190, 238 },
686*fb1b10abSAndroid Build Coastguard Worker         { 21, 159, 222 },
687*fb1b10abSAndroid Build Coastguard Worker         { 2, 107, 172 },
688*fb1b10abSAndroid Build Coastguard Worker         { 1, 72, 122 },
689*fb1b10abSAndroid Build Coastguard Worker         { 1, 40, 71 },
690*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 32 } },
691*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
692*fb1b10abSAndroid Build Coastguard Worker         { 61, 199, 240 },
693*fb1b10abSAndroid Build Coastguard Worker         { 27, 161, 226 },
694*fb1b10abSAndroid Build Coastguard Worker         { 4, 113, 180 },
695*fb1b10abSAndroid Build Coastguard Worker         { 1, 76, 129 },
696*fb1b10abSAndroid Build Coastguard Worker         { 1, 46, 80 },
697*fb1b10abSAndroid Build Coastguard Worker         { 1, 23, 41 } } } }
698*fb1b10abSAndroid Build Coastguard Worker };
699*fb1b10abSAndroid Build Coastguard Worker 
700*fb1b10abSAndroid Build Coastguard Worker static const vp9_coeff_probs_model default_coef_probs_16x16[PLANE_TYPES] = {
701*fb1b10abSAndroid Build Coastguard Worker   {     // Y plane
702*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
703*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
704*fb1b10abSAndroid Build Coastguard Worker         { 7, 27, 153 },
705*fb1b10abSAndroid Build Coastguard Worker         { 5, 30, 95 },
706*fb1b10abSAndroid Build Coastguard Worker         { 1, 16, 30 } },
707*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
708*fb1b10abSAndroid Build Coastguard Worker         { 50, 75, 127 },
709*fb1b10abSAndroid Build Coastguard Worker         { 57, 75, 124 },
710*fb1b10abSAndroid Build Coastguard Worker         { 27, 67, 108 },
711*fb1b10abSAndroid Build Coastguard Worker         { 10, 54, 86 },
712*fb1b10abSAndroid Build Coastguard Worker         { 1, 33, 52 },
713*fb1b10abSAndroid Build Coastguard Worker         { 1, 12, 18 } },
714*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
715*fb1b10abSAndroid Build Coastguard Worker         { 43, 125, 151 },
716*fb1b10abSAndroid Build Coastguard Worker         { 26, 108, 148 },
717*fb1b10abSAndroid Build Coastguard Worker         { 7, 83, 122 },
718*fb1b10abSAndroid Build Coastguard Worker         { 2, 59, 89 },
719*fb1b10abSAndroid Build Coastguard Worker         { 1, 38, 60 },
720*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 27 } },
721*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
722*fb1b10abSAndroid Build Coastguard Worker         { 23, 144, 163 },
723*fb1b10abSAndroid Build Coastguard Worker         { 13, 112, 154 },
724*fb1b10abSAndroid Build Coastguard Worker         { 2, 75, 117 },
725*fb1b10abSAndroid Build Coastguard Worker         { 1, 50, 81 },
726*fb1b10abSAndroid Build Coastguard Worker         { 1, 31, 51 },
727*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 23 } },
728*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
729*fb1b10abSAndroid Build Coastguard Worker         { 18, 162, 185 },
730*fb1b10abSAndroid Build Coastguard Worker         { 6, 123, 171 },
731*fb1b10abSAndroid Build Coastguard Worker         { 1, 78, 125 },
732*fb1b10abSAndroid Build Coastguard Worker         { 1, 51, 86 },
733*fb1b10abSAndroid Build Coastguard Worker         { 1, 31, 54 },
734*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 23 } },
735*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
736*fb1b10abSAndroid Build Coastguard Worker         { 15, 199, 227 },
737*fb1b10abSAndroid Build Coastguard Worker         { 3, 150, 204 },
738*fb1b10abSAndroid Build Coastguard Worker         { 1, 91, 146 },
739*fb1b10abSAndroid Build Coastguard Worker         { 1, 55, 95 },
740*fb1b10abSAndroid Build Coastguard Worker         { 1, 30, 53 },
741*fb1b10abSAndroid Build Coastguard Worker         { 1, 11, 20 } } },
742*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
743*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
744*fb1b10abSAndroid Build Coastguard Worker         { 19, 55, 240 },
745*fb1b10abSAndroid Build Coastguard Worker         { 19, 59, 196 },
746*fb1b10abSAndroid Build Coastguard Worker         { 3, 52, 105 } },
747*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
748*fb1b10abSAndroid Build Coastguard Worker         { 41, 166, 207 },
749*fb1b10abSAndroid Build Coastguard Worker         { 104, 153, 199 },
750*fb1b10abSAndroid Build Coastguard Worker         { 31, 123, 181 },
751*fb1b10abSAndroid Build Coastguard Worker         { 14, 101, 152 },
752*fb1b10abSAndroid Build Coastguard Worker         { 5, 72, 106 },
753*fb1b10abSAndroid Build Coastguard Worker         { 1, 36, 52 } },
754*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
755*fb1b10abSAndroid Build Coastguard Worker         { 35, 176, 211 },
756*fb1b10abSAndroid Build Coastguard Worker         { 12, 131, 190 },
757*fb1b10abSAndroid Build Coastguard Worker         { 2, 88, 144 },
758*fb1b10abSAndroid Build Coastguard Worker         { 1, 60, 101 },
759*fb1b10abSAndroid Build Coastguard Worker         { 1, 36, 60 },
760*fb1b10abSAndroid Build Coastguard Worker         { 1, 16, 28 } },
761*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
762*fb1b10abSAndroid Build Coastguard Worker         { 28, 183, 213 },
763*fb1b10abSAndroid Build Coastguard Worker         { 8, 134, 191 },
764*fb1b10abSAndroid Build Coastguard Worker         { 1, 86, 142 },
765*fb1b10abSAndroid Build Coastguard Worker         { 1, 56, 96 },
766*fb1b10abSAndroid Build Coastguard Worker         { 1, 30, 53 },
767*fb1b10abSAndroid Build Coastguard Worker         { 1, 12, 20 } },
768*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
769*fb1b10abSAndroid Build Coastguard Worker         { 20, 190, 215 },
770*fb1b10abSAndroid Build Coastguard Worker         { 4, 135, 192 },
771*fb1b10abSAndroid Build Coastguard Worker         { 1, 84, 139 },
772*fb1b10abSAndroid Build Coastguard Worker         { 1, 53, 91 },
773*fb1b10abSAndroid Build Coastguard Worker         { 1, 28, 49 },
774*fb1b10abSAndroid Build Coastguard Worker         { 1, 11, 20 } },
775*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
776*fb1b10abSAndroid Build Coastguard Worker         { 13, 196, 216 },
777*fb1b10abSAndroid Build Coastguard Worker         { 2, 137, 192 },
778*fb1b10abSAndroid Build Coastguard Worker         { 1, 86, 143 },
779*fb1b10abSAndroid Build Coastguard Worker         { 1, 57, 99 },
780*fb1b10abSAndroid Build Coastguard Worker         { 1, 32, 56 },
781*fb1b10abSAndroid Build Coastguard Worker         { 1, 13, 24 } } } },
782*fb1b10abSAndroid Build Coastguard Worker   {     // UV plane
783*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
784*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
785*fb1b10abSAndroid Build Coastguard Worker         { 211, 29, 217 },
786*fb1b10abSAndroid Build Coastguard Worker         { 96, 47, 156 },
787*fb1b10abSAndroid Build Coastguard Worker         { 22, 43, 87 } },
788*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
789*fb1b10abSAndroid Build Coastguard Worker         { 78, 120, 193 },
790*fb1b10abSAndroid Build Coastguard Worker         { 111, 116, 186 },
791*fb1b10abSAndroid Build Coastguard Worker         { 46, 102, 164 },
792*fb1b10abSAndroid Build Coastguard Worker         { 15, 80, 128 },
793*fb1b10abSAndroid Build Coastguard Worker         { 2, 49, 76 },
794*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 28 } },
795*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
796*fb1b10abSAndroid Build Coastguard Worker         { 71, 161, 203 },
797*fb1b10abSAndroid Build Coastguard Worker         { 42, 132, 192 },
798*fb1b10abSAndroid Build Coastguard Worker         { 10, 98, 150 },
799*fb1b10abSAndroid Build Coastguard Worker         { 3, 69, 109 },
800*fb1b10abSAndroid Build Coastguard Worker         { 1, 44, 70 },
801*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 29 } },
802*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
803*fb1b10abSAndroid Build Coastguard Worker         { 57, 186, 211 },
804*fb1b10abSAndroid Build Coastguard Worker         { 30, 140, 196 },
805*fb1b10abSAndroid Build Coastguard Worker         { 4, 93, 146 },
806*fb1b10abSAndroid Build Coastguard Worker         { 1, 62, 102 },
807*fb1b10abSAndroid Build Coastguard Worker         { 1, 38, 65 },
808*fb1b10abSAndroid Build Coastguard Worker         { 1, 16, 27 } },
809*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
810*fb1b10abSAndroid Build Coastguard Worker         { 47, 199, 217 },
811*fb1b10abSAndroid Build Coastguard Worker         { 14, 145, 196 },
812*fb1b10abSAndroid Build Coastguard Worker         { 1, 88, 142 },
813*fb1b10abSAndroid Build Coastguard Worker         { 1, 57, 98 },
814*fb1b10abSAndroid Build Coastguard Worker         { 1, 36, 62 },
815*fb1b10abSAndroid Build Coastguard Worker         { 1, 15, 26 } },
816*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
817*fb1b10abSAndroid Build Coastguard Worker         { 26, 219, 229 },
818*fb1b10abSAndroid Build Coastguard Worker         { 5, 155, 207 },
819*fb1b10abSAndroid Build Coastguard Worker         { 1, 94, 151 },
820*fb1b10abSAndroid Build Coastguard Worker         { 1, 60, 104 },
821*fb1b10abSAndroid Build Coastguard Worker         { 1, 36, 62 },
822*fb1b10abSAndroid Build Coastguard Worker         { 1, 16, 28 } } },
823*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
824*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
825*fb1b10abSAndroid Build Coastguard Worker         { 233, 29, 248 },
826*fb1b10abSAndroid Build Coastguard Worker         { 146, 47, 220 },
827*fb1b10abSAndroid Build Coastguard Worker         { 43, 52, 140 } },
828*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
829*fb1b10abSAndroid Build Coastguard Worker         { 100, 163, 232 },
830*fb1b10abSAndroid Build Coastguard Worker         { 179, 161, 222 },
831*fb1b10abSAndroid Build Coastguard Worker         { 63, 142, 204 },
832*fb1b10abSAndroid Build Coastguard Worker         { 37, 113, 174 },
833*fb1b10abSAndroid Build Coastguard Worker         { 26, 89, 137 },
834*fb1b10abSAndroid Build Coastguard Worker         { 18, 68, 97 } },
835*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
836*fb1b10abSAndroid Build Coastguard Worker         { 85, 181, 230 },
837*fb1b10abSAndroid Build Coastguard Worker         { 32, 146, 209 },
838*fb1b10abSAndroid Build Coastguard Worker         { 7, 100, 164 },
839*fb1b10abSAndroid Build Coastguard Worker         { 3, 71, 121 },
840*fb1b10abSAndroid Build Coastguard Worker         { 1, 45, 77 },
841*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 30 } },
842*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
843*fb1b10abSAndroid Build Coastguard Worker         { 65, 187, 230 },
844*fb1b10abSAndroid Build Coastguard Worker         { 20, 148, 207 },
845*fb1b10abSAndroid Build Coastguard Worker         { 2, 97, 159 },
846*fb1b10abSAndroid Build Coastguard Worker         { 1, 68, 116 },
847*fb1b10abSAndroid Build Coastguard Worker         { 1, 40, 70 },
848*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 29 } },
849*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
850*fb1b10abSAndroid Build Coastguard Worker         { 40, 194, 227 },
851*fb1b10abSAndroid Build Coastguard Worker         { 8, 147, 204 },
852*fb1b10abSAndroid Build Coastguard Worker         { 1, 94, 155 },
853*fb1b10abSAndroid Build Coastguard Worker         { 1, 65, 112 },
854*fb1b10abSAndroid Build Coastguard Worker         { 1, 39, 66 },
855*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 26 } },
856*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
857*fb1b10abSAndroid Build Coastguard Worker         { 16, 208, 228 },
858*fb1b10abSAndroid Build Coastguard Worker         { 3, 151, 207 },
859*fb1b10abSAndroid Build Coastguard Worker         { 1, 98, 160 },
860*fb1b10abSAndroid Build Coastguard Worker         { 1, 67, 117 },
861*fb1b10abSAndroid Build Coastguard Worker         { 1, 41, 74 },
862*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 31 } } } }
863*fb1b10abSAndroid Build Coastguard Worker };
864*fb1b10abSAndroid Build Coastguard Worker 
865*fb1b10abSAndroid Build Coastguard Worker static const vp9_coeff_probs_model default_coef_probs_32x32[PLANE_TYPES] = {
866*fb1b10abSAndroid Build Coastguard Worker   {     // Y plane
867*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
868*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
869*fb1b10abSAndroid Build Coastguard Worker         { 17, 38, 140 },
870*fb1b10abSAndroid Build Coastguard Worker         { 7, 34, 80 },
871*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 29 } },
872*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
873*fb1b10abSAndroid Build Coastguard Worker         { 37, 75, 128 },
874*fb1b10abSAndroid Build Coastguard Worker         { 41, 76, 128 },
875*fb1b10abSAndroid Build Coastguard Worker         { 26, 66, 116 },
876*fb1b10abSAndroid Build Coastguard Worker         { 12, 52, 94 },
877*fb1b10abSAndroid Build Coastguard Worker         { 2, 32, 55 },
878*fb1b10abSAndroid Build Coastguard Worker         { 1, 10, 16 } },
879*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
880*fb1b10abSAndroid Build Coastguard Worker         { 50, 127, 154 },
881*fb1b10abSAndroid Build Coastguard Worker         { 37, 109, 152 },
882*fb1b10abSAndroid Build Coastguard Worker         { 16, 82, 121 },
883*fb1b10abSAndroid Build Coastguard Worker         { 5, 59, 85 },
884*fb1b10abSAndroid Build Coastguard Worker         { 1, 35, 54 },
885*fb1b10abSAndroid Build Coastguard Worker         { 1, 13, 20 } },
886*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
887*fb1b10abSAndroid Build Coastguard Worker         { 40, 142, 167 },
888*fb1b10abSAndroid Build Coastguard Worker         { 17, 110, 157 },
889*fb1b10abSAndroid Build Coastguard Worker         { 2, 71, 112 },
890*fb1b10abSAndroid Build Coastguard Worker         { 1, 44, 72 },
891*fb1b10abSAndroid Build Coastguard Worker         { 1, 27, 45 },
892*fb1b10abSAndroid Build Coastguard Worker         { 1, 11, 17 } },
893*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
894*fb1b10abSAndroid Build Coastguard Worker         { 30, 175, 188 },
895*fb1b10abSAndroid Build Coastguard Worker         { 9, 124, 169 },
896*fb1b10abSAndroid Build Coastguard Worker         { 1, 74, 116 },
897*fb1b10abSAndroid Build Coastguard Worker         { 1, 48, 78 },
898*fb1b10abSAndroid Build Coastguard Worker         { 1, 30, 49 },
899*fb1b10abSAndroid Build Coastguard Worker         { 1, 11, 18 } },
900*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
901*fb1b10abSAndroid Build Coastguard Worker         { 10, 222, 223 },
902*fb1b10abSAndroid Build Coastguard Worker         { 2, 150, 194 },
903*fb1b10abSAndroid Build Coastguard Worker         { 1, 83, 128 },
904*fb1b10abSAndroid Build Coastguard Worker         { 1, 48, 79 },
905*fb1b10abSAndroid Build Coastguard Worker         { 1, 27, 45 },
906*fb1b10abSAndroid Build Coastguard Worker         { 1, 11, 17 } } },
907*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
908*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
909*fb1b10abSAndroid Build Coastguard Worker         { 36, 41, 235 },
910*fb1b10abSAndroid Build Coastguard Worker         { 29, 36, 193 },
911*fb1b10abSAndroid Build Coastguard Worker         { 10, 27, 111 } },
912*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
913*fb1b10abSAndroid Build Coastguard Worker         { 85, 165, 222 },
914*fb1b10abSAndroid Build Coastguard Worker         { 177, 162, 215 },
915*fb1b10abSAndroid Build Coastguard Worker         { 110, 135, 195 },
916*fb1b10abSAndroid Build Coastguard Worker         { 57, 113, 168 },
917*fb1b10abSAndroid Build Coastguard Worker         { 23, 83, 120 },
918*fb1b10abSAndroid Build Coastguard Worker         { 10, 49, 61 } },
919*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
920*fb1b10abSAndroid Build Coastguard Worker         { 85, 190, 223 },
921*fb1b10abSAndroid Build Coastguard Worker         { 36, 139, 200 },
922*fb1b10abSAndroid Build Coastguard Worker         { 5, 90, 146 },
923*fb1b10abSAndroid Build Coastguard Worker         { 1, 60, 103 },
924*fb1b10abSAndroid Build Coastguard Worker         { 1, 38, 65 },
925*fb1b10abSAndroid Build Coastguard Worker         { 1, 18, 30 } },
926*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
927*fb1b10abSAndroid Build Coastguard Worker         { 72, 202, 223 },
928*fb1b10abSAndroid Build Coastguard Worker         { 23, 141, 199 },
929*fb1b10abSAndroid Build Coastguard Worker         { 2, 86, 140 },
930*fb1b10abSAndroid Build Coastguard Worker         { 1, 56, 97 },
931*fb1b10abSAndroid Build Coastguard Worker         { 1, 36, 61 },
932*fb1b10abSAndroid Build Coastguard Worker         { 1, 16, 27 } },
933*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
934*fb1b10abSAndroid Build Coastguard Worker         { 55, 218, 225 },
935*fb1b10abSAndroid Build Coastguard Worker         { 13, 145, 200 },
936*fb1b10abSAndroid Build Coastguard Worker         { 1, 86, 141 },
937*fb1b10abSAndroid Build Coastguard Worker         { 1, 57, 99 },
938*fb1b10abSAndroid Build Coastguard Worker         { 1, 35, 61 },
939*fb1b10abSAndroid Build Coastguard Worker         { 1, 13, 22 } },
940*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
941*fb1b10abSAndroid Build Coastguard Worker         { 15, 235, 212 },
942*fb1b10abSAndroid Build Coastguard Worker         { 1, 132, 184 },
943*fb1b10abSAndroid Build Coastguard Worker         { 1, 84, 139 },
944*fb1b10abSAndroid Build Coastguard Worker         { 1, 57, 97 },
945*fb1b10abSAndroid Build Coastguard Worker         { 1, 34, 56 },
946*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 23 } } } },
947*fb1b10abSAndroid Build Coastguard Worker   {     // UV plane
948*fb1b10abSAndroid Build Coastguard Worker     {   // Intra
949*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
950*fb1b10abSAndroid Build Coastguard Worker         { 181, 21, 201 },
951*fb1b10abSAndroid Build Coastguard Worker         { 61, 37, 123 },
952*fb1b10abSAndroid Build Coastguard Worker         { 10, 38, 71 } },
953*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
954*fb1b10abSAndroid Build Coastguard Worker         { 47, 106, 172 },
955*fb1b10abSAndroid Build Coastguard Worker         { 95, 104, 173 },
956*fb1b10abSAndroid Build Coastguard Worker         { 42, 93, 159 },
957*fb1b10abSAndroid Build Coastguard Worker         { 18, 77, 131 },
958*fb1b10abSAndroid Build Coastguard Worker         { 4, 50, 81 },
959*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 23 } },
960*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
961*fb1b10abSAndroid Build Coastguard Worker         { 62, 147, 199 },
962*fb1b10abSAndroid Build Coastguard Worker         { 44, 130, 189 },
963*fb1b10abSAndroid Build Coastguard Worker         { 28, 102, 154 },
964*fb1b10abSAndroid Build Coastguard Worker         { 18, 75, 115 },
965*fb1b10abSAndroid Build Coastguard Worker         { 2, 44, 65 },
966*fb1b10abSAndroid Build Coastguard Worker         { 1, 12, 19 } },
967*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
968*fb1b10abSAndroid Build Coastguard Worker         { 55, 153, 210 },
969*fb1b10abSAndroid Build Coastguard Worker         { 24, 130, 194 },
970*fb1b10abSAndroid Build Coastguard Worker         { 3, 93, 146 },
971*fb1b10abSAndroid Build Coastguard Worker         { 1, 61, 97 },
972*fb1b10abSAndroid Build Coastguard Worker         { 1, 31, 50 },
973*fb1b10abSAndroid Build Coastguard Worker         { 1, 10, 16 } },
974*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
975*fb1b10abSAndroid Build Coastguard Worker         { 49, 186, 223 },
976*fb1b10abSAndroid Build Coastguard Worker         { 17, 148, 204 },
977*fb1b10abSAndroid Build Coastguard Worker         { 1, 96, 142 },
978*fb1b10abSAndroid Build Coastguard Worker         { 1, 53, 83 },
979*fb1b10abSAndroid Build Coastguard Worker         { 1, 26, 44 },
980*fb1b10abSAndroid Build Coastguard Worker         { 1, 11, 17 } },
981*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
982*fb1b10abSAndroid Build Coastguard Worker         { 13, 217, 212 },
983*fb1b10abSAndroid Build Coastguard Worker         { 2, 136, 180 },
984*fb1b10abSAndroid Build Coastguard Worker         { 1, 78, 124 },
985*fb1b10abSAndroid Build Coastguard Worker         { 1, 50, 83 },
986*fb1b10abSAndroid Build Coastguard Worker         { 1, 29, 49 },
987*fb1b10abSAndroid Build Coastguard Worker         { 1, 14, 23 } } },
988*fb1b10abSAndroid Build Coastguard Worker     {   // Inter
989*fb1b10abSAndroid Build Coastguard Worker       { // Band 0
990*fb1b10abSAndroid Build Coastguard Worker         { 197, 13, 247 },
991*fb1b10abSAndroid Build Coastguard Worker         { 82, 17, 222 },
992*fb1b10abSAndroid Build Coastguard Worker         { 25, 17, 162 } },
993*fb1b10abSAndroid Build Coastguard Worker       { // Band 1
994*fb1b10abSAndroid Build Coastguard Worker         { 126, 186, 247 },
995*fb1b10abSAndroid Build Coastguard Worker         { 234, 191, 243 },
996*fb1b10abSAndroid Build Coastguard Worker         { 176, 177, 234 },
997*fb1b10abSAndroid Build Coastguard Worker         { 104, 158, 220 },
998*fb1b10abSAndroid Build Coastguard Worker         { 66, 128, 186 },
999*fb1b10abSAndroid Build Coastguard Worker         { 55, 90, 137 } },
1000*fb1b10abSAndroid Build Coastguard Worker       { // Band 2
1001*fb1b10abSAndroid Build Coastguard Worker         { 111, 197, 242 },
1002*fb1b10abSAndroid Build Coastguard Worker         { 46, 158, 219 },
1003*fb1b10abSAndroid Build Coastguard Worker         { 9, 104, 171 },
1004*fb1b10abSAndroid Build Coastguard Worker         { 2, 65, 125 },
1005*fb1b10abSAndroid Build Coastguard Worker         { 1, 44, 80 },
1006*fb1b10abSAndroid Build Coastguard Worker         { 1, 17, 91 } },
1007*fb1b10abSAndroid Build Coastguard Worker       { // Band 3
1008*fb1b10abSAndroid Build Coastguard Worker         { 104, 208, 245 },
1009*fb1b10abSAndroid Build Coastguard Worker         { 39, 168, 224 },
1010*fb1b10abSAndroid Build Coastguard Worker         { 3, 109, 162 },
1011*fb1b10abSAndroid Build Coastguard Worker         { 1, 79, 124 },
1012*fb1b10abSAndroid Build Coastguard Worker         { 1, 50, 102 },
1013*fb1b10abSAndroid Build Coastguard Worker         { 1, 43, 102 } },
1014*fb1b10abSAndroid Build Coastguard Worker       { // Band 4
1015*fb1b10abSAndroid Build Coastguard Worker         { 84, 220, 246 },
1016*fb1b10abSAndroid Build Coastguard Worker         { 31, 177, 231 },
1017*fb1b10abSAndroid Build Coastguard Worker         { 2, 115, 180 },
1018*fb1b10abSAndroid Build Coastguard Worker         { 1, 79, 134 },
1019*fb1b10abSAndroid Build Coastguard Worker         { 1, 55, 77 },
1020*fb1b10abSAndroid Build Coastguard Worker         { 1, 60, 79 } },
1021*fb1b10abSAndroid Build Coastguard Worker       { // Band 5
1022*fb1b10abSAndroid Build Coastguard Worker         { 43, 243, 240 },
1023*fb1b10abSAndroid Build Coastguard Worker         { 8, 180, 217 },
1024*fb1b10abSAndroid Build Coastguard Worker         { 1, 115, 166 },
1025*fb1b10abSAndroid Build Coastguard Worker         { 1, 84, 121 },
1026*fb1b10abSAndroid Build Coastguard Worker         { 1, 51, 67 },
1027*fb1b10abSAndroid Build Coastguard Worker         { 1, 16, 6 } } } }
1028*fb1b10abSAndroid Build Coastguard Worker };
1029*fb1b10abSAndroid Build Coastguard Worker 
extend_to_full_distribution(vpx_prob * probs,vpx_prob p)1030*fb1b10abSAndroid Build Coastguard Worker static void extend_to_full_distribution(vpx_prob *probs, vpx_prob p) {
1031*fb1b10abSAndroid Build Coastguard Worker   assert(p != 0);
1032*fb1b10abSAndroid Build Coastguard Worker   memcpy(probs, vp9_pareto8_full[p - 1], MODEL_NODES * sizeof(vpx_prob));
1033*fb1b10abSAndroid Build Coastguard Worker }
1034*fb1b10abSAndroid Build Coastguard Worker 
vp9_model_to_full_probs(const vpx_prob * model,vpx_prob * full)1035*fb1b10abSAndroid Build Coastguard Worker void vp9_model_to_full_probs(const vpx_prob *model, vpx_prob *full) {
1036*fb1b10abSAndroid Build Coastguard Worker   if (full != model)
1037*fb1b10abSAndroid Build Coastguard Worker     memcpy(full, model, sizeof(vpx_prob) * UNCONSTRAINED_NODES);
1038*fb1b10abSAndroid Build Coastguard Worker   extend_to_full_distribution(&full[UNCONSTRAINED_NODES], model[PIVOT_NODE]);
1039*fb1b10abSAndroid Build Coastguard Worker }
1040*fb1b10abSAndroid Build Coastguard Worker 
vp9_default_coef_probs(VP9_COMMON * cm)1041*fb1b10abSAndroid Build Coastguard Worker void vp9_default_coef_probs(VP9_COMMON *cm) {
1042*fb1b10abSAndroid Build Coastguard Worker   vp9_copy(cm->fc->coef_probs[TX_4X4], default_coef_probs_4x4);
1043*fb1b10abSAndroid Build Coastguard Worker   vp9_copy(cm->fc->coef_probs[TX_8X8], default_coef_probs_8x8);
1044*fb1b10abSAndroid Build Coastguard Worker   vp9_copy(cm->fc->coef_probs[TX_16X16], default_coef_probs_16x16);
1045*fb1b10abSAndroid Build Coastguard Worker   vp9_copy(cm->fc->coef_probs[TX_32X32], default_coef_probs_32x32);
1046*fb1b10abSAndroid Build Coastguard Worker }
1047*fb1b10abSAndroid Build Coastguard Worker 
1048*fb1b10abSAndroid Build Coastguard Worker #define COEF_COUNT_SAT 24
1049*fb1b10abSAndroid Build Coastguard Worker #define COEF_MAX_UPDATE_FACTOR 112
1050*fb1b10abSAndroid Build Coastguard Worker #define COEF_COUNT_SAT_KEY 24
1051*fb1b10abSAndroid Build Coastguard Worker #define COEF_MAX_UPDATE_FACTOR_KEY 112
1052*fb1b10abSAndroid Build Coastguard Worker #define COEF_COUNT_SAT_AFTER_KEY 24
1053*fb1b10abSAndroid Build Coastguard Worker #define COEF_MAX_UPDATE_FACTOR_AFTER_KEY 128
1054*fb1b10abSAndroid Build Coastguard Worker 
adapt_coef_probs(VP9_COMMON * cm,TX_SIZE tx_size,unsigned int count_sat,unsigned int update_factor)1055*fb1b10abSAndroid Build Coastguard Worker static void adapt_coef_probs(VP9_COMMON *cm, TX_SIZE tx_size,
1056*fb1b10abSAndroid Build Coastguard Worker                              unsigned int count_sat,
1057*fb1b10abSAndroid Build Coastguard Worker                              unsigned int update_factor) {
1058*fb1b10abSAndroid Build Coastguard Worker   const FRAME_CONTEXT *pre_fc = &cm->frame_contexts[cm->frame_context_idx];
1059*fb1b10abSAndroid Build Coastguard Worker   vp9_coeff_probs_model *const probs = cm->fc->coef_probs[tx_size];
1060*fb1b10abSAndroid Build Coastguard Worker   const vp9_coeff_probs_model *const pre_probs = pre_fc->coef_probs[tx_size];
1061*fb1b10abSAndroid Build Coastguard Worker   vp9_coeff_count_model *counts = cm->counts.coef[tx_size];
1062*fb1b10abSAndroid Build Coastguard Worker   unsigned int(*eob_counts)[REF_TYPES][COEF_BANDS][COEFF_CONTEXTS] =
1063*fb1b10abSAndroid Build Coastguard Worker       cm->counts.eob_branch[tx_size];
1064*fb1b10abSAndroid Build Coastguard Worker   int i, j, k, l, m;
1065*fb1b10abSAndroid Build Coastguard Worker 
1066*fb1b10abSAndroid Build Coastguard Worker   for (i = 0; i < PLANE_TYPES; ++i)
1067*fb1b10abSAndroid Build Coastguard Worker     for (j = 0; j < REF_TYPES; ++j)
1068*fb1b10abSAndroid Build Coastguard Worker       for (k = 0; k < COEF_BANDS; ++k)
1069*fb1b10abSAndroid Build Coastguard Worker         for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l) {
1070*fb1b10abSAndroid Build Coastguard Worker           const int n0 = counts[i][j][k][l][ZERO_TOKEN];
1071*fb1b10abSAndroid Build Coastguard Worker           const int n1 = counts[i][j][k][l][ONE_TOKEN];
1072*fb1b10abSAndroid Build Coastguard Worker           const int n2 = counts[i][j][k][l][TWO_TOKEN];
1073*fb1b10abSAndroid Build Coastguard Worker           const int neob = counts[i][j][k][l][EOB_MODEL_TOKEN];
1074*fb1b10abSAndroid Build Coastguard Worker           const unsigned int branch_ct[UNCONSTRAINED_NODES][2] = {
1075*fb1b10abSAndroid Build Coastguard Worker             { neob, eob_counts[i][j][k][l] - neob }, { n0, n1 + n2 }, { n1, n2 }
1076*fb1b10abSAndroid Build Coastguard Worker           };
1077*fb1b10abSAndroid Build Coastguard Worker           for (m = 0; m < UNCONSTRAINED_NODES; ++m)
1078*fb1b10abSAndroid Build Coastguard Worker             probs[i][j][k][l][m] =
1079*fb1b10abSAndroid Build Coastguard Worker                 merge_probs(pre_probs[i][j][k][l][m], branch_ct[m], count_sat,
1080*fb1b10abSAndroid Build Coastguard Worker                             update_factor);
1081*fb1b10abSAndroid Build Coastguard Worker         }
1082*fb1b10abSAndroid Build Coastguard Worker }
1083*fb1b10abSAndroid Build Coastguard Worker 
vp9_adapt_coef_probs(VP9_COMMON * cm)1084*fb1b10abSAndroid Build Coastguard Worker void vp9_adapt_coef_probs(VP9_COMMON *cm) {
1085*fb1b10abSAndroid Build Coastguard Worker   TX_SIZE t;
1086*fb1b10abSAndroid Build Coastguard Worker   unsigned int count_sat, update_factor;
1087*fb1b10abSAndroid Build Coastguard Worker 
1088*fb1b10abSAndroid Build Coastguard Worker   if (frame_is_intra_only(cm)) {
1089*fb1b10abSAndroid Build Coastguard Worker     update_factor = COEF_MAX_UPDATE_FACTOR_KEY;
1090*fb1b10abSAndroid Build Coastguard Worker     count_sat = COEF_COUNT_SAT_KEY;
1091*fb1b10abSAndroid Build Coastguard Worker   } else if (cm->last_frame_type == KEY_FRAME) {
1092*fb1b10abSAndroid Build Coastguard Worker     update_factor = COEF_MAX_UPDATE_FACTOR_AFTER_KEY; /* adapt quickly */
1093*fb1b10abSAndroid Build Coastguard Worker     count_sat = COEF_COUNT_SAT_AFTER_KEY;
1094*fb1b10abSAndroid Build Coastguard Worker   } else {
1095*fb1b10abSAndroid Build Coastguard Worker     update_factor = COEF_MAX_UPDATE_FACTOR;
1096*fb1b10abSAndroid Build Coastguard Worker     count_sat = COEF_COUNT_SAT;
1097*fb1b10abSAndroid Build Coastguard Worker   }
1098*fb1b10abSAndroid Build Coastguard Worker   for (t = TX_4X4; t <= TX_32X32; t++)
1099*fb1b10abSAndroid Build Coastguard Worker     adapt_coef_probs(cm, t, count_sat, update_factor);
1100*fb1b10abSAndroid Build Coastguard Worker }
1101