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