1bf215546Sopenharmony_ci/**************************************************************************
2bf215546Sopenharmony_ci *
3bf215546Sopenharmony_ci * Copyright 2018 Advanced Micro Devices, Inc.
4bf215546Sopenharmony_ci * All Rights Reserved.
5bf215546Sopenharmony_ci *
6bf215546Sopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a
7bf215546Sopenharmony_ci * copy of this software and associated documentation files (the
8bf215546Sopenharmony_ci * "Software"), to deal in the Software without restriction, including
9bf215546Sopenharmony_ci * without limitation the rights to use, copy, modify, merge, publish,
10bf215546Sopenharmony_ci * distribute, sub license, and/or sell copies of the Software, and to
11bf215546Sopenharmony_ci * permit persons to whom the Software is furnished to do so, subject to
12bf215546Sopenharmony_ci * the following conditions:
13bf215546Sopenharmony_ci *
14bf215546Sopenharmony_ci * The above copyright notice and this permission notice (including the
15bf215546Sopenharmony_ci * next paragraph) shall be included in all copies or substantial portions
16bf215546Sopenharmony_ci * of the Software.
17bf215546Sopenharmony_ci *
18bf215546Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19bf215546Sopenharmony_ci * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20bf215546Sopenharmony_ci * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21bf215546Sopenharmony_ci * IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR
22bf215546Sopenharmony_ci * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23bf215546Sopenharmony_ci * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24bf215546Sopenharmony_ci * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25bf215546Sopenharmony_ci *
26bf215546Sopenharmony_ci **************************************************************************/
27bf215546Sopenharmony_ci
28bf215546Sopenharmony_ci#ifndef vl_probs_table_h
29bf215546Sopenharmony_ci#define vl_probs_table_h
30bf215546Sopenharmony_ci
31bf215546Sopenharmony_cistatic const unsigned char default_coef_probs_4x4[2][2][6][6][3] = {
32bf215546Sopenharmony_ci   {  /* Y plane */
33bf215546Sopenharmony_ci      {  /* Intra */
34bf215546Sopenharmony_ci         {  /* Band 0 */
35bf215546Sopenharmony_ci            { 195,  29, 183 }, {  84,  49, 136 }, {   8,  42,  71 }
36bf215546Sopenharmony_ci         },
37bf215546Sopenharmony_ci         {  /* Band 1 */
38bf215546Sopenharmony_ci           {  31, 107, 169 }, {  35,  99, 159 }, {  17,  82, 140 },
39bf215546Sopenharmony_ci           {   8,  66, 114 }, {   2,  44,  76 }, {   1,  19,  32 }
40bf215546Sopenharmony_ci         },
41bf215546Sopenharmony_ci         {  /* Band 2 */
42bf215546Sopenharmony_ci           {  40, 132, 201 }, {  29, 114, 187 }, {  13,  91, 157 },
43bf215546Sopenharmony_ci           {   7,  75, 127 }, {   3,  58,  95 }, {   1,  28,  47 }
44bf215546Sopenharmony_ci         },
45bf215546Sopenharmony_ci         {  /* Band 3 */
46bf215546Sopenharmony_ci           {  69, 142, 221 }, {  42, 122, 201 }, {  15,  91, 159 },
47bf215546Sopenharmony_ci           {   6,  67, 121 }, {   1,  42,  77 }, {   1,  17,  31 }
48bf215546Sopenharmony_ci         },
49bf215546Sopenharmony_ci         {  /* Band 4 */
50bf215546Sopenharmony_ci           { 102, 148, 228 }, {  67, 117, 204 }, {  17,  82, 154 },
51bf215546Sopenharmony_ci           {   6,  59, 114 }, {   2,  39,  75 }, {   1,  15,  29 }
52bf215546Sopenharmony_ci         },
53bf215546Sopenharmony_ci         {  /* Band 5 */
54bf215546Sopenharmony_ci           { 156,  57, 233 }, { 119,  57, 212 }, {  58,  48, 163 },
55bf215546Sopenharmony_ci           {  29,  40, 124 }, {  12,  30,  81 }, {   3,  12,  31 }
56bf215546Sopenharmony_ci         }
57bf215546Sopenharmony_ci      },
58bf215546Sopenharmony_ci      {  /* Inter */
59bf215546Sopenharmony_ci         {  /* Band 0 */
60bf215546Sopenharmony_ci           { 191, 107, 226 }, { 124, 117, 204 }, {  25,  99, 155 }
61bf215546Sopenharmony_ci         },
62bf215546Sopenharmony_ci         {  /* Band 1 */
63bf215546Sopenharmony_ci           {  29, 148, 210 }, {  37, 126, 194 }, {   8,  93, 157 },
64bf215546Sopenharmony_ci           {   2,  68, 118 }, {   1,  39,  69 }, {   1,  17,  33 }
65bf215546Sopenharmony_ci         },
66bf215546Sopenharmony_ci         {  /* Band 2 */
67bf215546Sopenharmony_ci           {  41, 151, 213 }, {  27, 123, 193 }, {   3,  82, 144 },
68bf215546Sopenharmony_ci           {   1,  58, 105 }, {   1,  32,  60 }, {   1,  13,  26 }
69bf215546Sopenharmony_ci         },
70bf215546Sopenharmony_ci         {  /* Band 3 */
71bf215546Sopenharmony_ci           {  59, 159, 220 }, {  23, 126, 198 }, {   4,  88, 151 },
72bf215546Sopenharmony_ci           {   1,  66, 114 }, {   1,  38,  71 }, {   1,  18,  34 }
73bf215546Sopenharmony_ci         },
74bf215546Sopenharmony_ci         {  /* Band 4 */
75bf215546Sopenharmony_ci           { 114, 136, 232 }, {  51, 114, 207 }, {  11,  83, 155 },
76bf215546Sopenharmony_ci           {   3,  56, 105 }, {   1,  33,  65 }, {   1,  17,  34 }
77bf215546Sopenharmony_ci         },
78bf215546Sopenharmony_ci         {  /* Band 5 */
79bf215546Sopenharmony_ci           { 149,  65, 234 }, { 121,  57, 215 }, {  61,  49, 166 },
80bf215546Sopenharmony_ci           {  28,  36, 114 }, {  12,  25,  76 }, {   3,  16,  42 }
81bf215546Sopenharmony_ci         }
82bf215546Sopenharmony_ci      }
83bf215546Sopenharmony_ci   },
84bf215546Sopenharmony_ci   {  /* UV plane */
85bf215546Sopenharmony_ci      {  /* Intra */
86bf215546Sopenharmony_ci         {  /* Band 0 */
87bf215546Sopenharmony_ci            { 214,  49, 220 }, { 132,  63, 188 }, {  42,  65, 137 }
88bf215546Sopenharmony_ci         },
89bf215546Sopenharmony_ci         {  /* Band 1 */
90bf215546Sopenharmony_ci            {  85, 137, 221 }, { 104, 131, 216 }, {  49, 111, 192 },
91bf215546Sopenharmony_ci            {  21,  87, 155 }, {   2,  49,  87 }, {   1,  16,  28 }
92bf215546Sopenharmony_ci         },
93bf215546Sopenharmony_ci         {  /* Band 2 */
94bf215546Sopenharmony_ci            {  89, 163, 230 }, {  90, 137, 220 }, {  29, 100, 183 },
95bf215546Sopenharmony_ci            {  10,  70, 135 }, {   2,  42,  81 }, {   1,  17,  33 }
96bf215546Sopenharmony_ci         },
97bf215546Sopenharmony_ci         {  /* Band 3 */
98bf215546Sopenharmony_ci            { 108, 167, 237 }, {  55, 133, 222 }, {  15,  97, 179 },
99bf215546Sopenharmony_ci            {   4,  72, 135 }, {   1,  45,  85 }, {   1,  19,  38 }
100bf215546Sopenharmony_ci         },
101bf215546Sopenharmony_ci         {  /* Band 4 */
102bf215546Sopenharmony_ci            { 124, 146, 240 }, {  66, 124, 224 }, {  17,  88, 175 },
103bf215546Sopenharmony_ci            {   4,  58, 122 }, {   1,  36,  75 }, {   1,  18,  37 }
104bf215546Sopenharmony_ci         },
105bf215546Sopenharmony_ci         {  /*  Band 5 */
106bf215546Sopenharmony_ci            { 141,  79, 241 }, { 126,  70, 227 }, {  66,  58, 182 },
107bf215546Sopenharmony_ci            {  30,  44, 136 }, {  12,  34,  96 }, {   2,  20,  47 }
108bf215546Sopenharmony_ci         }
109bf215546Sopenharmony_ci      },
110bf215546Sopenharmony_ci      {  /* Inter */
111bf215546Sopenharmony_ci         {  /* Band 0 */
112bf215546Sopenharmony_ci            { 229,  99, 249 }, { 143, 111, 235 }, {  46, 109, 192 }
113bf215546Sopenharmony_ci         },
114bf215546Sopenharmony_ci         {  /* Band 1 */
115bf215546Sopenharmony_ci            {  82, 158, 236 }, {  94, 146, 224 }, {  25, 117, 191 },
116bf215546Sopenharmony_ci            {   9,  87, 149 }, {   3,  56,  99 }, {   1,  33,  57 }
117bf215546Sopenharmony_ci         },
118bf215546Sopenharmony_ci         {  /* Band 2 */
119bf215546Sopenharmony_ci            {  83, 167, 237 }, {  68, 145, 222 }, {  10, 103, 177 },
120bf215546Sopenharmony_ci            {   2,  72, 131 }, {   1,  41,  79 }, {   1,  20,  39 }
121bf215546Sopenharmony_ci         },
122bf215546Sopenharmony_ci         {  /* Band 3 */
123bf215546Sopenharmony_ci            {  99, 167, 239 }, {  47, 141, 224 }, {  10, 104, 178 },
124bf215546Sopenharmony_ci            {   2,  73, 133 }, {   1,  44,  85 }, {   1,  22,  47 }
125bf215546Sopenharmony_ci         },
126bf215546Sopenharmony_ci         {  /* Band 4 */
127bf215546Sopenharmony_ci            { 127, 145, 243 }, {  71, 129, 228 }, {  17,  93, 177 },
128bf215546Sopenharmony_ci            {   3,  61, 124 }, {   1,  41,  84 }, {   1,  21,  52 }
129bf215546Sopenharmony_ci         },
130bf215546Sopenharmony_ci         {  /* Band 5 */
131bf215546Sopenharmony_ci            { 157,  78, 244 }, { 140,  72, 231 }, {  69,  58, 184 },
132bf215546Sopenharmony_ci            {  31,  44, 137 }, {  14,  38, 105 }, {   8,  23,  61 }
133bf215546Sopenharmony_ci         }
134bf215546Sopenharmony_ci      }
135bf215546Sopenharmony_ci   }
136bf215546Sopenharmony_ci};
137bf215546Sopenharmony_ci
138bf215546Sopenharmony_cistatic const unsigned char default_coef_probs_8x8[2][2][6][6][3] = {
139bf215546Sopenharmony_ci   {  /* Y plane */
140bf215546Sopenharmony_ci      {  /* Intra */
141bf215546Sopenharmony_ci         {  /* Band 0 */
142bf215546Sopenharmony_ci            { 125,  34, 187 }, {  52,  41, 133 }, {   6,  31,  56 }
143bf215546Sopenharmony_ci         },
144bf215546Sopenharmony_ci         {  /* Band 1 */
145bf215546Sopenharmony_ci            {  37, 109, 153 }, {  51, 102, 147 }, {  23,  87, 128 },
146bf215546Sopenharmony_ci            {   8,  67, 101 }, {   1,  41,  63 }, {   1,  19,  29 }
147bf215546Sopenharmony_ci         },
148bf215546Sopenharmony_ci         {  /* Band 2 */
149bf215546Sopenharmony_ci            {  31, 154, 185 }, {  17, 127, 175 }, {   6,  96, 145 },
150bf215546Sopenharmony_ci            {   2,  73, 114 }, {   1,  51,  82 }, {   1,  28,  45 }
151bf215546Sopenharmony_ci         },
152bf215546Sopenharmony_ci         {  /* Band 3 */
153bf215546Sopenharmony_ci            {  23, 163, 200 }, {  10, 131, 185 }, {   2,  93, 148 },
154bf215546Sopenharmony_ci            {   1,  67, 111 }, {   1,  41,  69 }, {   1,  14,  24 }
155bf215546Sopenharmony_ci         },
156bf215546Sopenharmony_ci         {  /* Band 4 */
157bf215546Sopenharmony_ci            {  29, 176, 217 }, {  12, 145, 201 }, {   3, 101, 156 },
158bf215546Sopenharmony_ci            {   1,  69, 111 }, {   1,  39,  63 }, {   1,  14,  23 }
159bf215546Sopenharmony_ci         },
160bf215546Sopenharmony_ci         {  /* Band 5 */
161bf215546Sopenharmony_ci            {  57, 192, 233 }, {  25, 154, 215 }, {   6, 109, 167 },
162bf215546Sopenharmony_ci            {   3,  78, 118 }, {   1,  48,  69 }, {   1,  21,  29 }
163bf215546Sopenharmony_ci         }
164bf215546Sopenharmony_ci      },
165bf215546Sopenharmony_ci      {  /* Inter */
166bf215546Sopenharmony_ci         {  /* Band 0 */
167bf215546Sopenharmony_ci            { 202, 105, 245 }, { 108, 106, 216 }, {  18,  90, 144 }
168bf215546Sopenharmony_ci         },
169bf215546Sopenharmony_ci         {  /* Band 1 */
170bf215546Sopenharmony_ci            {  33, 172, 219 }, {  64, 149, 206 }, {  14, 117, 177 },
171bf215546Sopenharmony_ci            {   5,  90, 141 }, {   2,  61,  95 }, {   1,  37,  57 }
172bf215546Sopenharmony_ci         },
173bf215546Sopenharmony_ci         {  /* Band 2 */
174bf215546Sopenharmony_ci            {  33, 179, 220 }, {  11, 140, 198 }, {   1,  89, 148 },
175bf215546Sopenharmony_ci            {   1,  60, 104 }, {   1,  33,  57 }, {   1,  12,  21 }
176bf215546Sopenharmony_ci         },
177bf215546Sopenharmony_ci         {  /* Band 3 */
178bf215546Sopenharmony_ci            {  30, 181, 221 }, {   8, 141, 198 }, {   1,  87, 145 },
179bf215546Sopenharmony_ci            {   1,  58, 100 }, {   1,  31,  55 }, {   1,  12,  20 }
180bf215546Sopenharmony_ci         },
181bf215546Sopenharmony_ci         {  /* Band 4 */
182bf215546Sopenharmony_ci            {  32, 186, 224 }, {   7, 142, 198 }, {   1,  86, 143 },
183bf215546Sopenharmony_ci            {   1,  58, 100 }, {   1,  31,  55 }, {   1,  12,  22 }
184bf215546Sopenharmony_ci         },
185bf215546Sopenharmony_ci         {  /* Band 5 */
186bf215546Sopenharmony_ci            {  57, 192, 227 }, {  20, 143, 204 }, {   3,  96, 154 },
187bf215546Sopenharmony_ci            {   1,  68, 112 }, {   1,  42,  69 }, {   1,  19,  32 }
188bf215546Sopenharmony_ci         }
189bf215546Sopenharmony_ci      }
190bf215546Sopenharmony_ci   },
191bf215546Sopenharmony_ci   {  /* UV plane */
192bf215546Sopenharmony_ci      {  /* Intra */
193bf215546Sopenharmony_ci         {  /* Band 0 */
194bf215546Sopenharmony_ci            { 212,  35, 215 }, { 113,  47, 169 }, {  29,  48, 105 }
195bf215546Sopenharmony_ci         },
196bf215546Sopenharmony_ci         {  /* Band 1 */
197bf215546Sopenharmony_ci            {  74, 129, 203 }, { 106, 120, 203 }, {  49, 107, 178 },
198bf215546Sopenharmony_ci            {  19,  84, 144 }, {   4,  50,  84 }, {   1,  15,  25 }
199bf215546Sopenharmony_ci         },
200bf215546Sopenharmony_ci         {  /* Band 2 */
201bf215546Sopenharmony_ci            {  71, 172, 217 }, {  44, 141, 209 }, {  15, 102, 173 },
202bf215546Sopenharmony_ci            {   6,  76, 133 }, {   2,  51,  89 }, {   1,  24,  42 }
203bf215546Sopenharmony_ci         },
204bf215546Sopenharmony_ci         {  /* Band 3 */
205bf215546Sopenharmony_ci            {  64, 185, 231 }, {  31, 148, 216 }, {   8, 103, 175 },
206bf215546Sopenharmony_ci            {   3,  74, 131 }, {   1,  46,  81 }, {   1,  18,  30 }
207bf215546Sopenharmony_ci         },
208bf215546Sopenharmony_ci         {  /* Band 4 */
209bf215546Sopenharmony_ci            {  65, 196, 235 }, {  25, 157, 221 }, {   5, 105, 174 },
210bf215546Sopenharmony_ci            {   1,  67, 120 }, {   1,  38,  69 }, {   1,  15,  30 }
211bf215546Sopenharmony_ci         },
212bf215546Sopenharmony_ci         {  /* Band 5 */
213bf215546Sopenharmony_ci            {  65, 204, 238 }, {  30, 156, 224 }, {   7, 107, 177 },
214bf215546Sopenharmony_ci            {   2,  70, 124 }, {   1,  42,  73 }, {   1,  18,  34 }
215bf215546Sopenharmony_ci         }
216bf215546Sopenharmony_ci      },
217bf215546Sopenharmony_ci      {  /* Inter */
218bf215546Sopenharmony_ci         {  /* Band 0 */
219bf215546Sopenharmony_ci            { 225,  86, 251 }, { 144, 104, 235 }, {  42,  99, 181 }
220bf215546Sopenharmony_ci         },
221bf215546Sopenharmony_ci         {  /* Band 1 */
222bf215546Sopenharmony_ci            {  85, 175, 239 }, { 112, 165, 229 }, {  29, 136, 200 },
223bf215546Sopenharmony_ci            {  12, 103, 162 }, {   6,  77, 123 }, {   2,  53,  84 }
224bf215546Sopenharmony_ci         },
225bf215546Sopenharmony_ci         {  /* Band 2 */
226bf215546Sopenharmony_ci            {  75, 183, 239 }, {  30, 155, 221 }, {   3, 106, 171 },
227bf215546Sopenharmony_ci            {   1,  74, 128 }, {   1,  44,  76 }, {   1,  17,  28 }
228bf215546Sopenharmony_ci         },
229bf215546Sopenharmony_ci         {  /* Band 3 */
230bf215546Sopenharmony_ci            {  73, 185, 240 }, {  27, 159, 222 }, {   2, 107, 172 },
231bf215546Sopenharmony_ci            {   1,  75, 127 }, {   1,  42,  73 }, {   1,  17,  29 }
232bf215546Sopenharmony_ci         },
233bf215546Sopenharmony_ci         {  /* Band 4 */
234bf215546Sopenharmony_ci            {  62, 190, 238 }, {  21, 159, 222 }, {   2, 107, 172 },
235bf215546Sopenharmony_ci            {   1,  72, 122 }, {   1,  40,  71 }, {   1,  18,  32 }
236bf215546Sopenharmony_ci         },
237bf215546Sopenharmony_ci         {  /* Band 5 */
238bf215546Sopenharmony_ci            {  61, 199, 240 }, {  27, 161, 226 }, {   4, 113, 180 },
239bf215546Sopenharmony_ci            {   1,  76, 129 }, {   1,  46,  80 }, {   1,  23,  41 }
240bf215546Sopenharmony_ci         }
241bf215546Sopenharmony_ci      }
242bf215546Sopenharmony_ci   }
243bf215546Sopenharmony_ci};
244bf215546Sopenharmony_ci
245bf215546Sopenharmony_cistatic const unsigned char default_coef_probs_16x16[2][2][6][6][3] = {
246bf215546Sopenharmony_ci   {  /* Y plane */
247bf215546Sopenharmony_ci      {  /* Intra */
248bf215546Sopenharmony_ci         {  /* Band 0 */
249bf215546Sopenharmony_ci            {   7,  27, 153 }, {   5,  30,  95 }, {   1,  16,  30 }
250bf215546Sopenharmony_ci         },
251bf215546Sopenharmony_ci         {  /* Band 1 */
252bf215546Sopenharmony_ci            {  50,  75, 127 }, {  57,  75, 124 }, {  27,  67, 108 },
253bf215546Sopenharmony_ci            {  10,  54,  86 }, {   1,  33,  52 }, {   1,  12,  18 }
254bf215546Sopenharmony_ci         },
255bf215546Sopenharmony_ci         {  /* Band 2 */
256bf215546Sopenharmony_ci            {  43, 125, 151 }, {  26, 108, 148 }, {   7,  83, 122 },
257bf215546Sopenharmony_ci            {   2,  59,  89 }, {   1,  38,  60 }, {   1,  17,  27 }
258bf215546Sopenharmony_ci         },
259bf215546Sopenharmony_ci         {  /* Band 3 */
260bf215546Sopenharmony_ci            {  23, 144, 163 }, {  13, 112, 154 }, {   2,  75, 117 },
261bf215546Sopenharmony_ci            {   1,  50,  81 }, {   1,  31,  51 }, {   1,  14,  23 }
262bf215546Sopenharmony_ci         },
263bf215546Sopenharmony_ci         {  /* Band 4 */
264bf215546Sopenharmony_ci            {  18, 162, 185 }, {   6, 123, 171 }, {   1,  78, 125 },
265bf215546Sopenharmony_ci            {   1,  51,  86 }, {   1,  31,  54 }, {   1,  14,  23 }
266bf215546Sopenharmony_ci         },
267bf215546Sopenharmony_ci         {  /* Band 5 */
268bf215546Sopenharmony_ci            {  15, 199, 227 }, {   3, 150, 204 }, {   1,  91, 146 },
269bf215546Sopenharmony_ci            {   1,  55,  95 }, {   1,  30,  53 }, {   1,  11,  20 }
270bf215546Sopenharmony_ci         }
271bf215546Sopenharmony_ci      },
272bf215546Sopenharmony_ci      {  /* Inter */
273bf215546Sopenharmony_ci         {  /* Band 0 */
274bf215546Sopenharmony_ci            {  19,  55, 240 }, {  19,  59, 196 }, {   3,  52, 105 }
275bf215546Sopenharmony_ci         },
276bf215546Sopenharmony_ci         {  /* Band 1 */
277bf215546Sopenharmony_ci            {  41, 166, 207 }, { 104, 153, 199 }, {  31, 123, 181 },
278bf215546Sopenharmony_ci            {  14, 101, 152 }, {   5,  72, 106 }, {   1,  36,  52 }
279bf215546Sopenharmony_ci         },
280bf215546Sopenharmony_ci         {  /* Band 2 */
281bf215546Sopenharmony_ci            {  35, 176, 211 }, {  12, 131, 190 }, {   2,  88, 144 },
282bf215546Sopenharmony_ci            {   1,  60, 101 }, {   1,  36,  60 }, {   1,  16,  28 }
283bf215546Sopenharmony_ci         },
284bf215546Sopenharmony_ci         {  /* Band 3 */
285bf215546Sopenharmony_ci            {  28, 183, 213 }, {   8, 134, 191 }, {   1,  86, 142 },
286bf215546Sopenharmony_ci            {   1,  56,  96 }, {   1,  30,  53 }, {   1,  12,  20 }
287bf215546Sopenharmony_ci         },
288bf215546Sopenharmony_ci         {  /* Band 4 */
289bf215546Sopenharmony_ci            {  20, 190, 215 }, {   4, 135, 192 }, {   1,  84, 139 },
290bf215546Sopenharmony_ci            {   1,  53,  91 }, {   1,  28,  49 }, {   1,  11,  20 }
291bf215546Sopenharmony_ci         },
292bf215546Sopenharmony_ci         {  /* Band 5 */
293bf215546Sopenharmony_ci            {  13, 196, 216 }, {   2, 137, 192 }, {   1,  86, 143 },
294bf215546Sopenharmony_ci            {   1,  57,  99 }, {   1,  32,  56 }, {   1,  13,  24 }
295bf215546Sopenharmony_ci         }
296bf215546Sopenharmony_ci      }
297bf215546Sopenharmony_ci   },
298bf215546Sopenharmony_ci   {  /* UV plane */
299bf215546Sopenharmony_ci      {  /* Intra */
300bf215546Sopenharmony_ci         {  /* Band 0 */
301bf215546Sopenharmony_ci            { 211,  29, 217 }, {  96,  47, 156 }, {  22,  43,  87 }
302bf215546Sopenharmony_ci         },
303bf215546Sopenharmony_ci         {  /* Band 1 */
304bf215546Sopenharmony_ci            {  78, 120, 193 }, { 111, 116, 186 }, {  46, 102, 164 },
305bf215546Sopenharmony_ci            {  15,  80, 128 }, {   2,  49,  76 }, {   1,  18,  28 }
306bf215546Sopenharmony_ci         },
307bf215546Sopenharmony_ci         {  /* Band 2 */
308bf215546Sopenharmony_ci            {  71, 161, 203 }, {  42, 132, 192 }, {  10,  98, 150 },
309bf215546Sopenharmony_ci            {   3,  69, 109 }, {   1,  44,  70 }, {   1,  18,  29 }
310bf215546Sopenharmony_ci         },
311bf215546Sopenharmony_ci         {  /* Band 3 */
312bf215546Sopenharmony_ci            {  57, 186, 211 }, {  30, 140, 196 }, {   4,  93, 146 },
313bf215546Sopenharmony_ci            {   1,  62, 102 }, {   1,  38,  65 }, {   1,  16,  27 }
314bf215546Sopenharmony_ci         },
315bf215546Sopenharmony_ci         {  /* Band 4 */
316bf215546Sopenharmony_ci            {  47, 199, 217 }, {  14, 145, 196 }, {   1,  88, 142 },
317bf215546Sopenharmony_ci            {   1,  57,  98 }, {   1,  36,  62 }, {   1,  15,  26 }
318bf215546Sopenharmony_ci         },
319bf215546Sopenharmony_ci         {  /* Band 5 */
320bf215546Sopenharmony_ci            {  26, 219, 229 }, {   5, 155, 207 }, {   1,  94, 151 },
321bf215546Sopenharmony_ci            {   1,  60, 104 }, {   1,  36,  62 }, {   1,  16,  28 }
322bf215546Sopenharmony_ci         }
323bf215546Sopenharmony_ci      },
324bf215546Sopenharmony_ci      {  /* Inter */
325bf215546Sopenharmony_ci         {  /* Band 0 */
326bf215546Sopenharmony_ci            { 233,  29, 248 }, { 146,  47, 220 }, {  43,  52, 140 }
327bf215546Sopenharmony_ci         },
328bf215546Sopenharmony_ci         {  /* Band 1 */
329bf215546Sopenharmony_ci            { 100, 163, 232 }, { 179, 161, 222 }, {  63, 142, 204 },
330bf215546Sopenharmony_ci            {  37, 113, 174 }, {  26,  89, 137 }, {  18,  68,  97 }
331bf215546Sopenharmony_ci         },
332bf215546Sopenharmony_ci         {  /* Band 2 */
333bf215546Sopenharmony_ci            {  85, 181, 230 }, {  32, 146, 209 }, {   7, 100, 164 },
334bf215546Sopenharmony_ci            {   3,  71, 121 }, {   1,  45,  77 }, {   1,  18,  30 }
335bf215546Sopenharmony_ci         },
336bf215546Sopenharmony_ci         {  /* Band 3 */
337bf215546Sopenharmony_ci            {  65, 187, 230 }, {  20, 148, 207 }, {   2,  97, 159 },
338bf215546Sopenharmony_ci            {   1,  68, 116 }, {   1,  40,  70 }, {   1,  14,  29 }
339bf215546Sopenharmony_ci         },
340bf215546Sopenharmony_ci         {  /* Band 4 */
341bf215546Sopenharmony_ci            {  40, 194, 227 }, {   8, 147, 204 }, {   1,  94, 155 },
342bf215546Sopenharmony_ci            {   1,  65, 112 }, {   1,  39,  66 }, {   1,  14,  26 }
343bf215546Sopenharmony_ci         },
344bf215546Sopenharmony_ci         {  /* Band 5 */
345bf215546Sopenharmony_ci            {  16, 208, 228 }, {   3, 151, 207 }, {   1,  98, 160 },
346bf215546Sopenharmony_ci            {   1,  67, 117 }, {   1,  41,  74 }, {   1,  17,  31 }
347bf215546Sopenharmony_ci         }
348bf215546Sopenharmony_ci      }
349bf215546Sopenharmony_ci   }
350bf215546Sopenharmony_ci};
351bf215546Sopenharmony_ci
352bf215546Sopenharmony_cistatic const unsigned char default_coef_probs_32x32[2][2][6][6][3] = {
353bf215546Sopenharmony_ci   {  /* Y plane */
354bf215546Sopenharmony_ci      {  /* Intra */
355bf215546Sopenharmony_ci         {  /* Band 0 */
356bf215546Sopenharmony_ci            {  17,  38, 140 }, {   7,  34,  80 }, {   1,  17,  29 }
357bf215546Sopenharmony_ci         },
358bf215546Sopenharmony_ci         {  /* Band 1 */
359bf215546Sopenharmony_ci            {  37,  75, 128 }, {  41,  76, 128 }, {  26,  66, 116 },
360bf215546Sopenharmony_ci            {  12,  52,  94 }, {   2,  32,  55 }, {   1,  10,  16 }
361bf215546Sopenharmony_ci         },
362bf215546Sopenharmony_ci         {  /* Band 2 */
363bf215546Sopenharmony_ci            {  50, 127, 154 }, {  37, 109, 152 }, {  16,  82, 121 },
364bf215546Sopenharmony_ci            {   5,  59,  85 }, {   1,  35,  54 }, {   1,  13,  20 }
365bf215546Sopenharmony_ci         },
366bf215546Sopenharmony_ci         {  /* Band 3 */
367bf215546Sopenharmony_ci            {  40, 142, 167 }, {  17, 110, 157 }, {   2,  71, 112 },
368bf215546Sopenharmony_ci            {   1,  44,  72 }, {   1,  27,  45 }, {   1,  11,  17 }
369bf215546Sopenharmony_ci         },
370bf215546Sopenharmony_ci         {  /* Band 4 */
371bf215546Sopenharmony_ci            {  30, 175, 188 }, {   9, 124, 169 }, {   1,  74, 116 },
372bf215546Sopenharmony_ci            {   1,  48,  78 }, {   1,  30,  49 }, {   1,  11,  18 }
373bf215546Sopenharmony_ci         },
374bf215546Sopenharmony_ci         {  /* Band 5 */
375bf215546Sopenharmony_ci            {  10, 222, 223 }, {   2, 150, 194 }, {   1,  83, 128 },
376bf215546Sopenharmony_ci            {   1,  48,  79 }, {   1,  27,  45 }, {   1,  11,  17 }
377bf215546Sopenharmony_ci         }
378bf215546Sopenharmony_ci      },
379bf215546Sopenharmony_ci      {  /* Inter */
380bf215546Sopenharmony_ci         {  /* Band 0 */
381bf215546Sopenharmony_ci            {  36,  41, 235 }, {  29,  36, 193 }, {  10,  27, 111 }
382bf215546Sopenharmony_ci         },
383bf215546Sopenharmony_ci         {  /* Band 1 */
384bf215546Sopenharmony_ci            {  85, 165, 222 }, { 177, 162, 215 }, { 110, 135, 195 },
385bf215546Sopenharmony_ci            {  57, 113, 168 }, {  23,  83, 120 }, {  10,  49,  61 }
386bf215546Sopenharmony_ci         },
387bf215546Sopenharmony_ci         {  /* Band 2 */
388bf215546Sopenharmony_ci            {  85, 190, 223 }, {  36, 139, 200 }, {   5,  90, 146 },
389bf215546Sopenharmony_ci            {   1,  60, 103 }, {   1,  38,  65 }, {   1,  18,  30 }
390bf215546Sopenharmony_ci         },
391bf215546Sopenharmony_ci         {  /* Band 3 */
392bf215546Sopenharmony_ci            {  72, 202, 223 }, {  23, 141, 199 }, {   2,  86, 140 },
393bf215546Sopenharmony_ci            {   1,  56,  97 }, {   1,  36,  61 }, {   1,  16,  27 }
394bf215546Sopenharmony_ci         },
395bf215546Sopenharmony_ci         {  /* Band 4 */
396bf215546Sopenharmony_ci            {  55, 218, 225 }, {  13, 145, 200 }, {   1,  86, 141 },
397bf215546Sopenharmony_ci            {   1,  57,  99 }, {   1,  35,  61 }, {   1,  13,  22 }
398bf215546Sopenharmony_ci         },
399bf215546Sopenharmony_ci         {  /* Band 5 */
400bf215546Sopenharmony_ci            {  15, 235, 212 }, {   1, 132, 184 }, {   1,  84, 139 },
401bf215546Sopenharmony_ci            {   1,  57,  97 }, {   1,  34,  56 }, {   1,  14,  23 }
402bf215546Sopenharmony_ci         }
403bf215546Sopenharmony_ci      }
404bf215546Sopenharmony_ci   },
405bf215546Sopenharmony_ci   {  /* UV plane */
406bf215546Sopenharmony_ci      {  /* Intra */
407bf215546Sopenharmony_ci         {  /* Band 0 */
408bf215546Sopenharmony_ci            { 181,  21, 201 }, {  61,  37, 123 }, {  10,  38,  71 }
409bf215546Sopenharmony_ci         },
410bf215546Sopenharmony_ci         {  /* Band 1 */
411bf215546Sopenharmony_ci            {  47, 106, 172 }, {  95, 104, 173 }, {  42,  93, 159 },
412bf215546Sopenharmony_ci            {  18,  77, 131 }, {   4,  50,  81 }, {   1,  17,  23 }
413bf215546Sopenharmony_ci         },
414bf215546Sopenharmony_ci         {  /* Band 2 */
415bf215546Sopenharmony_ci            {  62, 147, 199 }, {  44, 130, 189 }, {  28, 102, 154 },
416bf215546Sopenharmony_ci            {  18,  75, 115 }, {   2,  44,  65 }, {   1,  12,  19 }
417bf215546Sopenharmony_ci         },
418bf215546Sopenharmony_ci         {  /* Band 3 */
419bf215546Sopenharmony_ci            {  55, 153, 210 }, {  24, 130, 194 }, {   3,  93, 146 },
420bf215546Sopenharmony_ci            {   1,  61,  97 }, {   1,  31,  50 }, {   1,  10,  16 }
421bf215546Sopenharmony_ci         },
422bf215546Sopenharmony_ci         {  /* Band 4 */
423bf215546Sopenharmony_ci            {  49, 186, 223 }, {  17, 148, 204 }, {   1,  96, 142 },
424bf215546Sopenharmony_ci            {   1,  53,  83 }, {   1,  26,  44 }, {   1,  11,  17 }
425bf215546Sopenharmony_ci         },
426bf215546Sopenharmony_ci         {  /* Band 5 */
427bf215546Sopenharmony_ci            {  13, 217, 212 }, {   2, 136, 180 }, {   1,  78, 124 },
428bf215546Sopenharmony_ci            {   1,  50,  83 }, {   1,  29,  49 }, {   1,  14,  23 }
429bf215546Sopenharmony_ci         }
430bf215546Sopenharmony_ci      },
431bf215546Sopenharmony_ci      {  /* Inter */
432bf215546Sopenharmony_ci         {  /* Band 0 */
433bf215546Sopenharmony_ci            { 197,  13, 247 }, {  82,  17, 222 }, {  25,  17, 162 }
434bf215546Sopenharmony_ci         },
435bf215546Sopenharmony_ci         {  /* Band 1 */
436bf215546Sopenharmony_ci            { 126, 186, 247 }, { 234, 191, 243 }, { 176, 177, 234 },
437bf215546Sopenharmony_ci            { 104, 158, 220 }, {  66, 128, 186 }, {  55,  90, 137 }
438bf215546Sopenharmony_ci         },
439bf215546Sopenharmony_ci         {  /* Band 2 */
440bf215546Sopenharmony_ci            { 111, 197, 242 }, {  46, 158, 219 }, {   9, 104, 171 },
441bf215546Sopenharmony_ci            {   2,  65, 125 }, {   1,  44,  80 }, {   1,  17,  91 }
442bf215546Sopenharmony_ci         },
443bf215546Sopenharmony_ci         {  /* Band 3 */
444bf215546Sopenharmony_ci            { 104, 208, 245 }, {  39, 168, 224 }, {   3, 109, 162 },
445bf215546Sopenharmony_ci            {   1,  79, 124 }, {   1,  50, 102 }, {   1,  43, 102 }
446bf215546Sopenharmony_ci         },
447bf215546Sopenharmony_ci         {  /* Band 4 */
448bf215546Sopenharmony_ci            {  84, 220, 246 }, {  31, 177, 231 }, {   2, 115, 180 },
449bf215546Sopenharmony_ci            {   1,  79, 134 }, {   1,  55,  77 }, {   1,  60,  79 }
450bf215546Sopenharmony_ci         },
451bf215546Sopenharmony_ci         {  /* Band 5 */
452bf215546Sopenharmony_ci            {  43, 243, 240 }, {   8, 180, 217 }, {   1, 115, 166 },
453bf215546Sopenharmony_ci            {   1,  84, 121 }, {   1,  51,  67 }, {   1,  16,   6 }
454bf215546Sopenharmony_ci         }
455bf215546Sopenharmony_ci      }
456bf215546Sopenharmony_ci   }
457bf215546Sopenharmony_ci};
458bf215546Sopenharmony_ci
459bf215546Sopenharmony_cistatic const unsigned char default_if_y_probs[4][9] = {
460bf215546Sopenharmony_ci   {  65,  32,  18, 144, 162, 194,  41,  51,  98 },  /* block_size < 8x8 */
461bf215546Sopenharmony_ci   { 132,  68,  18, 165, 217, 196,  45,  40,  78 },  /* block_size < 16x16 */
462bf215546Sopenharmony_ci   { 173,  80,  19, 176, 240, 193,  64,  35,  46 },  /* block_size < 32x32 */
463bf215546Sopenharmony_ci   { 221, 135,  38, 194, 248, 121,  96,  85,  29 }   /* block_size >= 32x32 */
464bf215546Sopenharmony_ci};
465bf215546Sopenharmony_ci
466bf215546Sopenharmony_cistatic const unsigned char default_if_uv_probs[10][9] = {
467bf215546Sopenharmony_ci   { 120,   7,  76, 176, 208, 126,  28,  54, 103 },  /* y = dc */
468bf215546Sopenharmony_ci   {  48,  12, 154, 155, 139,  90,  34, 117, 119 },  /* y = v */
469bf215546Sopenharmony_ci   {  67,   6,  25, 204, 243, 158,  13,  21,  96 },  /* y = h */
470bf215546Sopenharmony_ci   {  97,   5,  44, 131, 176, 139,  48,  68,  97 },  /* y = d45 */
471bf215546Sopenharmony_ci   {  83,   5,  42, 156, 111, 152,  26,  49, 152 },  /* y = d135 */
472bf215546Sopenharmony_ci   {  80,   5,  58, 178,  74,  83,  33,  62, 145 },  /* y = d117 */
473bf215546Sopenharmony_ci   {  86,   5,  32, 154, 192, 168,  14,  22, 163 },  /* y = d153 */
474bf215546Sopenharmony_ci   {  85,   5,  32, 156, 216, 148,  19,  29,  73 },  /* y = d207 */
475bf215546Sopenharmony_ci   {  77,   7,  64, 116, 132, 122,  37, 126, 120 },  /* y = d63 */
476bf215546Sopenharmony_ci   { 101,  21, 107, 181, 192, 103,  19,  67, 125 }   /* y = tm */
477bf215546Sopenharmony_ci};
478bf215546Sopenharmony_ci
479bf215546Sopenharmony_cistatic const unsigned char default_single_ref_p[5][2] = {
480bf215546Sopenharmony_ci   {  33,  16 },
481bf215546Sopenharmony_ci   {  77,  74 },
482bf215546Sopenharmony_ci   { 142, 142 },
483bf215546Sopenharmony_ci   { 172, 170 },
484bf215546Sopenharmony_ci   { 238, 247 }
485bf215546Sopenharmony_ci};
486bf215546Sopenharmony_ci
487bf215546Sopenharmony_cistatic const unsigned char  default_switchable_interp_prob[4][2] = {
488bf215546Sopenharmony_ci   { 235, 162, },
489bf215546Sopenharmony_ci   { 36, 255, },
490bf215546Sopenharmony_ci   { 34, 3, },
491bf215546Sopenharmony_ci   { 149, 144, },
492bf215546Sopenharmony_ci};
493bf215546Sopenharmony_ci
494bf215546Sopenharmony_cistatic const unsigned char default_partition_probs[16][3] = {
495bf215546Sopenharmony_ci   /* 8x8 -> 4x4 */
496bf215546Sopenharmony_ci   { 199, 122, 141 },  /* a/l both not split */
497bf215546Sopenharmony_ci   { 147,  63, 159 },  /* a split, l not split */
498bf215546Sopenharmony_ci   { 148, 133, 118 },  /* l split, a not split */
499bf215546Sopenharmony_ci   { 121, 104, 114 },  /* a/l both split */
500bf215546Sopenharmony_ci   /* 16x16 -> 8x8 */
501bf215546Sopenharmony_ci   { 174,  73,  87 },  /* a/l both not split */
502bf215546Sopenharmony_ci   {  92,  41,  83 },  /* a split, l not split */
503bf215546Sopenharmony_ci   {  82,  99,  50 },  /* l split, a not split */
504bf215546Sopenharmony_ci   {  53,  39,  39 },  /* a/l both split */
505bf215546Sopenharmony_ci   /* 32x32 -> 16x16 */
506bf215546Sopenharmony_ci   { 177,  58,  59 },  /* a/l both not split */
507bf215546Sopenharmony_ci   {  68,  26,  63 },  /* a split, l not split */
508bf215546Sopenharmony_ci   {  52,  79,  25 },  /* l split, a not split */
509bf215546Sopenharmony_ci   {  17,  14,  12 },  /* a/l both split */
510bf215546Sopenharmony_ci   /* 64x64 -> 32x32 */
511bf215546Sopenharmony_ci   { 222,  34,  30 },  /* a/l both not split */
512bf215546Sopenharmony_ci   {  72,  16,  44 },  /* a split, l not split */
513bf215546Sopenharmony_ci   {  58,  32,  12 },  /* l split, a not split */
514bf215546Sopenharmony_ci   {  10,   7,   6 },  /* a/l both split */
515bf215546Sopenharmony_ci};
516bf215546Sopenharmony_ci
517bf215546Sopenharmony_cistatic const unsigned char default_inter_mode_probs[7][3] = {
518bf215546Sopenharmony_ci   {2,       173,   34},  /* 0 = both zero mv */
519bf215546Sopenharmony_ci   {7,       145,   85},  /* 1 = one zero mv + one a predicted mv */
520bf215546Sopenharmony_ci   {7,       166,   63},  /* 2 = two predicted mvs */
521bf215546Sopenharmony_ci   {7,       94,    66},  /* 3 = one predicted/zero and one new mv */
522bf215546Sopenharmony_ci   {8,       64,    46},  /* 4 = two new mvs */
523bf215546Sopenharmony_ci   {17,      81,    31},  /* 5 = one intra neighbour + x */
524bf215546Sopenharmony_ci   {25,      29,    30},  /* 6 = two intra neighbours */
525bf215546Sopenharmony_ci};
526bf215546Sopenharmony_ci
527bf215546Sopenharmony_cistatic const unsigned char default_skip_probs[3] = {
528bf215546Sopenharmony_ci   192, 128, 64
529bf215546Sopenharmony_ci};
530bf215546Sopenharmony_ci
531bf215546Sopenharmony_cistatic const unsigned char default_intra_inter_p[4] = {
532bf215546Sopenharmony_ci   9, 102, 187, 225
533bf215546Sopenharmony_ci};
534bf215546Sopenharmony_ci
535bf215546Sopenharmony_cistatic const unsigned char default_comp_inter_p[5] = {
536bf215546Sopenharmony_ci   239, 183, 119,  96,  41
537bf215546Sopenharmony_ci};
538bf215546Sopenharmony_ci
539bf215546Sopenharmony_cistatic const unsigned char default_comp_ref_p[5] = {
540bf215546Sopenharmony_ci   50, 126, 123, 221, 226
541bf215546Sopenharmony_ci};
542bf215546Sopenharmony_ci
543bf215546Sopenharmony_cistatic const unsigned char default_tx_probs_32x32[2][3] = {
544bf215546Sopenharmony_ci   { 3, 136, 37 },
545bf215546Sopenharmony_ci   { 5, 52,  13 }
546bf215546Sopenharmony_ci};
547bf215546Sopenharmony_ci
548bf215546Sopenharmony_cistatic const unsigned char default_tx_probs_16x16[2][2] = {
549bf215546Sopenharmony_ci   { 20, 152 },
550bf215546Sopenharmony_ci   { 15, 101 }
551bf215546Sopenharmony_ci};
552bf215546Sopenharmony_ci
553bf215546Sopenharmony_cistatic const unsigned char default_tx_probs_8x8[2][1] = {
554bf215546Sopenharmony_ci   { 100 },
555bf215546Sopenharmony_ci   { 66  }
556bf215546Sopenharmony_ci};
557bf215546Sopenharmony_ci
558bf215546Sopenharmony_cistatic const unsigned char default_nmv_joints[3] = {
559bf215546Sopenharmony_ci   32, 64, 96
560bf215546Sopenharmony_ci};
561bf215546Sopenharmony_ci
562bf215546Sopenharmony_cistatic const unsigned char default_nmv_components[2][33] = {
563bf215546Sopenharmony_ci   {  /* Vertical component */
564bf215546Sopenharmony_ci      128,                                                  /* sign */
565bf215546Sopenharmony_ci      224, 144, 192, 168, 192, 176, 192, 198, 198, 245,     /* class */
566bf215546Sopenharmony_ci      216,                                                  /* class0 */
567bf215546Sopenharmony_ci      136, 140, 148, 160, 176, 192, 224, 234, 234, 240,     /* bits */
568bf215546Sopenharmony_ci      128, 128, 64, 96, 112, 64,                            /* class0_fp */
569bf215546Sopenharmony_ci      64, 96, 64,                                           /* fp */
570bf215546Sopenharmony_ci      160,                                                  /* class0_hp bit */
571bf215546Sopenharmony_ci      128,                                                  /* hp */
572bf215546Sopenharmony_ci   },
573bf215546Sopenharmony_ci   {  /* Horizontal component */
574bf215546Sopenharmony_ci      128,                                                  /* sign */
575bf215546Sopenharmony_ci      216, 128, 176, 160, 176, 176, 192, 198, 198, 208,     /* class */
576bf215546Sopenharmony_ci      208,                                                  /* class0 */
577bf215546Sopenharmony_ci      136, 140, 148, 160, 176, 192, 224, 234, 234, 240,     /* bits */
578bf215546Sopenharmony_ci      128, 128, 64, 96, 112, 64,                            /* class0_fp */
579bf215546Sopenharmony_ci      64, 96, 64,                                           /* fp */
580bf215546Sopenharmony_ci      160,                                                  /* class0_hp bit */
581bf215546Sopenharmony_ci      128,                                                  /* hp */
582bf215546Sopenharmony_ci   }
583bf215546Sopenharmony_ci};
584bf215546Sopenharmony_ci
585bf215546Sopenharmony_ci#endif /* vl_probs_table_h */
586