FFmpeg
vp9data.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 Ronald S. Bultje <rsbultje gmail com>
3  * Copyright (C) 2013 Clément Bœsch <u pkh me>
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #include "vp9.h"
23 #include "vp9data.h"
24 
25 const uint8_t ff_vp9_bwh_tab[2][N_BS_SIZES][2] = {
26  {
27  { 16, 16 }, { 16, 8 }, { 8, 16 }, { 8, 8 }, { 8, 4 }, { 4, 8 },
28  { 4, 4 }, { 4, 2 }, { 2, 4 }, { 2, 2 }, { 2, 1 }, { 1, 2 }, { 1, 1 },
29  }, {
30  { 8, 8 }, { 8, 4 }, { 4, 8 }, { 4, 4 }, { 4, 2 }, { 2, 4 },
31  { 2, 2 }, { 2, 1 }, { 1, 2 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 },
32  }
33 };
34 
35 const int8_t ff_vp9_partition_tree[3][2] = {
36  { -PARTITION_NONE, 1 }, // '0'
37  { -PARTITION_H, 2 }, // '10'
38  { -PARTITION_V, -PARTITION_SPLIT }, // '110', '111'
39 };
40 
41 const uint8_t ff_vp9_default_kf_partition_probs[4][4][3] = {
42  { /* 64x64 -> 32x32 */
43  { 174, 35, 49 } /* a/l both not split */,
44  { 68, 11, 27 } /* a split, l not split */,
45  { 57, 15, 9 } /* l split, a not split */,
46  { 12, 3, 3 } /* a/l both split */
47  }, { /* 32x32 -> 16x16 */
48  { 150, 40, 39 } /* a/l both not split */,
49  { 78, 12, 26 } /* a split, l not split */,
50  { 67, 33, 11 } /* l split, a not split */,
51  { 24, 7, 5 } /* a/l both split */,
52  }, { /* 16x16 -> 8x8 */
53  { 149, 53, 53 } /* a/l both not split */,
54  { 94, 20, 48 } /* a split, l not split */,
55  { 83, 53, 24 } /* l split, a not split */,
56  { 52, 18, 18 } /* a/l both split */,
57  }, { /* 8x8 -> 4x4 */
58  { 158, 97, 94 } /* a/l both not split */,
59  { 93, 24, 99 } /* a split, l not split */,
60  { 85, 119, 44 } /* l split, a not split */,
61  { 62, 59, 67 } /* a/l both split */,
62  },
63 };
64 
65 const int8_t ff_vp9_segmentation_tree[7][2] = {
66  { 1, 2 },
67  { 3, 4 },
68  { 5, 6 },
69  { -0, -1 }, // '00x'
70  { -2, -3 }, // '01x'
71  { -4, -5 }, // '10x'
72  { -6, -7 }, // '11x'
73 };
74 
75 const int8_t ff_vp9_intramode_tree[9][2] = {
76  { -DC_PRED, 1 }, // '0'
77  { -TM_VP8_PRED, 2 }, // '10'
78  { -VERT_PRED, 3 }, // '110'
79  { 4, 6 },
80  { -HOR_PRED, 5 }, // '11100'
81  { -DIAG_DOWN_RIGHT_PRED, -VERT_RIGHT_PRED }, // '11101x'
82  { -DIAG_DOWN_LEFT_PRED, 7 }, // '11110'
83  { -VERT_LEFT_PRED, 8 }, // '111110'
84  { -HOR_DOWN_PRED, -HOR_UP_PRED }, // '111111x'
85 };
86 
87 const uint8_t ff_vp9_default_kf_ymode_probs[10][10][9] = {
88  { /* above = v */
89  { 43, 46, 168, 134, 107, 128, 69, 142, 92 } /* left = v */,
90  { 44, 29, 68, 159, 201, 177, 50, 57, 77 } /* left = h */,
91  { 63, 36, 126, 146, 123, 158, 60, 90, 96 } /* left = dc */,
92  { 58, 38, 76, 114, 97, 172, 78, 133, 92 } /* left = d45 */,
93  { 46, 41, 76, 140, 63, 184, 69, 112, 57 } /* left = d135 */,
94  { 38, 32, 85, 140, 46, 112, 54, 151, 133 } /* left = d117 */,
95  { 39, 27, 61, 131, 110, 175, 44, 75, 136 } /* left = d153 */,
96  { 47, 35, 80, 100, 74, 143, 64, 163, 74 } /* left = d63 */,
97  { 52, 30, 74, 113, 130, 175, 51, 64, 58 } /* left = d27 */,
98  { 36, 61, 116, 114, 128, 162, 80, 125, 82 } /* left = tm */
99  }, { /* above = h */
100  { 55, 44, 68, 166, 179, 192, 57, 57, 108 } /* left = v */,
101  { 42, 26, 11, 199, 241, 228, 23, 15, 85 } /* left = h */,
102  { 82, 26, 26, 171, 208, 204, 44, 32, 105 } /* left = dc */,
103  { 68, 42, 19, 131, 160, 199, 55, 52, 83 } /* left = d45 */,
104  { 58, 50, 25, 139, 115, 232, 39, 52, 118 } /* left = d135 */,
105  { 50, 35, 33, 153, 104, 162, 64, 59, 131 } /* left = d117 */,
106  { 44, 24, 16, 150, 177, 202, 33, 19, 156 } /* left = d153 */,
107  { 53, 49, 21, 110, 116, 168, 59, 80, 76 } /* left = d63 */,
108  { 55, 27, 12, 153, 203, 218, 26, 27, 49 } /* left = d27 */,
109  { 38, 72, 19, 168, 203, 212, 50, 50, 107 } /* left = tm */
110  }, { /* above = dc */
111  { 92, 45, 102, 136, 116, 180, 74, 90, 100 } /* left = v */,
112  { 73, 32, 19, 187, 222, 215, 46, 34, 100 } /* left = h */,
113  { 137, 30, 42, 148, 151, 207, 70, 52, 91 } /* left = dc */,
114  { 91, 30, 32, 116, 121, 186, 93, 86, 94 } /* left = d45 */,
115  { 72, 35, 36, 149, 68, 206, 68, 63, 105 } /* left = d135 */,
116  { 73, 31, 28, 138, 57, 124, 55, 122, 151 } /* left = d117 */,
117  { 67, 23, 21, 140, 126, 197, 40, 37, 171 } /* left = d153 */,
118  { 74, 32, 27, 107, 86, 160, 63, 134, 102 } /* left = d63 */,
119  { 86, 27, 28, 128, 154, 212, 45, 43, 53 } /* left = d27 */,
120  { 59, 67, 44, 140, 161, 202, 78, 67, 119 } /* left = tm */
121  }, { /* above = d45 */
122  { 59, 38, 83, 112, 103, 162, 98, 136, 90 } /* left = v */,
123  { 62, 30, 23, 158, 200, 207, 59, 57, 50 } /* left = h */,
124  { 103, 26, 36, 129, 132, 201, 83, 80, 93 } /* left = dc */,
125  { 67, 30, 29, 84, 86, 191, 102, 91, 59 } /* left = d45 */,
126  { 60, 32, 33, 112, 71, 220, 64, 89, 104 } /* left = d135 */,
127  { 53, 26, 34, 130, 56, 149, 84, 120, 103 } /* left = d117 */,
128  { 53, 21, 23, 133, 109, 210, 56, 77, 172 } /* left = d153 */,
129  { 61, 29, 29, 93, 97, 165, 83, 175, 162 } /* left = d63 */,
130  { 77, 19, 29, 112, 142, 228, 55, 66, 36 } /* left = d27 */,
131  { 47, 47, 43, 114, 137, 181, 100, 99, 95 } /* left = tm */
132  }, { /* above = d135 */
133  { 53, 40, 55, 139, 69, 183, 61, 80, 110 } /* left = v */,
134  { 40, 29, 19, 161, 180, 207, 43, 24, 91 } /* left = h */,
135  { 69, 23, 29, 128, 83, 199, 46, 44, 101 } /* left = dc */,
136  { 60, 34, 19, 105, 61, 198, 53, 64, 89 } /* left = d45 */,
137  { 52, 31, 22, 158, 40, 209, 58, 62, 89 } /* left = d135 */,
138  { 44, 31, 29, 147, 46, 158, 56, 102, 198 } /* left = d117 */,
139  { 35, 19, 12, 135, 87, 209, 41, 45, 167 } /* left = d153 */,
140  { 51, 38, 25, 113, 58, 164, 70, 93, 97 } /* left = d63 */,
141  { 55, 25, 21, 118, 95, 215, 38, 39, 66 } /* left = d27 */,
142  { 47, 54, 34, 146, 108, 203, 72, 103, 151 } /* left = tm */
143  }, { /* above = d117 */
144  { 46, 27, 80, 150, 55, 124, 55, 121, 135 } /* left = v */,
145  { 36, 23, 27, 165, 149, 166, 54, 64, 118 } /* left = h */,
146  { 64, 19, 37, 156, 66, 138, 49, 95, 133 } /* left = dc */,
147  { 53, 21, 36, 131, 63, 163, 60, 109, 81 } /* left = d45 */,
148  { 40, 26, 35, 154, 40, 185, 51, 97, 123 } /* left = d135 */,
149  { 35, 19, 34, 179, 19, 97, 48, 129, 124 } /* left = d117 */,
150  { 36, 20, 26, 136, 62, 164, 33, 77, 154 } /* left = d153 */,
151  { 45, 26, 28, 129, 45, 129, 49, 147, 123 } /* left = d63 */,
152  { 45, 18, 32, 130, 90, 157, 40, 79, 91 } /* left = d27 */,
153  { 38, 44, 51, 136, 74, 162, 57, 97, 121 } /* left = tm */
154  }, { /* above = d153 */
155  { 56, 39, 58, 133, 117, 173, 48, 53, 187 } /* left = v */,
156  { 35, 21, 12, 161, 212, 207, 20, 23, 145 } /* left = h */,
157  { 75, 17, 22, 136, 138, 185, 32, 34, 166 } /* left = dc */,
158  { 56, 29, 19, 117, 109, 181, 55, 68, 112 } /* left = d45 */,
159  { 47, 29, 17, 153, 64, 220, 59, 51, 114 } /* left = d135 */,
160  { 46, 16, 24, 136, 76, 147, 41, 64, 172 } /* left = d117 */,
161  { 34, 17, 11, 108, 152, 187, 13, 15, 209 } /* left = d153 */,
162  { 55, 30, 18, 122, 79, 179, 44, 88, 116 } /* left = d63 */,
163  { 51, 24, 14, 115, 133, 209, 32, 26, 104 } /* left = d27 */,
164  { 37, 49, 25, 129, 168, 164, 41, 54, 148 } /* left = tm */
165  }, { /* above = d63 */
166  { 48, 34, 86, 101, 92, 146, 78, 179, 134 } /* left = v */,
167  { 47, 22, 24, 138, 187, 178, 68, 69, 59 } /* left = h */,
168  { 78, 23, 39, 111, 117, 170, 74, 124, 94 } /* left = dc */,
169  { 56, 25, 33, 105, 112, 187, 95, 177, 129 } /* left = d45 */,
170  { 48, 31, 27, 114, 63, 183, 82, 116, 56 } /* left = d135 */,
171  { 43, 28, 37, 121, 63, 123, 61, 192, 169 } /* left = d117 */,
172  { 42, 17, 24, 109, 97, 177, 56, 76, 122 } /* left = d153 */,
173  { 46, 23, 32, 74, 86, 150, 67, 183, 88 } /* left = d63 */,
174  { 58, 18, 28, 105, 139, 182, 70, 92, 63 } /* left = d27 */,
175  { 36, 38, 48, 92, 122, 165, 88, 137, 91 } /* left = tm */
176  }, { /* above = d27 */
177  { 62, 44, 61, 123, 105, 189, 48, 57, 64 } /* left = v */,
178  { 47, 25, 17, 175, 222, 220, 24, 30, 86 } /* left = h */,
179  { 82, 22, 32, 127, 143, 213, 39, 41, 70 } /* left = dc */,
180  { 68, 36, 17, 106, 102, 206, 59, 74, 74 } /* left = d45 */,
181  { 57, 39, 23, 151, 68, 216, 55, 63, 58 } /* left = d135 */,
182  { 49, 30, 35, 141, 70, 168, 82, 40, 115 } /* left = d117 */,
183  { 51, 25, 15, 136, 129, 202, 38, 35, 139 } /* left = d153 */,
184  { 59, 39, 19, 114, 75, 180, 77, 104, 42 } /* left = d63 */,
185  { 68, 26, 16, 111, 141, 215, 29, 28, 28 } /* left = d27 */,
186  { 40, 61, 26, 126, 152, 206, 61, 59, 93 } /* left = tm */
187  }, { /* above = tm */
188  { 44, 78, 115, 132, 119, 173, 71, 112, 93 } /* left = v */,
189  { 39, 38, 21, 184, 227, 206, 42, 32, 64 } /* left = h */,
190  { 65, 70, 60, 155, 159, 199, 61, 60, 81 } /* left = dc */,
191  { 58, 47, 36, 124, 137, 193, 80, 82, 78 } /* left = d45 */,
192  { 49, 50, 35, 144, 95, 205, 63, 78, 59 } /* left = d135 */,
193  { 41, 53, 52, 148, 71, 142, 65, 128, 51 } /* left = d117 */,
194  { 40, 36, 28, 143, 143, 202, 40, 55, 137 } /* left = d153 */,
195  { 42, 44, 44, 104, 105, 164, 64, 130, 80 } /* left = d63 */,
196  { 52, 34, 29, 129, 183, 227, 42, 35, 43 } /* left = d27 */,
197  { 43, 81, 53, 140, 169, 204, 68, 84, 72 } /* left = tm */
198  }
199 };
200 
201 const uint8_t ff_vp9_default_kf_uvmode_probs[10][9] = {
202  { 118, 15, 123, 148, 131, 101, 44, 93, 131 } /* y = v */,
203  { 113, 12, 23, 188, 226, 142, 26, 32, 125 } /* y = h */,
204  { 144, 11, 54, 157, 195, 130, 46, 58, 108 } /* y = dc */,
205  { 120, 11, 50, 123, 163, 135, 64, 77, 103 } /* y = d45 */,
206  { 113, 9, 36, 155, 111, 157, 32, 44, 161 } /* y = d135 */,
207  { 116, 9, 55, 176, 76, 96, 37, 61, 149 } /* y = d117 */,
208  { 115, 9, 28, 141, 161, 167, 21, 25, 193 } /* y = d153 */,
209  { 116, 12, 64, 120, 140, 125, 49, 115, 121 } /* y = d63 */,
210  { 120, 12, 32, 145, 195, 142, 32, 38, 86 } /* y = d27 */,
211  { 102, 19, 66, 162, 182, 122, 35, 59, 128 } /* y = tm */
212 };
213 
214 const int8_t ff_vp9_inter_mode_tree[3][2] = {
215  { -ZEROMV, 1 }, // '0'
216  { -NEARESTMV, 2 }, // '10'
217  { -NEARMV, -NEWMV }, // '11x'
218 };
219 
220 const int8_t ff_vp9_filter_tree[2][2] = {
221  { -0, 1 }, // '0'
222  { -1, -2 }, // '1x'
223 };
224 
225 const enum FilterMode ff_vp9_filter_lut[3] = {
229 };
230 
231 const int16_t ff_vp9_dc_qlookup[3][256] = {
232  {
233  4, 8, 8, 9, 10, 11, 12, 12,
234  13, 14, 15, 16, 17, 18, 19, 19,
235  20, 21, 22, 23, 24, 25, 26, 26,
236  27, 28, 29, 30, 31, 32, 32, 33,
237  34, 35, 36, 37, 38, 38, 39, 40,
238  41, 42, 43, 43, 44, 45, 46, 47,
239  48, 48, 49, 50, 51, 52, 53, 53,
240  54, 55, 56, 57, 57, 58, 59, 60,
241  61, 62, 62, 63, 64, 65, 66, 66,
242  67, 68, 69, 70, 70, 71, 72, 73,
243  74, 74, 75, 76, 77, 78, 78, 79,
244  80, 81, 81, 82, 83, 84, 85, 85,
245  87, 88, 90, 92, 93, 95, 96, 98,
246  99, 101, 102, 104, 105, 107, 108, 110,
247  111, 113, 114, 116, 117, 118, 120, 121,
248  123, 125, 127, 129, 131, 134, 136, 138,
249  140, 142, 144, 146, 148, 150, 152, 154,
250  156, 158, 161, 164, 166, 169, 172, 174,
251  177, 180, 182, 185, 187, 190, 192, 195,
252  199, 202, 205, 208, 211, 214, 217, 220,
253  223, 226, 230, 233, 237, 240, 243, 247,
254  250, 253, 257, 261, 265, 269, 272, 276,
255  280, 284, 288, 292, 296, 300, 304, 309,
256  313, 317, 322, 326, 330, 335, 340, 344,
257  349, 354, 359, 364, 369, 374, 379, 384,
258  389, 395, 400, 406, 411, 417, 423, 429,
259  435, 441, 447, 454, 461, 467, 475, 482,
260  489, 497, 505, 513, 522, 530, 539, 549,
261  559, 569, 579, 590, 602, 614, 626, 640,
262  654, 668, 684, 700, 717, 736, 755, 775,
263  796, 819, 843, 869, 896, 925, 955, 988,
264  1022, 1058, 1098, 1139, 1184, 1232, 1282, 1336,
265  }, {
266  4, 9, 10, 13, 15, 17, 20, 22,
267  25, 28, 31, 34, 37, 40, 43, 47,
268  50, 53, 57, 60, 64, 68, 71, 75,
269  78, 82, 86, 90, 93, 97, 101, 105,
270  109, 113, 116, 120, 124, 128, 132, 136,
271  140, 143, 147, 151, 155, 159, 163, 166,
272  170, 174, 178, 182, 185, 189, 193, 197,
273  200, 204, 208, 212, 215, 219, 223, 226,
274  230, 233, 237, 241, 244, 248, 251, 255,
275  259, 262, 266, 269, 273, 276, 280, 283,
276  287, 290, 293, 297, 300, 304, 307, 310,
277  314, 317, 321, 324, 327, 331, 334, 337,
278  343, 350, 356, 362, 369, 375, 381, 387,
279  394, 400, 406, 412, 418, 424, 430, 436,
280  442, 448, 454, 460, 466, 472, 478, 484,
281  490, 499, 507, 516, 525, 533, 542, 550,
282  559, 567, 576, 584, 592, 601, 609, 617,
283  625, 634, 644, 655, 666, 676, 687, 698,
284  708, 718, 729, 739, 749, 759, 770, 782,
285  795, 807, 819, 831, 844, 856, 868, 880,
286  891, 906, 920, 933, 947, 961, 975, 988,
287  1001, 1015, 1030, 1045, 1061, 1076, 1090, 1105,
288  1120, 1137, 1153, 1170, 1186, 1202, 1218, 1236,
289  1253, 1271, 1288, 1306, 1323, 1342, 1361, 1379,
290  1398, 1416, 1436, 1456, 1476, 1496, 1516, 1537,
291  1559, 1580, 1601, 1624, 1647, 1670, 1692, 1717,
292  1741, 1766, 1791, 1817, 1844, 1871, 1900, 1929,
293  1958, 1990, 2021, 2054, 2088, 2123, 2159, 2197,
294  2236, 2276, 2319, 2363, 2410, 2458, 2508, 2561,
295  2616, 2675, 2737, 2802, 2871, 2944, 3020, 3102,
296  3188, 3280, 3375, 3478, 3586, 3702, 3823, 3953,
297  4089, 4236, 4394, 4559, 4737, 4929, 5130, 5347,
298  }, {
299  4, 12, 18, 25, 33, 41, 50, 60,
300  70, 80, 91, 103, 115, 127, 140, 153,
301  166, 180, 194, 208, 222, 237, 251, 266,
302  281, 296, 312, 327, 343, 358, 374, 390,
303  405, 421, 437, 453, 469, 484, 500, 516,
304  532, 548, 564, 580, 596, 611, 627, 643,
305  659, 674, 690, 706, 721, 737, 752, 768,
306  783, 798, 814, 829, 844, 859, 874, 889,
307  904, 919, 934, 949, 964, 978, 993, 1008,
308  1022, 1037, 1051, 1065, 1080, 1094, 1108, 1122,
309  1136, 1151, 1165, 1179, 1192, 1206, 1220, 1234,
310  1248, 1261, 1275, 1288, 1302, 1315, 1329, 1342,
311  1368, 1393, 1419, 1444, 1469, 1494, 1519, 1544,
312  1569, 1594, 1618, 1643, 1668, 1692, 1717, 1741,
313  1765, 1789, 1814, 1838, 1862, 1885, 1909, 1933,
314  1957, 1992, 2027, 2061, 2096, 2130, 2165, 2199,
315  2233, 2267, 2300, 2334, 2367, 2400, 2434, 2467,
316  2499, 2532, 2575, 2618, 2661, 2704, 2746, 2788,
317  2830, 2872, 2913, 2954, 2995, 3036, 3076, 3127,
318  3177, 3226, 3275, 3324, 3373, 3421, 3469, 3517,
319  3565, 3621, 3677, 3733, 3788, 3843, 3897, 3951,
320  4005, 4058, 4119, 4181, 4241, 4301, 4361, 4420,
321  4479, 4546, 4612, 4677, 4742, 4807, 4871, 4942,
322  5013, 5083, 5153, 5222, 5291, 5367, 5442, 5517,
323  5591, 5665, 5745, 5825, 5905, 5984, 6063, 6149,
324  6234, 6319, 6404, 6495, 6587, 6678, 6769, 6867,
325  6966, 7064, 7163, 7269, 7376, 7483, 7599, 7715,
326  7832, 7958, 8085, 8214, 8352, 8492, 8635, 8788,
327  8945, 9104, 9275, 9450, 9639, 9832, 10031, 10245,
328  10465, 10702, 10946, 11210, 11482, 11776, 12081, 12409,
329  12750, 13118, 13501, 13913, 14343, 14807, 15290, 15812,
330  16356, 16943, 17575, 18237, 18949, 19718, 20521, 21387,
331  }
332 };
333 
334 const int16_t ff_vp9_ac_qlookup[3][256] = {
335  {
336  4, 8, 9, 10, 11, 12, 13, 14,
337  15, 16, 17, 18, 19, 20, 21, 22,
338  23, 24, 25, 26, 27, 28, 29, 30,
339  31, 32, 33, 34, 35, 36, 37, 38,
340  39, 40, 41, 42, 43, 44, 45, 46,
341  47, 48, 49, 50, 51, 52, 53, 54,
342  55, 56, 57, 58, 59, 60, 61, 62,
343  63, 64, 65, 66, 67, 68, 69, 70,
344  71, 72, 73, 74, 75, 76, 77, 78,
345  79, 80, 81, 82, 83, 84, 85, 86,
346  87, 88, 89, 90, 91, 92, 93, 94,
347  95, 96, 97, 98, 99, 100, 101, 102,
348  104, 106, 108, 110, 112, 114, 116, 118,
349  120, 122, 124, 126, 128, 130, 132, 134,
350  136, 138, 140, 142, 144, 146, 148, 150,
351  152, 155, 158, 161, 164, 167, 170, 173,
352  176, 179, 182, 185, 188, 191, 194, 197,
353  200, 203, 207, 211, 215, 219, 223, 227,
354  231, 235, 239, 243, 247, 251, 255, 260,
355  265, 270, 275, 280, 285, 290, 295, 300,
356  305, 311, 317, 323, 329, 335, 341, 347,
357  353, 359, 366, 373, 380, 387, 394, 401,
358  408, 416, 424, 432, 440, 448, 456, 465,
359  474, 483, 492, 501, 510, 520, 530, 540,
360  550, 560, 571, 582, 593, 604, 615, 627,
361  639, 651, 663, 676, 689, 702, 715, 729,
362  743, 757, 771, 786, 801, 816, 832, 848,
363  864, 881, 898, 915, 933, 951, 969, 988,
364  1007, 1026, 1046, 1066, 1087, 1108, 1129, 1151,
365  1173, 1196, 1219, 1243, 1267, 1292, 1317, 1343,
366  1369, 1396, 1423, 1451, 1479, 1508, 1537, 1567,
367  1597, 1628, 1660, 1692, 1725, 1759, 1793, 1828,
368  }, {
369  4, 9, 11, 13, 16, 18, 21, 24,
370  27, 30, 33, 37, 40, 44, 48, 51,
371  55, 59, 63, 67, 71, 75, 79, 83,
372  88, 92, 96, 100, 105, 109, 114, 118,
373  122, 127, 131, 136, 140, 145, 149, 154,
374  158, 163, 168, 172, 177, 181, 186, 190,
375  195, 199, 204, 208, 213, 217, 222, 226,
376  231, 235, 240, 244, 249, 253, 258, 262,
377  267, 271, 275, 280, 284, 289, 293, 297,
378  302, 306, 311, 315, 319, 324, 328, 332,
379  337, 341, 345, 349, 354, 358, 362, 367,
380  371, 375, 379, 384, 388, 392, 396, 401,
381  409, 417, 425, 433, 441, 449, 458, 466,
382  474, 482, 490, 498, 506, 514, 523, 531,
383  539, 547, 555, 563, 571, 579, 588, 596,
384  604, 616, 628, 640, 652, 664, 676, 688,
385  700, 713, 725, 737, 749, 761, 773, 785,
386  797, 809, 825, 841, 857, 873, 889, 905,
387  922, 938, 954, 970, 986, 1002, 1018, 1038,
388  1058, 1078, 1098, 1118, 1138, 1158, 1178, 1198,
389  1218, 1242, 1266, 1290, 1314, 1338, 1362, 1386,
390  1411, 1435, 1463, 1491, 1519, 1547, 1575, 1603,
391  1631, 1663, 1695, 1727, 1759, 1791, 1823, 1859,
392  1895, 1931, 1967, 2003, 2039, 2079, 2119, 2159,
393  2199, 2239, 2283, 2327, 2371, 2415, 2459, 2507,
394  2555, 2603, 2651, 2703, 2755, 2807, 2859, 2915,
395  2971, 3027, 3083, 3143, 3203, 3263, 3327, 3391,
396  3455, 3523, 3591, 3659, 3731, 3803, 3876, 3952,
397  4028, 4104, 4184, 4264, 4348, 4432, 4516, 4604,
398  4692, 4784, 4876, 4972, 5068, 5168, 5268, 5372,
399  5476, 5584, 5692, 5804, 5916, 6032, 6148, 6268,
400  6388, 6512, 6640, 6768, 6900, 7036, 7172, 7312,
401  }, {
402  4, 13, 19, 27, 35, 44, 54, 64,
403  75, 87, 99, 112, 126, 139, 154, 168,
404  183, 199, 214, 230, 247, 263, 280, 297,
405  314, 331, 349, 366, 384, 402, 420, 438,
406  456, 475, 493, 511, 530, 548, 567, 586,
407  604, 623, 642, 660, 679, 698, 716, 735,
408  753, 772, 791, 809, 828, 846, 865, 884,
409  902, 920, 939, 957, 976, 994, 1012, 1030,
410  1049, 1067, 1085, 1103, 1121, 1139, 1157, 1175,
411  1193, 1211, 1229, 1246, 1264, 1282, 1299, 1317,
412  1335, 1352, 1370, 1387, 1405, 1422, 1440, 1457,
413  1474, 1491, 1509, 1526, 1543, 1560, 1577, 1595,
414  1627, 1660, 1693, 1725, 1758, 1791, 1824, 1856,
415  1889, 1922, 1954, 1987, 2020, 2052, 2085, 2118,
416  2150, 2183, 2216, 2248, 2281, 2313, 2346, 2378,
417  2411, 2459, 2508, 2556, 2605, 2653, 2701, 2750,
418  2798, 2847, 2895, 2943, 2992, 3040, 3088, 3137,
419  3185, 3234, 3298, 3362, 3426, 3491, 3555, 3619,
420  3684, 3748, 3812, 3876, 3941, 4005, 4069, 4149,
421  4230, 4310, 4390, 4470, 4550, 4631, 4711, 4791,
422  4871, 4967, 5064, 5160, 5256, 5352, 5448, 5544,
423  5641, 5737, 5849, 5961, 6073, 6185, 6297, 6410,
424  6522, 6650, 6778, 6906, 7034, 7162, 7290, 7435,
425  7579, 7723, 7867, 8011, 8155, 8315, 8475, 8635,
426  8795, 8956, 9132, 9308, 9484, 9660, 9836, 10028,
427  10220, 10412, 10604, 10812, 11020, 11228, 11437, 11661,
428  11885, 12109, 12333, 12573, 12813, 13053, 13309, 13565,
429  13821, 14093, 14365, 14637, 14925, 15213, 15502, 15806,
430  16110, 16414, 16734, 17054, 17390, 17726, 18062, 18414,
431  18766, 19134, 19502, 19886, 20270, 20670, 21070, 21486,
432  21902, 22334, 22766, 23214, 23662, 24126, 24590, 25070,
433  25551, 26047, 26559, 27071, 27599, 28143, 28687, 29247,
434  }
435 };
436 
438  [VERT_PRED] = ADST_DCT,
439  [HOR_PRED] = DCT_ADST,
440  [DC_PRED] = DCT_DCT,
446  [HOR_UP_PRED] = DCT_ADST,
448  [NEARESTMV] = DCT_DCT,
449  [NEARMV] = DCT_DCT,
450  [ZEROMV] = DCT_DCT,
451  [NEWMV] = DCT_DCT,
452 };
453 
454 const int16_t ff_vp9_default_scan_4x4[16] = {
455  0, 1, 4, 5,
456  2, 8, 3, 6,
457  12, 9, 7, 10,
458  13, 11, 14, 15,
459 };
460 
461 const int16_t ff_vp9_col_scan_4x4[16] = {
462  0, 1, 2, 4,
463  3, 5, 6, 8,
464  7, 9, 10, 12,
465  13, 11, 14, 15,
466 };
467 
468 const int16_t ff_vp9_row_scan_4x4[16] = {
469  0, 4, 1, 8,
470  5, 12, 9, 2,
471  6, 13, 3, 10,
472  7, 14, 11, 15,
473 };
474 
475 const int16_t ff_vp9_default_scan_8x8[64] = {
476  0, 1, 8, 2, 9, 16, 10, 3,
477  17, 24, 18, 11, 4, 25, 32, 19,
478  12, 26, 5, 33, 20, 27, 40, 13,
479  34, 6, 41, 28, 21, 35, 42, 48,
480  14, 7, 36, 29, 43, 56, 49, 22,
481  15, 37, 50, 44, 57, 30, 23, 51,
482  45, 58, 38, 31, 52, 59, 39, 46,
483  53, 60, 47, 54, 61, 55, 62, 63,
484 };
485 
486 const int16_t ff_vp9_col_scan_8x8[64] = {
487  0, 1, 2, 8, 3, 9, 4, 10,
488  16, 5, 11, 17, 12, 18, 6, 24,
489  19, 13, 25, 7, 26, 20, 32, 14,
490  27, 21, 33, 28, 34, 15, 22, 35,
491  40, 29, 41, 36, 23, 30, 42, 37,
492  48, 43, 31, 44, 49, 38, 50, 56,
493  45, 39, 51, 57, 52, 46, 58, 53,
494  59, 47, 60, 54, 61, 55, 62, 63,
495 };
496 
497 const int16_t ff_vp9_row_scan_8x8[64] = {
498  0, 8, 16, 1, 9, 24, 2, 17,
499  32, 10, 25, 3, 40, 18, 11, 33,
500  26, 19, 4, 48, 41, 34, 12, 27,
501  56, 20, 5, 42, 35, 13, 49, 28,
502  6, 21, 43, 36, 14, 50, 29, 57,
503  7, 44, 22, 37, 51, 15, 58, 30,
504  23, 45, 52, 38, 59, 31, 46, 53,
505  39, 60, 47, 61, 54, 62, 55, 63,
506 };
507 
508 const int16_t ff_vp9_default_scan_16x16[256] = {
509  0, 1, 16, 2, 17, 32, 3, 18, 33, 48, 4, 34, 19, 49, 20, 5,
510  35, 64, 50, 36, 65, 21, 6, 51, 80, 66, 37, 22, 52, 7, 81, 67,
511  38, 82, 53, 23, 96, 68, 8, 83, 97, 54, 39, 69, 112, 24, 98, 84,
512  70, 55, 9, 40, 85, 99, 113, 128, 25, 114, 100, 71, 86, 56, 10, 41,
513  115, 101, 129, 116, 72, 87, 26, 130, 144, 102, 57, 11, 42, 117, 131, 145,
514  88, 103, 27, 73, 132, 118, 146, 58, 160, 12, 43, 133, 147, 104, 89, 119,
515  161, 74, 148, 134, 28, 162, 59, 13, 176, 120, 149, 90, 135, 105, 163, 44,
516  75, 177, 164, 29, 150, 121, 136, 178, 165, 14, 106, 60, 91, 151, 45, 179,
517  192, 137, 166, 122, 76, 180, 152, 30, 61, 15, 107, 167, 181, 193, 92, 208,
518  46, 138, 123, 153, 194, 77, 168, 182, 31, 195, 209, 183, 108, 139, 62, 154,
519  47, 196, 93, 169, 210, 197, 224, 124, 184, 211, 78, 109, 170, 155, 63, 198,
520  212, 185, 225, 240, 140, 94, 199, 125, 79, 213, 226, 171, 186, 156, 214, 200,
521  110, 227, 141, 95, 241, 215, 228, 201, 126, 242, 187, 172, 157, 229, 111, 216,
522  243, 142, 202, 230, 127, 217, 244, 173, 188, 231, 158, 203, 143, 245, 218, 232,
523  189, 246, 159, 174, 233, 247, 219, 204, 175, 190, 248, 234, 205, 220, 249, 191,
524  235, 221, 250, 206, 222, 251, 236, 207, 237, 223, 252, 238, 253, 239, 254, 255,
525 };
526 
527 const int16_t ff_vp9_col_scan_16x16[256] = {
528  0, 1, 2, 3, 16, 4, 17, 5, 18, 6, 19, 32, 20, 7, 33, 21,
529  34, 8, 35, 22, 48, 36, 9, 49, 23, 50, 37, 10, 38, 51, 24, 64,
530  52, 11, 65, 39, 25, 53, 66, 54, 40, 67, 12, 80, 26, 68, 55, 81,
531  41, 69, 13, 27, 82, 56, 70, 83, 42, 14, 84, 96, 71, 28, 57, 85,
532  97, 15, 72, 98, 43, 86, 58, 99, 29, 87, 100, 112, 73, 44, 101, 59,
533  30, 113, 88, 114, 74, 128, 102, 45, 31, 115, 60, 103, 89, 116, 75, 129,
534  117, 46, 104, 90, 61, 130, 118, 131, 132, 105, 76, 47, 119, 144, 91, 62,
535  133, 106, 145, 120, 146, 134, 77, 147, 121, 92, 135, 148, 63, 107, 136, 122,
536  93, 149, 160, 78, 150, 137, 108, 161, 162, 151, 123, 79, 138, 163, 152, 94,
537  164, 109, 165, 153, 124, 139, 176, 166, 95, 177, 167, 110, 154, 178, 125, 179,
538  140, 168, 155, 111, 180, 192, 181, 169, 141, 126, 182, 193, 194, 156, 183, 170,
539  195, 127, 142, 196, 184, 208, 197, 157, 171, 143, 185, 198, 209, 199, 210, 172,
540  158, 186, 211, 224, 212, 200, 240, 159, 213, 225, 187, 201, 173, 226, 214, 215,
541  227, 202, 228, 188, 241, 216, 174, 229, 242, 203, 243, 217, 230, 175, 189, 244,
542  231, 204, 218, 232, 245, 219, 246, 190, 233, 205, 191, 247, 234, 248, 220, 206,
543  249, 235, 221, 207, 250, 236, 222, 251, 223, 237, 238, 252, 239, 253, 254, 255,
544 };
545 
546 const int16_t ff_vp9_row_scan_16x16[256] = {
547  0, 16, 32, 1, 48, 17, 64, 33, 2, 80, 18, 49, 96, 34, 3, 65,
548  19, 112, 50, 81, 35, 4, 128, 66, 20, 97, 51, 82, 5, 144, 36, 67,
549  113, 98, 21, 52, 160, 83, 129, 37, 68, 6, 114, 176, 99, 53, 22, 84,
550  145, 38, 69, 130, 7, 115, 192, 100, 54, 23, 85, 161, 146, 131, 39, 70,
551  208, 116, 8, 101, 177, 55, 86, 24, 162, 147, 132, 71, 224, 117, 40, 102,
552  9, 148, 56, 87, 193, 163, 240, 133, 178, 25, 118, 72, 41, 103, 164, 10,
553  149, 88, 134, 209, 179, 57, 119, 194, 26, 73, 165, 150, 104, 42, 135, 11,
554  180, 120, 89, 225, 195, 58, 27, 210, 151, 181, 166, 74, 43, 105, 12, 136,
555  90, 59, 241, 121, 28, 196, 167, 211, 152, 44, 182, 137, 75, 13, 226, 106,
556  122, 60, 197, 91, 168, 29, 183, 153, 14, 76, 212, 138, 45, 107, 15, 198,
557  92, 227, 169, 30, 123, 154, 61, 242, 184, 213, 139, 46, 77, 31, 108, 170,
558  199, 185, 124, 228, 93, 155, 214, 62, 140, 243, 78, 47, 200, 109, 186, 171,
559  201, 94, 63, 215, 229, 156, 79, 125, 141, 110, 216, 187, 172, 244, 202, 230,
560  217, 95, 157, 126, 245, 111, 142, 231, 188, 127, 158, 218, 173, 232, 246, 233,
561  203, 143, 247, 174, 189, 159, 219, 204, 248, 234, 249, 175, 190, 220, 205, 250,
562  235, 191, 221, 251, 236, 206, 252, 222, 207, 237, 223, 253, 238, 254, 239, 255,
563 };
564 
565 const int16_t ff_vp9_default_scan_32x32[1024] = {
566  0, 1, 32, 2, 33, 64, 3, 34, 65, 4, 96, 35, 66, 5, 36, 97, 67, 128, 98, 68, 37, 6, 129, 99, 7, 160, 69, 38, 130, 100, 161, 131,
567  39, 70, 8, 101, 162, 132, 192, 71, 40, 9, 102, 163, 133, 193, 72, 224, 103, 41, 164, 10, 194, 134, 165, 73, 104, 135, 225, 42, 195, 11, 256, 166,
568  226, 196, 74, 105, 136, 43, 12, 167, 197, 227, 257, 75, 106, 137, 228, 44, 198, 168, 258, 288, 13, 229, 76, 107, 199, 138, 259, 169, 289, 45, 230, 260,
569  200, 108, 14, 170, 139, 320, 290, 77, 231, 261, 46, 201, 140, 291, 109, 232, 321, 262, 171, 78, 292, 15, 322, 202, 263, 352, 172, 293, 233, 141, 323, 110,
570  47, 203, 264, 234, 294, 353, 324, 16, 79, 204, 265, 295, 325, 173, 354, 142, 235, 384, 48, 296, 111, 266, 355, 326, 80, 17, 205, 236, 174, 356, 385, 327,
571  143, 297, 267, 357, 386, 112, 49, 328, 298, 206, 416, 237, 358, 387, 81, 175, 18, 329, 359, 388, 299, 330, 389, 113, 417, 238, 360, 50, 207, 418, 390, 331,
572  19, 448, 361, 82, 419, 391, 239, 51, 362, 420, 114, 449, 480, 421, 83, 363, 450, 422, 512, 451, 423, 115, 452, 481, 453, 482, 454, 544, 483, 455, 513, 484,
573  514, 485, 515, 486, 545, 576, 487, 546, 547, 608, 577, 578, 579, 609, 610, 611, 20, 144, 268, 392, 516, 640, 21, 52, 145, 176, 269, 300, 393, 424, 517, 548,
574  641, 672, 22, 53, 84, 146, 177, 208, 270, 301, 332, 394, 425, 456, 518, 549, 580, 642, 673, 704, 23, 54, 85, 116, 147, 178, 209, 240, 271, 302, 333, 364,
575  395, 426, 457, 488, 519, 550, 581, 612, 643, 674, 705, 736, 55, 86, 117, 179, 210, 241, 303, 334, 365, 427, 458, 489, 551, 582, 613, 675, 706, 737, 87, 118,
576  211, 242, 335, 366, 459, 490, 583, 614, 707, 738, 119, 243, 367, 491, 615, 739, 24, 148, 272, 396, 520, 644, 768, 25, 56, 149, 180, 273, 304, 397, 428, 521,
577  552, 645, 676, 769, 800, 26, 57, 88, 150, 181, 212, 274, 305, 336, 398, 429, 460, 522, 553, 584, 646, 677, 708, 770, 801, 832, 27, 58, 89, 120, 151, 182,
578  213, 244, 275, 306, 337, 368, 399, 430, 461, 492, 523, 554, 585, 616, 647, 678, 709, 740, 771, 802, 833, 864, 59, 90, 121, 183, 214, 245, 307, 338, 369, 431,
579  462, 493, 555, 586, 617, 679, 710, 741, 803, 834, 865, 91, 122, 215, 246, 339, 370, 463, 494, 587, 618, 711, 742, 835, 866, 123, 247, 371, 495, 619, 743, 867,
580  28, 152, 276, 400, 524, 648, 772, 896, 29, 60, 153, 184, 277, 308, 401, 432, 525, 556, 649, 680, 773, 804, 897, 928, 30, 61, 92, 154, 185, 216, 278, 309,
581  340, 402, 433, 464, 526, 557, 588, 650, 681, 712, 774, 805, 836, 898, 929, 960, 31, 62, 93, 124, 155, 186, 217, 248, 279, 310, 341, 372, 403, 434, 465, 496,
582  527, 558, 589, 620, 651, 682, 713, 744, 775, 806, 837, 868, 899, 930, 961, 992, 63, 94, 125, 187, 218, 249, 311, 342, 373, 435, 466, 497, 559, 590, 621, 683,
583  714, 745, 807, 838, 869, 931, 962, 993, 95, 126, 219, 250, 343, 374, 467, 498, 591, 622, 715, 746, 839, 870, 963, 994, 127, 251, 375, 499, 623, 747, 871, 995,
584  156, 280, 404, 528, 652, 776, 900, 157, 188, 281, 312, 405, 436, 529, 560, 653, 684, 777, 808, 901, 932, 158, 189, 220, 282, 313, 344, 406, 437, 468, 530, 561,
585  592, 654, 685, 716, 778, 809, 840, 902, 933, 964, 159, 190, 221, 252, 283, 314, 345, 376, 407, 438, 469, 500, 531, 562, 593, 624, 655, 686, 717, 748, 779, 810,
586  841, 872, 903, 934, 965, 996, 191, 222, 253, 315, 346, 377, 439, 470, 501, 563, 594, 625, 687, 718, 749, 811, 842, 873, 935, 966, 997, 223, 254, 347, 378, 471,
587  502, 595, 626, 719, 750, 843, 874, 967, 998, 255, 379, 503, 627, 751, 875, 999, 284, 408, 532, 656, 780, 904, 285, 316, 409, 440, 533, 564, 657, 688, 781, 812,
588  905, 936, 286, 317, 348, 410, 441, 472, 534, 565, 596, 658, 689, 720, 782, 813, 844, 906, 937, 968, 287, 318, 349, 380, 411, 442, 473, 504, 535, 566, 597, 628,
589  659, 690, 721, 752, 783, 814, 845, 876, 907, 938, 969, 1000, 319, 350, 381, 443, 474, 505, 567, 598, 629, 691, 722, 753, 815, 846, 877, 939, 970, 1001, 351, 382,
590  475, 506, 599, 630, 723, 754, 847, 878, 971, 1002, 383, 507, 631, 755, 879, 1003, 412, 536, 660, 784, 908, 413, 444, 537, 568, 661, 692, 785, 816, 909, 940, 414,
591  445, 476, 538, 569, 600, 662, 693, 724, 786, 817, 848, 910, 941, 972, 415, 446, 477, 508, 539, 570, 601, 632, 663, 694, 725, 756, 787, 818, 849, 880, 911, 942,
592  973, 1004, 447, 478, 509, 571, 602, 633, 695, 726, 757, 819, 850, 881, 943, 974, 1005, 479, 510, 603, 634, 727, 758, 851, 882, 975, 1006, 511, 635, 759, 883, 1007,
593  540, 664, 788, 912, 541, 572, 665, 696, 789, 820, 913, 944, 542, 573, 604, 666, 697, 728, 790, 821, 852, 914, 945, 976, 543, 574, 605, 636, 667, 698, 729, 760,
594  791, 822, 853, 884, 915, 946, 977, 1008, 575, 606, 637, 699, 730, 761, 823, 854, 885, 947, 978, 1009, 607, 638, 731, 762, 855, 886, 979, 1010, 639, 763, 887, 1011,
595  668, 792, 916, 669, 700, 793, 824, 917, 948, 670, 701, 732, 794, 825, 856, 918, 949, 980, 671, 702, 733, 764, 795, 826, 857, 888, 919, 950, 981, 1012, 703, 734,
596  765, 827, 858, 889, 951, 982, 1013, 735, 766, 859, 890, 983, 1014, 767, 891, 1015, 796, 920, 797, 828, 921, 952, 798, 829, 860, 922, 953, 984, 799, 830, 861, 892,
597  923, 954, 985, 1016, 831, 862, 893, 955, 986, 1017, 863, 894, 987, 1018, 895, 1019, 924, 925, 956, 926, 957, 988, 927, 958, 989, 1020, 959, 990, 1021, 991, 1022, 1023,
598 };
599 
600 const int16_t * const ff_vp9_scans[5][4] = {
601  {
604  }, {
607  }, {
610  }, {
613  }, { // lossless
616  }
617 };
618 
619 const int16_t ff_vp9_default_scan_4x4_nb[16][2] = {
620  { 0, 0 }, { 0, 0 }, { 4, 1 }, { 1, 1 },
621  { 4, 4 }, { 2, 2 }, { 5, 2 }, { 8, 8 },
622  { 8, 5 }, { 6, 3 }, { 9, 6 }, { 12, 9 },
623  { 10, 7 }, { 13, 10 }, { 14, 11 }, { 0, 0 },
624 };
625 
626 const int16_t ff_vp9_col_scan_4x4_nb[16][2] = {
627  { 0, 0 }, { 1, 1 }, { 0, 0 }, { 2, 2 },
628  { 4, 4 }, { 5, 5 }, { 4, 4 }, { 6, 6 },
629  { 8, 8 }, { 9, 9 }, { 8, 8 }, { 12, 12 },
630  { 10, 10 }, { 13, 13 }, { 14, 14 }, { 0, 0 },
631 };
632 
633 const int16_t ff_vp9_row_scan_4x4_nb[16][2] = {
634  { 0, 0 }, { 0, 0 }, { 4, 4 }, { 1, 1 },
635  { 8, 8 }, { 5, 5 }, { 1, 1 }, { 2, 2 },
636  { 9, 9 }, { 2, 2 }, { 6, 6 }, { 3, 3 },
637  { 10, 10 }, { 7, 7 }, { 11, 11 }, { 0, 0 },
638 };
639 
640 const int16_t ff_vp9_default_scan_8x8_nb[64][2] = {
641  { 0, 0 }, { 0, 0 }, { 1, 1 }, { 8, 1 },
642  { 8, 8 }, { 9, 2 }, { 2, 2 }, { 16, 9 },
643  { 16, 16 }, { 17, 10 }, { 10, 3 }, { 3, 3 },
644  { 24, 17 }, { 24, 24 }, { 18, 11 }, { 11, 4 },
645  { 25, 18 }, { 4, 4 }, { 32, 25 }, { 19, 12 },
646  { 26, 19 }, { 32, 32 }, { 12, 5 }, { 33, 26 },
647  { 5, 5 }, { 40, 33 }, { 27, 20 }, { 20, 13 },
648  { 34, 27 }, { 41, 34 }, { 40, 40 }, { 13, 6 },
649  { 6, 6 }, { 35, 28 }, { 28, 21 }, { 42, 35 },
650  { 48, 48 }, { 48, 41 }, { 21, 14 }, { 14, 7 },
651  { 36, 29 }, { 49, 42 }, { 43, 36 }, { 56, 49 },
652  { 29, 22 }, { 22, 15 }, { 50, 43 }, { 44, 37 },
653  { 57, 50 }, { 37, 30 }, { 30, 23 }, { 51, 44 },
654  { 58, 51 }, { 38, 31 }, { 45, 38 }, { 52, 45 },
655  { 59, 52 }, { 46, 39 }, { 53, 46 }, { 60, 53 },
656  { 54, 47 }, { 61, 54 }, { 62, 55 }, { 0, 0 },
657 };
658 
659 const int16_t ff_vp9_col_scan_8x8_nb[64][2] = {
660  { 0, 0 }, { 1, 1 }, { 0, 0 }, { 2, 2 },
661  { 8, 8 }, { 3, 3 }, { 9, 9 }, { 8, 8 },
662  { 4, 4 }, { 10, 10 }, { 16, 16 }, { 11, 11 },
663  { 17, 17 }, { 5, 5 }, { 16, 16 }, { 18, 18 },
664  { 12, 12 }, { 24, 24 }, { 6, 6 }, { 25, 25 },
665  { 19, 19 }, { 24, 24 }, { 13, 13 }, { 26, 26 },
666  { 20, 20 }, { 32, 32 }, { 27, 27 }, { 33, 33 },
667  { 14, 14 }, { 21, 21 }, { 34, 34 }, { 32, 32 },
668  { 28, 28 }, { 40, 40 }, { 35, 35 }, { 22, 22 },
669  { 29, 29 }, { 41, 41 }, { 36, 36 }, { 40, 40 },
670  { 42, 42 }, { 30, 30 }, { 43, 43 }, { 48, 48 },
671  { 37, 37 }, { 49, 49 }, { 48, 48 }, { 44, 44 },
672  { 38, 38 }, { 50, 50 }, { 56, 56 }, { 51, 51 },
673  { 45, 45 }, { 57, 57 }, { 52, 52 }, { 58, 58 },
674  { 46, 46 }, { 59, 59 }, { 53, 53 }, { 60, 60 },
675  { 54, 54 }, { 61, 61 }, { 62, 62 }, { 0, 0 },
676 };
677 
678 const int16_t ff_vp9_row_scan_8x8_nb[64][2] = {
679  { 0, 0 }, { 8, 8 }, { 0, 0 }, { 1, 1 },
680  { 16, 16 }, { 1, 1 }, { 9, 9 }, { 24, 24 },
681  { 2, 2 }, { 17, 17 }, { 2, 2 }, { 32, 32 },
682  { 10, 10 }, { 3, 3 }, { 25, 25 }, { 18, 18 },
683  { 11, 11 }, { 3, 3 }, { 40, 40 }, { 33, 33 },
684  { 26, 26 }, { 4, 4 }, { 19, 19 }, { 48, 48 },
685  { 12, 12 }, { 4, 4 }, { 34, 34 }, { 27, 27 },
686  { 5, 5 }, { 41, 41 }, { 20, 20 }, { 5, 5 },
687  { 13, 13 }, { 35, 35 }, { 28, 28 }, { 6, 6 },
688  { 42, 42 }, { 21, 21 }, { 49, 49 }, { 6, 6 },
689  { 36, 36 }, { 14, 14 }, { 29, 29 }, { 43, 43 },
690  { 7, 7 }, { 50, 50 }, { 22, 22 }, { 15, 15 },
691  { 37, 37 }, { 44, 44 }, { 30, 30 }, { 51, 51 },
692  { 23, 23 }, { 38, 38 }, { 45, 45 }, { 31, 31 },
693  { 52, 52 }, { 39, 39 }, { 53, 53 }, { 46, 46 },
694  { 54, 54 }, { 47, 47 }, { 55, 55 }, { 0, 0 },
695 };
696 
697 const int16_t ff_vp9_default_scan_16x16_nb[256][2] = {
698  { 0, 0 }, { 0, 0 }, { 1, 1 }, { 16, 1 },
699  { 16, 16 }, { 2, 2 }, { 17, 2 }, { 32, 17 },
700  { 32, 32 }, { 3, 3 }, { 33, 18 }, { 18, 3 },
701  { 48, 33 }, { 19, 4 }, { 4, 4 }, { 34, 19 },
702  { 48, 48 }, { 49, 34 }, { 35, 20 }, { 64, 49 },
703  { 20, 5 }, { 5, 5 }, { 50, 35 }, { 64, 64 },
704  { 65, 50 }, { 36, 21 }, { 21, 6 }, { 51, 36 },
705  { 6, 6 }, { 80, 65 }, { 66, 51 }, { 37, 22 },
706  { 81, 66 }, { 52, 37 }, { 22, 7 }, { 80, 80 },
707  { 67, 52 }, { 7, 7 }, { 82, 67 }, { 96, 81 },
708  { 53, 38 }, { 38, 23 }, { 68, 53 }, { 96, 96 },
709  { 23, 8 }, { 97, 82 }, { 83, 68 }, { 69, 54 },
710  { 54, 39 }, { 8, 8 }, { 39, 24 }, { 84, 69 },
711  { 98, 83 }, { 112, 97 }, { 112, 112 }, { 24, 9 },
712  { 113, 98 }, { 99, 84 }, { 70, 55 }, { 85, 70 },
713  { 55, 40 }, { 9, 9 }, { 40, 25 }, { 114, 99 },
714  { 100, 85 }, { 128, 113 }, { 115, 100 }, { 71, 56 },
715  { 86, 71 }, { 25, 10 }, { 129, 114 }, { 128, 128 },
716  { 101, 86 }, { 56, 41 }, { 10, 10 }, { 41, 26 },
717  { 116, 101 }, { 130, 115 }, { 144, 129 }, { 87, 72 },
718  { 102, 87 }, { 26, 11 }, { 72, 57 }, { 131, 116 },
719  { 117, 102 }, { 145, 130 }, { 57, 42 }, { 144, 144 },
720  { 11, 11 }, { 42, 27 }, { 132, 117 }, { 146, 131 },
721  { 103, 88 }, { 88, 73 }, { 118, 103 }, { 160, 145 },
722  { 73, 58 }, { 147, 132 }, { 133, 118 }, { 27, 12 },
723  { 161, 146 }, { 58, 43 }, { 12, 12 }, { 160, 160 },
724  { 119, 104 }, { 148, 133 }, { 89, 74 }, { 134, 119 },
725  { 104, 89 }, { 162, 147 }, { 43, 28 }, { 74, 59 },
726  { 176, 161 }, { 163, 148 }, { 28, 13 }, { 149, 134 },
727  { 120, 105 }, { 135, 120 }, { 177, 162 }, { 164, 149 },
728  { 13, 13 }, { 105, 90 }, { 59, 44 }, { 90, 75 },
729  { 150, 135 }, { 44, 29 }, { 178, 163 }, { 176, 176 },
730  { 136, 121 }, { 165, 150 }, { 121, 106 }, { 75, 60 },
731  { 179, 164 }, { 151, 136 }, { 29, 14 }, { 60, 45 },
732  { 14, 14 }, { 106, 91 }, { 166, 151 }, { 180, 165 },
733  { 192, 177 }, { 91, 76 }, { 192, 192 }, { 45, 30 },
734  { 137, 122 }, { 122, 107 }, { 152, 137 }, { 193, 178 },
735  { 76, 61 }, { 167, 152 }, { 181, 166 }, { 30, 15 },
736  { 194, 179 }, { 208, 193 }, { 182, 167 }, { 107, 92 },
737  { 138, 123 }, { 61, 46 }, { 153, 138 }, { 46, 31 },
738  { 195, 180 }, { 92, 77 }, { 168, 153 }, { 209, 194 },
739  { 196, 181 }, { 208, 208 }, { 123, 108 }, { 183, 168 },
740  { 210, 195 }, { 77, 62 }, { 108, 93 }, { 169, 154 },
741  { 154, 139 }, { 62, 47 }, { 197, 182 }, { 211, 196 },
742  { 184, 169 }, { 224, 209 }, { 224, 224 }, { 139, 124 },
743  { 93, 78 }, { 198, 183 }, { 124, 109 }, { 78, 63 },
744  { 212, 197 }, { 225, 210 }, { 170, 155 }, { 185, 170 },
745  { 155, 140 }, { 213, 198 }, { 199, 184 }, { 109, 94 },
746  { 226, 211 }, { 140, 125 }, { 94, 79 }, { 240, 225 },
747  { 214, 199 }, { 227, 212 }, { 200, 185 }, { 125, 110 },
748  { 241, 226 }, { 186, 171 }, { 171, 156 }, { 156, 141 },
749  { 228, 213 }, { 110, 95 }, { 215, 200 }, { 242, 227 },
750  { 141, 126 }, { 201, 186 }, { 229, 214 }, { 126, 111 },
751  { 216, 201 }, { 243, 228 }, { 172, 157 }, { 187, 172 },
752  { 230, 215 }, { 157, 142 }, { 202, 187 }, { 142, 127 },
753  { 244, 229 }, { 217, 202 }, { 231, 216 }, { 188, 173 },
754  { 245, 230 }, { 158, 143 }, { 173, 158 }, { 232, 217 },
755  { 246, 231 }, { 218, 203 }, { 203, 188 }, { 174, 159 },
756  { 189, 174 }, { 247, 232 }, { 233, 218 }, { 204, 189 },
757  { 219, 204 }, { 248, 233 }, { 190, 175 }, { 234, 219 },
758  { 220, 205 }, { 249, 234 }, { 205, 190 }, { 221, 206 },
759  { 250, 235 }, { 235, 220 }, { 206, 191 }, { 236, 221 },
760  { 222, 207 }, { 251, 236 }, { 237, 222 }, { 252, 237 },
761  { 238, 223 }, { 253, 238 }, { 254, 239 }, { 0, 0 },
762 };
763 
764 const int16_t ff_vp9_col_scan_16x16_nb[256][2] = {
765  { 0, 0 }, { 1, 1 }, { 2, 2 }, { 0, 0 },
766  { 3, 3 }, { 16, 16 }, { 4, 4 }, { 17, 17 },
767  { 5, 5 }, { 18, 18 }, { 16, 16 }, { 19, 19 },
768  { 6, 6 }, { 32, 32 }, { 20, 20 }, { 33, 33 },
769  { 7, 7 }, { 34, 34 }, { 21, 21 }, { 32, 32 },
770  { 35, 35 }, { 8, 8 }, { 48, 48 }, { 22, 22 },
771  { 49, 49 }, { 36, 36 }, { 9, 9 }, { 37, 37 },
772  { 50, 50 }, { 23, 23 }, { 48, 48 }, { 51, 51 },
773  { 10, 10 }, { 64, 64 }, { 38, 38 }, { 24, 24 },
774  { 52, 52 }, { 65, 65 }, { 53, 53 }, { 39, 39 },
775  { 66, 66 }, { 11, 11 }, { 64, 64 }, { 25, 25 },
776  { 67, 67 }, { 54, 54 }, { 80, 80 }, { 40, 40 },
777  { 68, 68 }, { 12, 12 }, { 26, 26 }, { 81, 81 },
778  { 55, 55 }, { 69, 69 }, { 82, 82 }, { 41, 41 },
779  { 13, 13 }, { 83, 83 }, { 80, 80 }, { 70, 70 },
780  { 27, 27 }, { 56, 56 }, { 84, 84 }, { 96, 96 },
781  { 14, 14 }, { 71, 71 }, { 97, 97 }, { 42, 42 },
782  { 85, 85 }, { 57, 57 }, { 98, 98 }, { 28, 28 },
783  { 86, 86 }, { 99, 99 }, { 96, 96 }, { 72, 72 },
784  { 43, 43 }, { 100, 100 }, { 58, 58 }, { 29, 29 },
785  { 112, 112 }, { 87, 87 }, { 113, 113 }, { 73, 73 },
786  { 112, 112 }, { 101, 101 }, { 44, 44 }, { 30, 30 },
787  { 114, 114 }, { 59, 59 }, { 102, 102 }, { 88, 88 },
788  { 115, 115 }, { 74, 74 }, { 128, 128 }, { 116, 116 },
789  { 45, 45 }, { 103, 103 }, { 89, 89 }, { 60, 60 },
790  { 129, 129 }, { 117, 117 }, { 130, 130 }, { 131, 131 },
791  { 104, 104 }, { 75, 75 }, { 46, 46 }, { 118, 118 },
792  { 128, 128 }, { 90, 90 }, { 61, 61 }, { 132, 132 },
793  { 105, 105 }, { 144, 144 }, { 119, 119 }, { 145, 145 },
794  { 133, 133 }, { 76, 76 }, { 146, 146 }, { 120, 120 },
795  { 91, 91 }, { 134, 134 }, { 147, 147 }, { 62, 62 },
796  { 106, 106 }, { 135, 135 }, { 121, 121 }, { 92, 92 },
797  { 148, 148 }, { 144, 144 }, { 77, 77 }, { 149, 149 },
798  { 136, 136 }, { 107, 107 }, { 160, 160 }, { 161, 161 },
799  { 150, 150 }, { 122, 122 }, { 78, 78 }, { 137, 137 },
800  { 162, 162 }, { 151, 151 }, { 93, 93 }, { 163, 163 },
801  { 108, 108 }, { 164, 164 }, { 152, 152 }, { 123, 123 },
802  { 138, 138 }, { 160, 160 }, { 165, 165 }, { 94, 94 },
803  { 176, 176 }, { 166, 166 }, { 109, 109 }, { 153, 153 },
804  { 177, 177 }, { 124, 124 }, { 178, 178 }, { 139, 139 },
805  { 167, 167 }, { 154, 154 }, { 110, 110 }, { 179, 179 },
806  { 176, 176 }, { 180, 180 }, { 168, 168 }, { 140, 140 },
807  { 125, 125 }, { 181, 181 }, { 192, 192 }, { 193, 193 },
808  { 155, 155 }, { 182, 182 }, { 169, 169 }, { 194, 194 },
809  { 126, 126 }, { 141, 141 }, { 195, 195 }, { 183, 183 },
810  { 192, 192 }, { 196, 196 }, { 156, 156 }, { 170, 170 },
811  { 142, 142 }, { 184, 184 }, { 197, 197 }, { 208, 208 },
812  { 198, 198 }, { 209, 209 }, { 171, 171 }, { 157, 157 },
813  { 185, 185 }, { 210, 210 }, { 208, 208 }, { 211, 211 },
814  { 199, 199 }, { 224, 224 }, { 158, 158 }, { 212, 212 },
815  { 224, 224 }, { 186, 186 }, { 200, 200 }, { 172, 172 },
816  { 225, 225 }, { 213, 213 }, { 214, 214 }, { 226, 226 },
817  { 201, 201 }, { 227, 227 }, { 187, 187 }, { 240, 240 },
818  { 215, 215 }, { 173, 173 }, { 228, 228 }, { 241, 241 },
819  { 202, 202 }, { 242, 242 }, { 216, 216 }, { 229, 229 },
820  { 174, 174 }, { 188, 188 }, { 243, 243 }, { 230, 230 },
821  { 203, 203 }, { 217, 217 }, { 231, 231 }, { 244, 244 },
822  { 218, 218 }, { 245, 245 }, { 189, 189 }, { 232, 232 },
823  { 204, 204 }, { 190, 190 }, { 246, 246 }, { 233, 233 },
824  { 247, 247 }, { 219, 219 }, { 205, 205 }, { 248, 248 },
825  { 234, 234 }, { 220, 220 }, { 206, 206 }, { 249, 249 },
826  { 235, 235 }, { 221, 221 }, { 250, 250 }, { 222, 222 },
827  { 236, 236 }, { 237, 237 }, { 251, 251 }, { 238, 238 },
828  { 252, 252 }, { 253, 253 }, { 254, 254 }, { 0, 0 },
829 };
830 
831 const int16_t ff_vp9_row_scan_16x16_nb[256][2] = {
832  { 0, 0 }, { 16, 16 }, { 0, 0 }, { 32, 32 },
833  { 1, 1 }, { 48, 48 }, { 17, 17 }, { 1, 1 },
834  { 64, 64 }, { 2, 2 }, { 33, 33 }, { 80, 80 },
835  { 18, 18 }, { 2, 2 }, { 49, 49 }, { 3, 3 },
836  { 96, 96 }, { 34, 34 }, { 65, 65 }, { 19, 19 },
837  { 3, 3 }, { 112, 112 }, { 50, 50 }, { 4, 4 },
838  { 81, 81 }, { 35, 35 }, { 66, 66 }, { 4, 4 },
839  { 128, 128 }, { 20, 20 }, { 51, 51 }, { 97, 97 },
840  { 82, 82 }, { 5, 5 }, { 36, 36 }, { 144, 144 },
841  { 67, 67 }, { 113, 113 }, { 21, 21 }, { 52, 52 },
842  { 5, 5 }, { 98, 98 }, { 160, 160 }, { 83, 83 },
843  { 37, 37 }, { 6, 6 }, { 68, 68 }, { 129, 129 },
844  { 22, 22 }, { 53, 53 }, { 114, 114 }, { 6, 6 },
845  { 99, 99 }, { 176, 176 }, { 84, 84 }, { 38, 38 },
846  { 7, 7 }, { 69, 69 }, { 145, 145 }, { 130, 130 },
847  { 115, 115 }, { 23, 23 }, { 54, 54 }, { 192, 192 },
848  { 100, 100 }, { 7, 7 }, { 85, 85 }, { 161, 161 },
849  { 39, 39 }, { 70, 70 }, { 8, 8 }, { 146, 146 },
850  { 131, 131 }, { 116, 116 }, { 55, 55 }, { 208, 208 },
851  { 101, 101 }, { 24, 24 }, { 86, 86 }, { 8, 8 },
852  { 132, 132 }, { 40, 40 }, { 71, 71 }, { 177, 177 },
853  { 147, 147 }, { 224, 224 }, { 117, 117 }, { 162, 162 },
854  { 9, 9 }, { 102, 102 }, { 56, 56 }, { 25, 25 },
855  { 87, 87 }, { 148, 148 }, { 9, 9 }, { 133, 133 },
856  { 72, 72 }, { 118, 118 }, { 193, 193 }, { 163, 163 },
857  { 41, 41 }, { 103, 103 }, { 178, 178 }, { 10, 10 },
858  { 57, 57 }, { 149, 149 }, { 134, 134 }, { 88, 88 },
859  { 26, 26 }, { 119, 119 }, { 10, 10 }, { 164, 164 },
860  { 104, 104 }, { 73, 73 }, { 209, 209 }, { 179, 179 },
861  { 42, 42 }, { 11, 11 }, { 194, 194 }, { 135, 135 },
862  { 165, 165 }, { 150, 150 }, { 58, 58 }, { 27, 27 },
863  { 89, 89 }, { 11, 11 }, { 120, 120 }, { 74, 74 },
864  { 43, 43 }, { 225, 225 }, { 105, 105 }, { 12, 12 },
865  { 180, 180 }, { 151, 151 }, { 195, 195 }, { 136, 136 },
866  { 28, 28 }, { 166, 166 }, { 121, 121 }, { 59, 59 },
867  { 12, 12 }, { 210, 210 }, { 90, 90 }, { 106, 106 },
868  { 44, 44 }, { 181, 181 }, { 75, 75 }, { 152, 152 },
869  { 13, 13 }, { 167, 167 }, { 137, 137 }, { 13, 13 },
870  { 60, 60 }, { 196, 196 }, { 122, 122 }, { 29, 29 },
871  { 91, 91 }, { 14, 14 }, { 182, 182 }, { 76, 76 },
872  { 211, 211 }, { 153, 153 }, { 14, 14 }, { 107, 107 },
873  { 138, 138 }, { 45, 45 }, { 226, 226 }, { 168, 168 },
874  { 197, 197 }, { 123, 123 }, { 30, 30 }, { 61, 61 },
875  { 15, 15 }, { 92, 92 }, { 154, 154 }, { 183, 183 },
876  { 169, 169 }, { 108, 108 }, { 212, 212 }, { 77, 77 },
877  { 139, 139 }, { 198, 198 }, { 46, 46 }, { 124, 124 },
878  { 227, 227 }, { 62, 62 }, { 31, 31 }, { 184, 184 },
879  { 93, 93 }, { 170, 170 }, { 155, 155 }, { 185, 185 },
880  { 78, 78 }, { 47, 47 }, { 199, 199 }, { 213, 213 },
881  { 140, 140 }, { 63, 63 }, { 109, 109 }, { 125, 125 },
882  { 94, 94 }, { 200, 200 }, { 171, 171 }, { 156, 156 },
883  { 228, 228 }, { 186, 186 }, { 214, 214 }, { 201, 201 },
884  { 79, 79 }, { 141, 141 }, { 110, 110 }, { 229, 229 },
885  { 95, 95 }, { 126, 126 }, { 215, 215 }, { 172, 172 },
886  { 111, 111 }, { 142, 142 }, { 202, 202 }, { 157, 157 },
887  { 216, 216 }, { 230, 230 }, { 217, 217 }, { 187, 187 },
888  { 127, 127 }, { 231, 231 }, { 158, 158 }, { 173, 173 },
889  { 143, 143 }, { 203, 203 }, { 188, 188 }, { 232, 232 },
890  { 218, 218 }, { 233, 233 }, { 159, 159 }, { 174, 174 },
891  { 204, 204 }, { 189, 189 }, { 234, 234 }, { 219, 219 },
892  { 175, 175 }, { 205, 205 }, { 235, 235 }, { 220, 220 },
893  { 190, 190 }, { 236, 236 }, { 206, 206 }, { 191, 191 },
894  { 221, 221 }, { 207, 207 }, { 237, 237 }, { 222, 222 },
895  { 238, 238 }, { 223, 223 }, { 239, 239 }, { 0, 0 },
896 };
897 
898 const int16_t ff_vp9_default_scan_32x32_nb[1024][2] = {
899  { 0, 0 }, { 0, 0 }, { 1, 1 }, { 32, 1 },
900  { 32, 32 }, { 2, 2 }, { 33, 2 }, { 64, 33 },
901  { 3, 3 }, { 64, 64 }, { 34, 3 }, { 65, 34 },
902  { 4, 4 }, { 35, 4 }, { 96, 65 }, { 66, 35 },
903  { 96, 96 }, { 97, 66 }, { 67, 36 }, { 36, 5 },
904  { 5, 5 }, { 128, 97 }, { 98, 67 }, { 6, 6 },
905  { 128, 128 }, { 68, 37 }, { 37, 6 }, { 129, 98 },
906  { 99, 68 }, { 160, 129 }, { 130, 99 }, { 38, 7 },
907  { 69, 38 }, { 7, 7 }, { 100, 69 }, { 161, 130 },
908  { 131, 100 }, { 160, 160 }, { 70, 39 }, { 39, 8 },
909  { 8, 8 }, { 101, 70 }, { 162, 131 }, { 132, 101 },
910  { 192, 161 }, { 71, 40 }, { 192, 192 }, { 102, 71 },
911  { 40, 9 }, { 163, 132 }, { 9, 9 }, { 193, 162 },
912  { 133, 102 }, { 164, 133 }, { 72, 41 }, { 103, 72 },
913  { 134, 103 }, { 224, 193 }, { 41, 10 }, { 194, 163 },
914  { 10, 10 }, { 224, 224 }, { 165, 134 }, { 225, 194 },
915  { 195, 164 }, { 73, 42 }, { 104, 73 }, { 135, 104 },
916  { 42, 11 }, { 11, 11 }, { 166, 135 }, { 196, 165 },
917  { 226, 195 }, { 256, 225 }, { 74, 43 }, { 105, 74 },
918  { 136, 105 }, { 227, 196 }, { 43, 12 }, { 197, 166 },
919  { 167, 136 }, { 257, 226 }, { 256, 256 }, { 12, 12 },
920  { 228, 197 }, { 75, 44 }, { 106, 75 }, { 198, 167 },
921  { 137, 106 }, { 258, 227 }, { 168, 137 }, { 288, 257 },
922  { 44, 13 }, { 229, 198 }, { 259, 228 }, { 199, 168 },
923  { 107, 76 }, { 13, 13 }, { 169, 138 }, { 138, 107 },
924  { 288, 288 }, { 289, 258 }, { 76, 45 }, { 230, 199 },
925  { 260, 229 }, { 45, 14 }, { 200, 169 }, { 139, 108 },
926  { 290, 259 }, { 108, 77 }, { 231, 200 }, { 320, 289 },
927  { 261, 230 }, { 170, 139 }, { 77, 46 }, { 291, 260 },
928  { 14, 14 }, { 321, 290 }, { 201, 170 }, { 262, 231 },
929  { 320, 320 }, { 171, 140 }, { 292, 261 }, { 232, 201 },
930  { 140, 109 }, { 322, 291 }, { 109, 78 }, { 46, 15 },
931  { 202, 171 }, { 263, 232 }, { 233, 202 }, { 293, 262 },
932  { 352, 321 }, { 323, 292 }, { 15, 15 }, { 78, 47 },
933  { 203, 172 }, { 264, 233 }, { 294, 263 }, { 324, 293 },
934  { 172, 141 }, { 353, 322 }, { 141, 110 }, { 234, 203 },
935  { 352, 352 }, { 47, 16 }, { 295, 264 }, { 110, 79 },
936  { 265, 234 }, { 354, 323 }, { 325, 294 }, { 79, 48 },
937  { 16, 16 }, { 204, 173 }, { 235, 204 }, { 173, 142 },
938  { 355, 324 }, { 384, 353 }, { 326, 295 }, { 142, 111 },
939  { 296, 265 }, { 266, 235 }, { 356, 325 }, { 385, 354 },
940  { 111, 80 }, { 48, 17 }, { 327, 296 }, { 297, 266 },
941  { 205, 174 }, { 384, 384 }, { 236, 205 }, { 357, 326 },
942  { 386, 355 }, { 80, 49 }, { 174, 143 }, { 17, 17 },
943  { 328, 297 }, { 358, 327 }, { 387, 356 }, { 298, 267 },
944  { 329, 298 }, { 388, 357 }, { 112, 81 }, { 416, 385 },
945  { 237, 206 }, { 359, 328 }, { 49, 18 }, { 206, 175 },
946  { 417, 386 }, { 389, 358 }, { 330, 299 }, { 18, 18 },
947  { 416, 416 }, { 360, 329 }, { 81, 50 }, { 418, 387 },
948  { 390, 359 }, { 238, 207 }, { 50, 19 }, { 361, 330 },
949  { 419, 388 }, { 113, 82 }, { 448, 417 }, { 448, 448 },
950  { 420, 389 }, { 82, 51 }, { 362, 331 }, { 449, 418 },
951  { 421, 390 }, { 480, 480 }, { 450, 419 }, { 422, 391 },
952  { 114, 83 }, { 451, 420 }, { 480, 449 }, { 452, 421 },
953  { 481, 450 }, { 453, 422 }, { 512, 512 }, { 482, 451 },
954  { 454, 423 }, { 512, 481 }, { 483, 452 }, { 513, 482 },
955  { 484, 453 }, { 514, 483 }, { 485, 454 }, { 544, 513 },
956  { 544, 544 }, { 486, 455 }, { 545, 514 }, { 546, 515 },
957  { 576, 576 }, { 576, 545 }, { 577, 546 }, { 578, 547 },
958  { 608, 577 }, { 609, 578 }, { 610, 579 }, { 19, 19 },
959  { 143, 112 }, { 267, 236 }, { 391, 360 }, { 515, 484 },
960  { 608, 608 }, { 20, 20 }, { 51, 20 }, { 144, 113 },
961  { 175, 144 }, { 268, 237 }, { 299, 268 }, { 392, 361 },
962  { 423, 392 }, { 516, 485 }, { 547, 516 }, { 640, 609 },
963  { 640, 640 }, { 21, 21 }, { 52, 21 }, { 83, 52 },
964  { 145, 114 }, { 176, 145 }, { 207, 176 }, { 269, 238 },
965  { 300, 269 }, { 331, 300 }, { 393, 362 }, { 424, 393 },
966  { 455, 424 }, { 517, 486 }, { 548, 517 }, { 579, 548 },
967  { 641, 610 }, { 672, 641 }, { 672, 672 }, { 22, 22 },
968  { 53, 22 }, { 84, 53 }, { 115, 84 }, { 146, 115 },
969  { 177, 146 }, { 208, 177 }, { 239, 208 }, { 270, 239 },
970  { 301, 270 }, { 332, 301 }, { 363, 332 }, { 394, 363 },
971  { 425, 394 }, { 456, 425 }, { 487, 456 }, { 518, 487 },
972  { 549, 518 }, { 580, 549 }, { 611, 580 }, { 642, 611 },
973  { 673, 642 }, { 704, 673 }, { 704, 704 }, { 54, 23 },
974  { 85, 54 }, { 116, 85 }, { 178, 147 }, { 209, 178 },
975  { 240, 209 }, { 302, 271 }, { 333, 302 }, { 364, 333 },
976  { 426, 395 }, { 457, 426 }, { 488, 457 }, { 550, 519 },
977  { 581, 550 }, { 612, 581 }, { 674, 643 }, { 705, 674 },
978  { 736, 705 }, { 86, 55 }, { 117, 86 }, { 210, 179 },
979  { 241, 210 }, { 334, 303 }, { 365, 334 }, { 458, 427 },
980  { 489, 458 }, { 582, 551 }, { 613, 582 }, { 706, 675 },
981  { 737, 706 }, { 118, 87 }, { 242, 211 }, { 366, 335 },
982  { 490, 459 }, { 614, 583 }, { 738, 707 }, { 23, 23 },
983  { 147, 116 }, { 271, 240 }, { 395, 364 }, { 519, 488 },
984  { 643, 612 }, { 736, 736 }, { 24, 24 }, { 55, 24 },
985  { 148, 117 }, { 179, 148 }, { 272, 241 }, { 303, 272 },
986  { 396, 365 }, { 427, 396 }, { 520, 489 }, { 551, 520 },
987  { 644, 613 }, { 675, 644 }, { 768, 737 }, { 768, 768 },
988  { 25, 25 }, { 56, 25 }, { 87, 56 }, { 149, 118 },
989  { 180, 149 }, { 211, 180 }, { 273, 242 }, { 304, 273 },
990  { 335, 304 }, { 397, 366 }, { 428, 397 }, { 459, 428 },
991  { 521, 490 }, { 552, 521 }, { 583, 552 }, { 645, 614 },
992  { 676, 645 }, { 707, 676 }, { 769, 738 }, { 800, 769 },
993  { 800, 800 }, { 26, 26 }, { 57, 26 }, { 88, 57 },
994  { 119, 88 }, { 150, 119 }, { 181, 150 }, { 212, 181 },
995  { 243, 212 }, { 274, 243 }, { 305, 274 }, { 336, 305 },
996  { 367, 336 }, { 398, 367 }, { 429, 398 }, { 460, 429 },
997  { 491, 460 }, { 522, 491 }, { 553, 522 }, { 584, 553 },
998  { 615, 584 }, { 646, 615 }, { 677, 646 }, { 708, 677 },
999  { 739, 708 }, { 770, 739 }, { 801, 770 }, { 832, 801 },
1000  { 832, 832 }, { 58, 27 }, { 89, 58 }, { 120, 89 },
1001  { 182, 151 }, { 213, 182 }, { 244, 213 }, { 306, 275 },
1002  { 337, 306 }, { 368, 337 }, { 430, 399 }, { 461, 430 },
1003  { 492, 461 }, { 554, 523 }, { 585, 554 }, { 616, 585 },
1004  { 678, 647 }, { 709, 678 }, { 740, 709 }, { 802, 771 },
1005  { 833, 802 }, { 864, 833 }, { 90, 59 }, { 121, 90 },
1006  { 214, 183 }, { 245, 214 }, { 338, 307 }, { 369, 338 },
1007  { 462, 431 }, { 493, 462 }, { 586, 555 }, { 617, 586 },
1008  { 710, 679 }, { 741, 710 }, { 834, 803 }, { 865, 834 },
1009  { 122, 91 }, { 246, 215 }, { 370, 339 }, { 494, 463 },
1010  { 618, 587 }, { 742, 711 }, { 866, 835 }, { 27, 27 },
1011  { 151, 120 }, { 275, 244 }, { 399, 368 }, { 523, 492 },
1012  { 647, 616 }, { 771, 740 }, { 864, 864 }, { 28, 28 },
1013  { 59, 28 }, { 152, 121 }, { 183, 152 }, { 276, 245 },
1014  { 307, 276 }, { 400, 369 }, { 431, 400 }, { 524, 493 },
1015  { 555, 524 }, { 648, 617 }, { 679, 648 }, { 772, 741 },
1016  { 803, 772 }, { 896, 865 }, { 896, 896 }, { 29, 29 },
1017  { 60, 29 }, { 91, 60 }, { 153, 122 }, { 184, 153 },
1018  { 215, 184 }, { 277, 246 }, { 308, 277 }, { 339, 308 },
1019  { 401, 370 }, { 432, 401 }, { 463, 432 }, { 525, 494 },
1020  { 556, 525 }, { 587, 556 }, { 649, 618 }, { 680, 649 },
1021  { 711, 680 }, { 773, 742 }, { 804, 773 }, { 835, 804 },
1022  { 897, 866 }, { 928, 897 }, { 928, 928 }, { 30, 30 },
1023  { 61, 30 }, { 92, 61 }, { 123, 92 }, { 154, 123 },
1024  { 185, 154 }, { 216, 185 }, { 247, 216 }, { 278, 247 },
1025  { 309, 278 }, { 340, 309 }, { 371, 340 }, { 402, 371 },
1026  { 433, 402 }, { 464, 433 }, { 495, 464 }, { 526, 495 },
1027  { 557, 526 }, { 588, 557 }, { 619, 588 }, { 650, 619 },
1028  { 681, 650 }, { 712, 681 }, { 743, 712 }, { 774, 743 },
1029  { 805, 774 }, { 836, 805 }, { 867, 836 }, { 898, 867 },
1030  { 929, 898 }, { 960, 929 }, { 960, 960 }, { 62, 31 },
1031  { 93, 62 }, { 124, 93 }, { 186, 155 }, { 217, 186 },
1032  { 248, 217 }, { 310, 279 }, { 341, 310 }, { 372, 341 },
1033  { 434, 403 }, { 465, 434 }, { 496, 465 }, { 558, 527 },
1034  { 589, 558 }, { 620, 589 }, { 682, 651 }, { 713, 682 },
1035  { 744, 713 }, { 806, 775 }, { 837, 806 }, { 868, 837 },
1036  { 930, 899 }, { 961, 930 }, { 992, 961 }, { 94, 63 },
1037  { 125, 94 }, { 218, 187 }, { 249, 218 }, { 342, 311 },
1038  { 373, 342 }, { 466, 435 }, { 497, 466 }, { 590, 559 },
1039  { 621, 590 }, { 714, 683 }, { 745, 714 }, { 838, 807 },
1040  { 869, 838 }, { 962, 931 }, { 993, 962 }, { 126, 95 },
1041  { 250, 219 }, { 374, 343 }, { 498, 467 }, { 622, 591 },
1042  { 746, 715 }, { 870, 839 }, { 994, 963 }, { 155, 124 },
1043  { 279, 248 }, { 403, 372 }, { 527, 496 }, { 651, 620 },
1044  { 775, 744 }, { 899, 868 }, { 156, 125 }, { 187, 156 },
1045  { 280, 249 }, { 311, 280 }, { 404, 373 }, { 435, 404 },
1046  { 528, 497 }, { 559, 528 }, { 652, 621 }, { 683, 652 },
1047  { 776, 745 }, { 807, 776 }, { 900, 869 }, { 931, 900 },
1048  { 157, 126 }, { 188, 157 }, { 219, 188 }, { 281, 250 },
1049  { 312, 281 }, { 343, 312 }, { 405, 374 }, { 436, 405 },
1050  { 467, 436 }, { 529, 498 }, { 560, 529 }, { 591, 560 },
1051  { 653, 622 }, { 684, 653 }, { 715, 684 }, { 777, 746 },
1052  { 808, 777 }, { 839, 808 }, { 901, 870 }, { 932, 901 },
1053  { 963, 932 }, { 158, 127 }, { 189, 158 }, { 220, 189 },
1054  { 251, 220 }, { 282, 251 }, { 313, 282 }, { 344, 313 },
1055  { 375, 344 }, { 406, 375 }, { 437, 406 }, { 468, 437 },
1056  { 499, 468 }, { 530, 499 }, { 561, 530 }, { 592, 561 },
1057  { 623, 592 }, { 654, 623 }, { 685, 654 }, { 716, 685 },
1058  { 747, 716 }, { 778, 747 }, { 809, 778 }, { 840, 809 },
1059  { 871, 840 }, { 902, 871 }, { 933, 902 }, { 964, 933 },
1060  { 995, 964 }, { 190, 159 }, { 221, 190 }, { 252, 221 },
1061  { 314, 283 }, { 345, 314 }, { 376, 345 }, { 438, 407 },
1062  { 469, 438 }, { 500, 469 }, { 562, 531 }, { 593, 562 },
1063  { 624, 593 }, { 686, 655 }, { 717, 686 }, { 748, 717 },
1064  { 810, 779 }, { 841, 810 }, { 872, 841 }, { 934, 903 },
1065  { 965, 934 }, { 996, 965 }, { 222, 191 }, { 253, 222 },
1066  { 346, 315 }, { 377, 346 }, { 470, 439 }, { 501, 470 },
1067  { 594, 563 }, { 625, 594 }, { 718, 687 }, { 749, 718 },
1068  { 842, 811 }, { 873, 842 }, { 966, 935 }, { 997, 966 },
1069  { 254, 223 }, { 378, 347 }, { 502, 471 }, { 626, 595 },
1070  { 750, 719 }, { 874, 843 }, { 998, 967 }, { 283, 252 },
1071  { 407, 376 }, { 531, 500 }, { 655, 624 }, { 779, 748 },
1072  { 903, 872 }, { 284, 253 }, { 315, 284 }, { 408, 377 },
1073  { 439, 408 }, { 532, 501 }, { 563, 532 }, { 656, 625 },
1074  { 687, 656 }, { 780, 749 }, { 811, 780 }, { 904, 873 },
1075  { 935, 904 }, { 285, 254 }, { 316, 285 }, { 347, 316 },
1076  { 409, 378 }, { 440, 409 }, { 471, 440 }, { 533, 502 },
1077  { 564, 533 }, { 595, 564 }, { 657, 626 }, { 688, 657 },
1078  { 719, 688 }, { 781, 750 }, { 812, 781 }, { 843, 812 },
1079  { 905, 874 }, { 936, 905 }, { 967, 936 }, { 286, 255 },
1080  { 317, 286 }, { 348, 317 }, { 379, 348 }, { 410, 379 },
1081  { 441, 410 }, { 472, 441 }, { 503, 472 }, { 534, 503 },
1082  { 565, 534 }, { 596, 565 }, { 627, 596 }, { 658, 627 },
1083  { 689, 658 }, { 720, 689 }, { 751, 720 }, { 782, 751 },
1084  { 813, 782 }, { 844, 813 }, { 875, 844 }, { 906, 875 },
1085  { 937, 906 }, { 968, 937 }, { 999, 968 }, { 318, 287 },
1086  { 349, 318 }, { 380, 349 }, { 442, 411 }, { 473, 442 },
1087  { 504, 473 }, { 566, 535 }, { 597, 566 }, { 628, 597 },
1088  { 690, 659 }, { 721, 690 }, { 752, 721 }, { 814, 783 },
1089  { 845, 814 }, { 876, 845 }, { 938, 907 }, { 969, 938 },
1090  { 1000, 969 }, { 350, 319 }, { 381, 350 }, { 474, 443 },
1091  { 505, 474 }, { 598, 567 }, { 629, 598 }, { 722, 691 },
1092  { 753, 722 }, { 846, 815 }, { 877, 846 }, { 970, 939 },
1093  { 1001, 970 }, { 382, 351 }, { 506, 475 }, { 630, 599 },
1094  { 754, 723 }, { 878, 847 }, { 1002, 971 }, { 411, 380 },
1095  { 535, 504 }, { 659, 628 }, { 783, 752 }, { 907, 876 },
1096  { 412, 381 }, { 443, 412 }, { 536, 505 }, { 567, 536 },
1097  { 660, 629 }, { 691, 660 }, { 784, 753 }, { 815, 784 },
1098  { 908, 877 }, { 939, 908 }, { 413, 382 }, { 444, 413 },
1099  { 475, 444 }, { 537, 506 }, { 568, 537 }, { 599, 568 },
1100  { 661, 630 }, { 692, 661 }, { 723, 692 }, { 785, 754 },
1101  { 816, 785 }, { 847, 816 }, { 909, 878 }, { 940, 909 },
1102  { 971, 940 }, { 414, 383 }, { 445, 414 }, { 476, 445 },
1103  { 507, 476 }, { 538, 507 }, { 569, 538 }, { 600, 569 },
1104  { 631, 600 }, { 662, 631 }, { 693, 662 }, { 724, 693 },
1105  { 755, 724 }, { 786, 755 }, { 817, 786 }, { 848, 817 },
1106  { 879, 848 }, { 910, 879 }, { 941, 910 }, { 972, 941 },
1107  { 1003, 972 }, { 446, 415 }, { 477, 446 }, { 508, 477 },
1108  { 570, 539 }, { 601, 570 }, { 632, 601 }, { 694, 663 },
1109  { 725, 694 }, { 756, 725 }, { 818, 787 }, { 849, 818 },
1110  { 880, 849 }, { 942, 911 }, { 973, 942 }, { 1004, 973 },
1111  { 478, 447 }, { 509, 478 }, { 602, 571 }, { 633, 602 },
1112  { 726, 695 }, { 757, 726 }, { 850, 819 }, { 881, 850 },
1113  { 974, 943 }, { 1005, 974 }, { 510, 479 }, { 634, 603 },
1114  { 758, 727 }, { 882, 851 }, { 1006, 975 }, { 539, 508 },
1115  { 663, 632 }, { 787, 756 }, { 911, 880 }, { 540, 509 },
1116  { 571, 540 }, { 664, 633 }, { 695, 664 }, { 788, 757 },
1117  { 819, 788 }, { 912, 881 }, { 943, 912 }, { 541, 510 },
1118  { 572, 541 }, { 603, 572 }, { 665, 634 }, { 696, 665 },
1119  { 727, 696 }, { 789, 758 }, { 820, 789 }, { 851, 820 },
1120  { 913, 882 }, { 944, 913 }, { 975, 944 }, { 542, 511 },
1121  { 573, 542 }, { 604, 573 }, { 635, 604 }, { 666, 635 },
1122  { 697, 666 }, { 728, 697 }, { 759, 728 }, { 790, 759 },
1123  { 821, 790 }, { 852, 821 }, { 883, 852 }, { 914, 883 },
1124  { 945, 914 }, { 976, 945 }, { 1007, 976 }, { 574, 543 },
1125  { 605, 574 }, { 636, 605 }, { 698, 667 }, { 729, 698 },
1126  { 760, 729 }, { 822, 791 }, { 853, 822 }, { 884, 853 },
1127  { 946, 915 }, { 977, 946 }, { 1008, 977 }, { 606, 575 },
1128  { 637, 606 }, { 730, 699 }, { 761, 730 }, { 854, 823 },
1129  { 885, 854 }, { 978, 947 }, { 1009, 978 }, { 638, 607 },
1130  { 762, 731 }, { 886, 855 }, { 1010, 979 }, { 667, 636 },
1131  { 791, 760 }, { 915, 884 }, { 668, 637 }, { 699, 668 },
1132  { 792, 761 }, { 823, 792 }, { 916, 885 }, { 947, 916 },
1133  { 669, 638 }, { 700, 669 }, { 731, 700 }, { 793, 762 },
1134  { 824, 793 }, { 855, 824 }, { 917, 886 }, { 948, 917 },
1135  { 979, 948 }, { 670, 639 }, { 701, 670 }, { 732, 701 },
1136  { 763, 732 }, { 794, 763 }, { 825, 794 }, { 856, 825 },
1137  { 887, 856 }, { 918, 887 }, { 949, 918 }, { 980, 949 },
1138  { 1011, 980 }, { 702, 671 }, { 733, 702 }, { 764, 733 },
1139  { 826, 795 }, { 857, 826 }, { 888, 857 }, { 950, 919 },
1140  { 981, 950 }, { 1012, 981 }, { 734, 703 }, { 765, 734 },
1141  { 858, 827 }, { 889, 858 }, { 982, 951 }, { 1013, 982 },
1142  { 766, 735 }, { 890, 859 }, { 1014, 983 }, { 795, 764 },
1143  { 919, 888 }, { 796, 765 }, { 827, 796 }, { 920, 889 },
1144  { 951, 920 }, { 797, 766 }, { 828, 797 }, { 859, 828 },
1145  { 921, 890 }, { 952, 921 }, { 983, 952 }, { 798, 767 },
1146  { 829, 798 }, { 860, 829 }, { 891, 860 }, { 922, 891 },
1147  { 953, 922 }, { 984, 953 }, { 1015, 984 }, { 830, 799 },
1148  { 861, 830 }, { 892, 861 }, { 954, 923 }, { 985, 954 },
1149  { 1016, 985 }, { 862, 831 }, { 893, 862 }, { 986, 955 },
1150  { 1017, 986 }, { 894, 863 }, { 1018, 987 }, { 923, 892 },
1151  { 924, 893 }, { 955, 924 }, { 925, 894 }, { 956, 925 },
1152  { 987, 956 }, { 926, 895 }, { 957, 926 }, { 988, 957 },
1153  { 1019, 988 }, { 958, 927 }, { 989, 958 }, { 1020, 989 },
1154  { 990, 959 }, { 1021, 990 }, { 1022, 991 }, { 0, 0 },
1155 };
1156 
1157 const int16_t (* const ff_vp9_scans_nb[5][4])[2] = {
1158  {
1161  }, {
1164  }, {
1167  }, {
1170  }, { // lossless
1173  }
1174 };
1175 
1176 const uint8_t ff_vp9_model_pareto8[256][8] = {
1177  { 6, 86, 128, 11, 87, 42, 91, 52 },
1178  { 3, 86, 128, 6, 86, 23, 88, 29 },
1179  { 6, 86, 128, 11, 87, 42, 91, 52 },
1180  { 9, 86, 129, 17, 88, 61, 94, 76 },
1181  { 12, 86, 129, 22, 88, 77, 97, 93 },
1182  { 15, 87, 129, 28, 89, 93, 100, 110 },
1183  { 17, 87, 129, 33, 90, 105, 103, 123 },
1184  { 20, 88, 130, 38, 91, 118, 106, 136 },
1185  { 23, 88, 130, 43, 91, 128, 108, 146 },
1186  { 26, 89, 131, 48, 92, 139, 111, 156 },
1187  { 28, 89, 131, 53, 93, 147, 114, 163 },
1188  { 31, 90, 131, 58, 94, 156, 117, 171 },
1189  { 34, 90, 131, 62, 94, 163, 119, 177 },
1190  { 37, 90, 132, 66, 95, 171, 122, 184 },
1191  { 39, 90, 132, 70, 96, 177, 124, 189 },
1192  { 42, 91, 132, 75, 97, 183, 127, 194 },
1193  { 44, 91, 132, 79, 97, 188, 129, 198 },
1194  { 47, 92, 133, 83, 98, 193, 132, 202 },
1195  { 49, 92, 133, 86, 99, 197, 134, 205 },
1196  { 52, 93, 133, 90, 100, 201, 137, 208 },
1197  { 54, 93, 133, 94, 100, 204, 139, 211 },
1198  { 57, 94, 134, 98, 101, 208, 142, 214 },
1199  { 59, 94, 134, 101, 102, 211, 144, 216 },
1200  { 62, 94, 135, 105, 103, 214, 146, 218 },
1201  { 64, 94, 135, 108, 103, 216, 148, 220 },
1202  { 66, 95, 135, 111, 104, 219, 151, 222 },
1203  { 68, 95, 135, 114, 105, 221, 153, 223 },
1204  { 71, 96, 136, 117, 106, 224, 155, 225 },
1205  { 73, 96, 136, 120, 106, 225, 157, 226 },
1206  { 76, 97, 136, 123, 107, 227, 159, 228 },
1207  { 78, 97, 136, 126, 108, 229, 160, 229 },
1208  { 80, 98, 137, 129, 109, 231, 162, 231 },
1209  { 82, 98, 137, 131, 109, 232, 164, 232 },
1210  { 84, 98, 138, 134, 110, 234, 166, 233 },
1211  { 86, 98, 138, 137, 111, 235, 168, 234 },
1212  { 89, 99, 138, 140, 112, 236, 170, 235 },
1213  { 91, 99, 138, 142, 112, 237, 171, 235 },
1214  { 93, 100, 139, 145, 113, 238, 173, 236 },
1215  { 95, 100, 139, 147, 114, 239, 174, 237 },
1216  { 97, 101, 140, 149, 115, 240, 176, 238 },
1217  { 99, 101, 140, 151, 115, 241, 177, 238 },
1218  { 101, 102, 140, 154, 116, 242, 179, 239 },
1219  { 103, 102, 140, 156, 117, 242, 180, 239 },
1220  { 105, 103, 141, 158, 118, 243, 182, 240 },
1221  { 107, 103, 141, 160, 118, 243, 183, 240 },
1222  { 109, 104, 141, 162, 119, 244, 185, 241 },
1223  { 111, 104, 141, 164, 119, 244, 186, 241 },
1224  { 113, 104, 142, 166, 120, 245, 187, 242 },
1225  { 114, 104, 142, 168, 121, 245, 188, 242 },
1226  { 116, 105, 143, 170, 122, 246, 190, 243 },
1227  { 118, 105, 143, 171, 122, 246, 191, 243 },
1228  { 120, 106, 143, 173, 123, 247, 192, 244 },
1229  { 121, 106, 143, 175, 124, 247, 193, 244 },
1230  { 123, 107, 144, 177, 125, 248, 195, 244 },
1231  { 125, 107, 144, 178, 125, 248, 196, 244 },
1232  { 127, 108, 145, 180, 126, 249, 197, 245 },
1233  { 128, 108, 145, 181, 127, 249, 198, 245 },
1234  { 130, 109, 145, 183, 128, 249, 199, 245 },
1235  { 132, 109, 145, 184, 128, 249, 200, 245 },
1236  { 134, 110, 146, 186, 129, 250, 201, 246 },
1237  { 135, 110, 146, 187, 130, 250, 202, 246 },
1238  { 137, 111, 147, 189, 131, 251, 203, 246 },
1239  { 138, 111, 147, 190, 131, 251, 204, 246 },
1240  { 140, 112, 147, 192, 132, 251, 205, 247 },
1241  { 141, 112, 147, 193, 132, 251, 206, 247 },
1242  { 143, 113, 148, 194, 133, 251, 207, 247 },
1243  { 144, 113, 148, 195, 134, 251, 207, 247 },
1244  { 146, 114, 149, 197, 135, 252, 208, 248 },
1245  { 147, 114, 149, 198, 135, 252, 209, 248 },
1246  { 149, 115, 149, 199, 136, 252, 210, 248 },
1247  { 150, 115, 149, 200, 137, 252, 210, 248 },
1248  { 152, 115, 150, 201, 138, 252, 211, 248 },
1249  { 153, 115, 150, 202, 138, 252, 212, 248 },
1250  { 155, 116, 151, 204, 139, 253, 213, 249 },
1251  { 156, 116, 151, 205, 139, 253, 213, 249 },
1252  { 158, 117, 151, 206, 140, 253, 214, 249 },
1253  { 159, 117, 151, 207, 141, 253, 215, 249 },
1254  { 161, 118, 152, 208, 142, 253, 216, 249 },
1255  { 162, 118, 152, 209, 142, 253, 216, 249 },
1256  { 163, 119, 153, 210, 143, 253, 217, 249 },
1257  { 164, 119, 153, 211, 143, 253, 217, 249 },
1258  { 166, 120, 153, 212, 144, 254, 218, 250 },
1259  { 167, 120, 153, 212, 145, 254, 219, 250 },
1260  { 168, 121, 154, 213, 146, 254, 220, 250 },
1261  { 169, 121, 154, 214, 146, 254, 220, 250 },
1262  { 171, 122, 155, 215, 147, 254, 221, 250 },
1263  { 172, 122, 155, 216, 147, 254, 221, 250 },
1264  { 173, 123, 155, 217, 148, 254, 222, 250 },
1265  { 174, 123, 155, 217, 149, 254, 222, 250 },
1266  { 176, 124, 156, 218, 150, 254, 223, 250 },
1267  { 177, 124, 156, 219, 150, 254, 223, 250 },
1268  { 178, 125, 157, 220, 151, 254, 224, 251 },
1269  { 179, 125, 157, 220, 151, 254, 224, 251 },
1270  { 180, 126, 157, 221, 152, 254, 225, 251 },
1271  { 181, 126, 157, 221, 152, 254, 225, 251 },
1272  { 183, 127, 158, 222, 153, 254, 226, 251 },
1273  { 184, 127, 158, 223, 154, 254, 226, 251 },
1274  { 185, 128, 159, 224, 155, 255, 227, 251 },
1275  { 186, 128, 159, 224, 155, 255, 227, 251 },
1276  { 187, 129, 160, 225, 156, 255, 228, 251 },
1277  { 188, 130, 160, 225, 156, 255, 228, 251 },
1278  { 189, 131, 160, 226, 157, 255, 228, 251 },
1279  { 190, 131, 160, 226, 158, 255, 228, 251 },
1280  { 191, 132, 161, 227, 159, 255, 229, 251 },
1281  { 192, 132, 161, 227, 159, 255, 229, 251 },
1282  { 193, 133, 162, 228, 160, 255, 230, 252 },
1283  { 194, 133, 162, 229, 160, 255, 230, 252 },
1284  { 195, 134, 163, 230, 161, 255, 231, 252 },
1285  { 196, 134, 163, 230, 161, 255, 231, 252 },
1286  { 197, 135, 163, 231, 162, 255, 231, 252 },
1287  { 198, 135, 163, 231, 162, 255, 231, 252 },
1288  { 199, 136, 164, 232, 163, 255, 232, 252 },
1289  { 200, 136, 164, 232, 164, 255, 232, 252 },
1290  { 201, 137, 165, 233, 165, 255, 233, 252 },
1291  { 201, 137, 165, 233, 165, 255, 233, 252 },
1292  { 202, 138, 166, 233, 166, 255, 233, 252 },
1293  { 203, 138, 166, 233, 166, 255, 233, 252 },
1294  { 204, 139, 166, 234, 167, 255, 234, 252 },
1295  { 205, 139, 166, 234, 167, 255, 234, 252 },
1296  { 206, 140, 167, 235, 168, 255, 235, 252 },
1297  { 206, 140, 167, 235, 168, 255, 235, 252 },
1298  { 207, 141, 168, 236, 169, 255, 235, 252 },
1299  { 208, 141, 168, 236, 170, 255, 235, 252 },
1300  { 209, 142, 169, 237, 171, 255, 236, 252 },
1301  { 209, 143, 169, 237, 171, 255, 236, 252 },
1302  { 210, 144, 169, 237, 172, 255, 236, 252 },
1303  { 211, 144, 169, 237, 172, 255, 236, 252 },
1304  { 212, 145, 170, 238, 173, 255, 237, 252 },
1305  { 213, 145, 170, 238, 173, 255, 237, 252 },
1306  { 214, 146, 171, 239, 174, 255, 237, 253 },
1307  { 214, 146, 171, 239, 174, 255, 237, 253 },
1308  { 215, 147, 172, 240, 175, 255, 238, 253 },
1309  { 215, 147, 172, 240, 175, 255, 238, 253 },
1310  { 216, 148, 173, 240, 176, 255, 238, 253 },
1311  { 217, 148, 173, 240, 176, 255, 238, 253 },
1312  { 218, 149, 173, 241, 177, 255, 239, 253 },
1313  { 218, 149, 173, 241, 178, 255, 239, 253 },
1314  { 219, 150, 174, 241, 179, 255, 239, 253 },
1315  { 219, 151, 174, 241, 179, 255, 239, 253 },
1316  { 220, 152, 175, 242, 180, 255, 240, 253 },
1317  { 221, 152, 175, 242, 180, 255, 240, 253 },
1318  { 222, 153, 176, 242, 181, 255, 240, 253 },
1319  { 222, 153, 176, 242, 181, 255, 240, 253 },
1320  { 223, 154, 177, 243, 182, 255, 240, 253 },
1321  { 223, 154, 177, 243, 182, 255, 240, 253 },
1322  { 224, 155, 178, 244, 183, 255, 241, 253 },
1323  { 224, 155, 178, 244, 183, 255, 241, 253 },
1324  { 225, 156, 178, 244, 184, 255, 241, 253 },
1325  { 225, 157, 178, 244, 184, 255, 241, 253 },
1326  { 226, 158, 179, 244, 185, 255, 242, 253 },
1327  { 227, 158, 179, 244, 185, 255, 242, 253 },
1328  { 228, 159, 180, 245, 186, 255, 242, 253 },
1329  { 228, 159, 180, 245, 186, 255, 242, 253 },
1330  { 229, 160, 181, 245, 187, 255, 242, 253 },
1331  { 229, 160, 181, 245, 187, 255, 242, 253 },
1332  { 230, 161, 182, 246, 188, 255, 243, 253 },
1333  { 230, 162, 182, 246, 188, 255, 243, 253 },
1334  { 231, 163, 183, 246, 189, 255, 243, 253 },
1335  { 231, 163, 183, 246, 189, 255, 243, 253 },
1336  { 232, 164, 184, 247, 190, 255, 243, 253 },
1337  { 232, 164, 184, 247, 190, 255, 243, 253 },
1338  { 233, 165, 185, 247, 191, 255, 244, 253 },
1339  { 233, 165, 185, 247, 191, 255, 244, 253 },
1340  { 234, 166, 185, 247, 192, 255, 244, 253 },
1341  { 234, 167, 185, 247, 192, 255, 244, 253 },
1342  { 235, 168, 186, 248, 193, 255, 244, 253 },
1343  { 235, 168, 186, 248, 193, 255, 244, 253 },
1344  { 236, 169, 187, 248, 194, 255, 244, 253 },
1345  { 236, 169, 187, 248, 194, 255, 244, 253 },
1346  { 236, 170, 188, 248, 195, 255, 245, 253 },
1347  { 236, 170, 188, 248, 195, 255, 245, 253 },
1348  { 237, 171, 189, 249, 196, 255, 245, 254 },
1349  { 237, 172, 189, 249, 196, 255, 245, 254 },
1350  { 238, 173, 190, 249, 197, 255, 245, 254 },
1351  { 238, 173, 190, 249, 197, 255, 245, 254 },
1352  { 239, 174, 191, 249, 198, 255, 245, 254 },
1353  { 239, 174, 191, 249, 198, 255, 245, 254 },
1354  { 240, 175, 192, 249, 199, 255, 246, 254 },
1355  { 240, 176, 192, 249, 199, 255, 246, 254 },
1356  { 240, 177, 193, 250, 200, 255, 246, 254 },
1357  { 240, 177, 193, 250, 200, 255, 246, 254 },
1358  { 241, 178, 194, 250, 201, 255, 246, 254 },
1359  { 241, 178, 194, 250, 201, 255, 246, 254 },
1360  { 242, 179, 195, 250, 202, 255, 246, 254 },
1361  { 242, 180, 195, 250, 202, 255, 246, 254 },
1362  { 242, 181, 196, 250, 203, 255, 247, 254 },
1363  { 242, 181, 196, 250, 203, 255, 247, 254 },
1364  { 243, 182, 197, 251, 204, 255, 247, 254 },
1365  { 243, 183, 197, 251, 204, 255, 247, 254 },
1366  { 244, 184, 198, 251, 205, 255, 247, 254 },
1367  { 244, 184, 198, 251, 205, 255, 247, 254 },
1368  { 244, 185, 199, 251, 206, 255, 247, 254 },
1369  { 244, 185, 199, 251, 206, 255, 247, 254 },
1370  { 245, 186, 200, 251, 207, 255, 247, 254 },
1371  { 245, 187, 200, 251, 207, 255, 247, 254 },
1372  { 246, 188, 201, 252, 207, 255, 248, 254 },
1373  { 246, 188, 201, 252, 207, 255, 248, 254 },
1374  { 246, 189, 202, 252, 208, 255, 248, 254 },
1375  { 246, 190, 202, 252, 208, 255, 248, 254 },
1376  { 247, 191, 203, 252, 209, 255, 248, 254 },
1377  { 247, 191, 203, 252, 209, 255, 248, 254 },
1378  { 247, 192, 204, 252, 210, 255, 248, 254 },
1379  { 247, 193, 204, 252, 210, 255, 248, 254 },
1380  { 248, 194, 205, 252, 211, 255, 248, 254 },
1381  { 248, 194, 205, 252, 211, 255, 248, 254 },
1382  { 248, 195, 206, 252, 212, 255, 249, 254 },
1383  { 248, 196, 206, 252, 212, 255, 249, 254 },
1384  { 249, 197, 207, 253, 213, 255, 249, 254 },
1385  { 249, 197, 207, 253, 213, 255, 249, 254 },
1386  { 249, 198, 208, 253, 214, 255, 249, 254 },
1387  { 249, 199, 209, 253, 214, 255, 249, 254 },
1388  { 250, 200, 210, 253, 215, 255, 249, 254 },
1389  { 250, 200, 210, 253, 215, 255, 249, 254 },
1390  { 250, 201, 211, 253, 215, 255, 249, 254 },
1391  { 250, 202, 211, 253, 215, 255, 249, 254 },
1392  { 250, 203, 212, 253, 216, 255, 249, 254 },
1393  { 250, 203, 212, 253, 216, 255, 249, 254 },
1394  { 251, 204, 213, 253, 217, 255, 250, 254 },
1395  { 251, 205, 213, 253, 217, 255, 250, 254 },
1396  { 251, 206, 214, 254, 218, 255, 250, 254 },
1397  { 251, 206, 215, 254, 218, 255, 250, 254 },
1398  { 252, 207, 216, 254, 219, 255, 250, 254 },
1399  { 252, 208, 216, 254, 219, 255, 250, 254 },
1400  { 252, 209, 217, 254, 220, 255, 250, 254 },
1401  { 252, 210, 217, 254, 220, 255, 250, 254 },
1402  { 252, 211, 218, 254, 221, 255, 250, 254 },
1403  { 252, 212, 218, 254, 221, 255, 250, 254 },
1404  { 253, 213, 219, 254, 222, 255, 250, 254 },
1405  { 253, 213, 220, 254, 222, 255, 250, 254 },
1406  { 253, 214, 221, 254, 223, 255, 250, 254 },
1407  { 253, 215, 221, 254, 223, 255, 250, 254 },
1408  { 253, 216, 222, 254, 224, 255, 251, 254 },
1409  { 253, 217, 223, 254, 224, 255, 251, 254 },
1410  { 253, 218, 224, 254, 225, 255, 251, 254 },
1411  { 253, 219, 224, 254, 225, 255, 251, 254 },
1412  { 254, 220, 225, 254, 225, 255, 251, 254 },
1413  { 254, 221, 226, 254, 225, 255, 251, 254 },
1414  { 254, 222, 227, 255, 226, 255, 251, 254 },
1415  { 254, 223, 227, 255, 226, 255, 251, 254 },
1416  { 254, 224, 228, 255, 227, 255, 251, 254 },
1417  { 254, 225, 229, 255, 227, 255, 251, 254 },
1418  { 254, 226, 230, 255, 228, 255, 251, 254 },
1419  { 254, 227, 230, 255, 229, 255, 251, 254 },
1420  { 255, 228, 231, 255, 230, 255, 251, 254 },
1421  { 255, 229, 232, 255, 230, 255, 251, 254 },
1422  { 255, 230, 233, 255, 231, 255, 252, 254 },
1423  { 255, 231, 234, 255, 231, 255, 252, 254 },
1424  { 255, 232, 235, 255, 232, 255, 252, 254 },
1425  { 255, 233, 236, 255, 232, 255, 252, 254 },
1426  { 255, 235, 237, 255, 233, 255, 252, 254 },
1427  { 255, 236, 238, 255, 234, 255, 252, 254 },
1428  { 255, 238, 240, 255, 235, 255, 252, 255 },
1429  { 255, 239, 241, 255, 235, 255, 252, 254 },
1430  { 255, 241, 243, 255, 236, 255, 252, 254 },
1431  { 255, 243, 245, 255, 237, 255, 252, 254 },
1432  { 255, 246, 247, 255, 239, 255, 253, 255 },
1433 };
1434 
1436  { /* y_mode */
1437  { 65, 32, 18, 144, 162, 194, 41, 51, 98 } /* bsize < 8x8 */,
1438  { 132, 68, 18, 165, 217, 196, 45, 40, 78 } /* bsize < 16x16 */,
1439  { 173, 80, 19, 176, 240, 193, 64, 35, 46 } /* bsize < 32x32 */,
1440  { 221, 135, 38, 194, 248, 121, 96, 85, 29 } /* bsize >= 32x32 */
1441  }, { /* uv_mode */
1442  { 48, 12, 154, 155, 139, 90, 34, 117, 119 } /* y = v */,
1443  { 67, 6, 25, 204, 243, 158, 13, 21, 96 } /* y = h */,
1444  { 120, 7, 76, 176, 208, 126, 28, 54, 103 } /* y = dc */,
1445  { 97, 5, 44, 131, 176, 139, 48, 68, 97 } /* y = d45 */,
1446  { 83, 5, 42, 156, 111, 152, 26, 49, 152 } /* y = d135 */,
1447  { 80, 5, 58, 178, 74, 83, 33, 62, 145 } /* y = d117 */,
1448  { 86, 5, 32, 154, 192, 168, 14, 22, 163 } /* y = d153 */,
1449  { 77, 7, 64, 116, 132, 122, 37, 126, 120 } /* y = d63 */,
1450  { 85, 5, 32, 156, 216, 148, 19, 29, 73 } /* y = d27 */,
1451  { 101, 21, 107, 181, 192, 103, 19, 67, 125 } /* y = tm */
1452  }, { /* filter */
1453  { 235, 162, },
1454  { 36, 255, },
1455  { 34, 3, },
1456  { 149, 144, },
1457  }, { /* mv_mode */
1458  { 2, 173, 34 }, // 0 = both zero mv
1459  { 7, 145, 85 }, // 1 = one zero mv + one a predicted mv
1460  { 7, 166, 63 }, // 2 = two predicted mvs
1461  { 7, 94, 66 }, // 3 = one predicted/zero and one new mv
1462  { 8, 64, 46 }, // 4 = two new mvs
1463  { 17, 81, 31 }, // 5 = one intra neighbor + x
1464  { 25, 29, 30 }, // 6 = two intra neighbors
1465  }, { /* intra */
1466  9, 102, 187, 225
1467  }, { /* comp */
1468  239, 183, 119, 96, 41
1469  }, { /* single_ref */
1470  { 33, 16 },
1471  { 77, 74 },
1472  { 142, 142 },
1473  { 172, 170 },
1474  { 238, 247 }
1475  }, { /* comp_ref */
1476  50, 126, 123, 221, 226
1477  }, { /* tx32p */
1478  { 3, 136, 37, },
1479  { 5, 52, 13, },
1480  }, { /* tx16p */
1481  { 20, 152, },
1482  { 15, 101, },
1483  }, { /* tx8p */
1484  100, 66
1485  }, { /* skip */
1486  192, 128, 64
1487  }, { /* mv_joint */
1488  32, 64, 96
1489  }, {
1490  { /* mv vertical component */
1491  128, /* sign */
1492  { 224, 144, 192, 168, 192, 176, 192, 198, 198, 245 }, /* class */
1493  216, /* class0 */
1494  { 136, 140, 148, 160, 176, 192, 224, 234, 234, 240 }, /* bits */
1495  { /* class0_fp */
1496  { 128, 128, 64 },
1497  { 96, 112, 64 }
1498  },
1499  { 64, 96, 64 }, /* fp */
1500  160, /* class0_hp bit */
1501  128, /* hp */
1502  }, { /* mv horizontal component */
1503  128, /* sign */
1504  { 216, 128, 176, 160, 176, 176, 192, 198, 198, 208 }, /* class */
1505  208, /* class0 */
1506  { 136, 140, 148, 160, 176, 192, 224, 234, 234, 240 }, /* bits */
1507  { /* class0_fp */
1508  { 128, 128, 64 },
1509  { 96, 112, 64 }
1510  },
1511  { 64, 96, 64 }, /* fp */
1512  160, /* class0_hp bit */
1513  128, /* hp */
1514  }
1515  }, { /* partition */
1516  { /* 64x64 -> 32x32 */
1517  { 222, 34, 30 } /* a/l both not split */,
1518  { 72, 16, 44 } /* a split, l not split */,
1519  { 58, 32, 12 } /* l split, a not split */,
1520  { 10, 7, 6 } /* a/l both split */,
1521  }, { /* 32x32 -> 16x16 */
1522  { 177, 58, 59 } /* a/l both not split */,
1523  { 68, 26, 63 } /* a split, l not split */,
1524  { 52, 79, 25 } /* l split, a not split */,
1525  { 17, 14, 12 } /* a/l both split */,
1526  }, { /* 16x16 -> 8x8 */
1527  { 174, 73, 87 } /* a/l both not split */,
1528  { 92, 41, 83 } /* a split, l not split */,
1529  { 82, 99, 50 } /* l split, a not split */,
1530  { 53, 39, 39 } /* a/l both split */,
1531  }, { /* 8x8 -> 4x4 */
1532  { 199, 122, 141 } /* a/l both not split */,
1533  { 147, 63, 159 } /* a split, l not split */,
1534  { 148, 133, 118 } /* l split, a not split */,
1535  { 121, 104, 114 } /* a/l both split */,
1536  }
1537  },
1538 };
1539 
1540 const uint8_t ff_vp9_default_coef_probs[4][2][2][6][6][3] = {
1541  { /* tx = 4x4 */
1542  { /* block Type 0 */
1543  { /* Intra */
1544  { /* Coeff Band 0 */
1545  { 195, 29, 183 },
1546  { 84, 49, 136 },
1547  { 8, 42, 71 }
1548  }, { /* Coeff Band 1 */
1549  { 31, 107, 169 },
1550  { 35, 99, 159 },
1551  { 17, 82, 140 },
1552  { 8, 66, 114 },
1553  { 2, 44, 76 },
1554  { 1, 19, 32 }
1555  }, { /* Coeff Band 2 */
1556  { 40, 132, 201 },
1557  { 29, 114, 187 },
1558  { 13, 91, 157 },
1559  { 7, 75, 127 },
1560  { 3, 58, 95 },
1561  { 1, 28, 47 }
1562  }, { /* Coeff Band 3 */
1563  { 69, 142, 221 },
1564  { 42, 122, 201 },
1565  { 15, 91, 159 },
1566  { 6, 67, 121 },
1567  { 1, 42, 77 },
1568  { 1, 17, 31 }
1569  }, { /* Coeff Band 4 */
1570  { 102, 148, 228 },
1571  { 67, 117, 204 },
1572  { 17, 82, 154 },
1573  { 6, 59, 114 },
1574  { 2, 39, 75 },
1575  { 1, 15, 29 }
1576  }, { /* Coeff Band 5 */
1577  { 156, 57, 233 },
1578  { 119, 57, 212 },
1579  { 58, 48, 163 },
1580  { 29, 40, 124 },
1581  { 12, 30, 81 },
1582  { 3, 12, 31 }
1583  }
1584  }, { /* Inter */
1585  { /* Coeff Band 0 */
1586  { 191, 107, 226 },
1587  { 124, 117, 204 },
1588  { 25, 99, 155 }
1589  }, { /* Coeff Band 1 */
1590  { 29, 148, 210 },
1591  { 37, 126, 194 },
1592  { 8, 93, 157 },
1593  { 2, 68, 118 },
1594  { 1, 39, 69 },
1595  { 1, 17, 33 }
1596  }, { /* Coeff Band 2 */
1597  { 41, 151, 213 },
1598  { 27, 123, 193 },
1599  { 3, 82, 144 },
1600  { 1, 58, 105 },
1601  { 1, 32, 60 },
1602  { 1, 13, 26 }
1603  }, { /* Coeff Band 3 */
1604  { 59, 159, 220 },
1605  { 23, 126, 198 },
1606  { 4, 88, 151 },
1607  { 1, 66, 114 },
1608  { 1, 38, 71 },
1609  { 1, 18, 34 }
1610  }, { /* Coeff Band 4 */
1611  { 114, 136, 232 },
1612  { 51, 114, 207 },
1613  { 11, 83, 155 },
1614  { 3, 56, 105 },
1615  { 1, 33, 65 },
1616  { 1, 17, 34 }
1617  }, { /* Coeff Band 5 */
1618  { 149, 65, 234 },
1619  { 121, 57, 215 },
1620  { 61, 49, 166 },
1621  { 28, 36, 114 },
1622  { 12, 25, 76 },
1623  { 3, 16, 42 }
1624  }
1625  }
1626  }, { /* block Type 1 */
1627  { /* Intra */
1628  { /* Coeff Band 0 */
1629  { 214, 49, 220 },
1630  { 132, 63, 188 },
1631  { 42, 65, 137 }
1632  }, { /* Coeff Band 1 */
1633  { 85, 137, 221 },
1634  { 104, 131, 216 },
1635  { 49, 111, 192 },
1636  { 21, 87, 155 },
1637  { 2, 49, 87 },
1638  { 1, 16, 28 }
1639  }, { /* Coeff Band 2 */
1640  { 89, 163, 230 },
1641  { 90, 137, 220 },
1642  { 29, 100, 183 },
1643  { 10, 70, 135 },
1644  { 2, 42, 81 },
1645  { 1, 17, 33 }
1646  }, { /* Coeff Band 3 */
1647  { 108, 167, 237 },
1648  { 55, 133, 222 },
1649  { 15, 97, 179 },
1650  { 4, 72, 135 },
1651  { 1, 45, 85 },
1652  { 1, 19, 38 }
1653  }, { /* Coeff Band 4 */
1654  { 124, 146, 240 },
1655  { 66, 124, 224 },
1656  { 17, 88, 175 },
1657  { 4, 58, 122 },
1658  { 1, 36, 75 },
1659  { 1, 18, 37 }
1660  }, { /* Coeff Band 5 */
1661  { 141, 79, 241 },
1662  { 126, 70, 227 },
1663  { 66, 58, 182 },
1664  { 30, 44, 136 },
1665  { 12, 34, 96 },
1666  { 2, 20, 47 }
1667  }
1668  }, { /* Inter */
1669  { /* Coeff Band 0 */
1670  { 229, 99, 249 },
1671  { 143, 111, 235 },
1672  { 46, 109, 192 }
1673  }, { /* Coeff Band 1 */
1674  { 82, 158, 236 },
1675  { 94, 146, 224 },
1676  { 25, 117, 191 },
1677  { 9, 87, 149 },
1678  { 3, 56, 99 },
1679  { 1, 33, 57 }
1680  }, { /* Coeff Band 2 */
1681  { 83, 167, 237 },
1682  { 68, 145, 222 },
1683  { 10, 103, 177 },
1684  { 2, 72, 131 },
1685  { 1, 41, 79 },
1686  { 1, 20, 39 }
1687  }, { /* Coeff Band 3 */
1688  { 99, 167, 239 },
1689  { 47, 141, 224 },
1690  { 10, 104, 178 },
1691  { 2, 73, 133 },
1692  { 1, 44, 85 },
1693  { 1, 22, 47 }
1694  }, { /* Coeff Band 4 */
1695  { 127, 145, 243 },
1696  { 71, 129, 228 },
1697  { 17, 93, 177 },
1698  { 3, 61, 124 },
1699  { 1, 41, 84 },
1700  { 1, 21, 52 }
1701  }, { /* Coeff Band 5 */
1702  { 157, 78, 244 },
1703  { 140, 72, 231 },
1704  { 69, 58, 184 },
1705  { 31, 44, 137 },
1706  { 14, 38, 105 },
1707  { 8, 23, 61 }
1708  }
1709  }
1710  }
1711  }, { /* tx = 8x8 */
1712  { /* block Type 0 */
1713  { /* Intra */
1714  { /* Coeff Band 0 */
1715  { 125, 34, 187 },
1716  { 52, 41, 133 },
1717  { 6, 31, 56 }
1718  }, { /* Coeff Band 1 */
1719  { 37, 109, 153 },
1720  { 51, 102, 147 },
1721  { 23, 87, 128 },
1722  { 8, 67, 101 },
1723  { 1, 41, 63 },
1724  { 1, 19, 29 }
1725  }, { /* Coeff Band 2 */
1726  { 31, 154, 185 },
1727  { 17, 127, 175 },
1728  { 6, 96, 145 },
1729  { 2, 73, 114 },
1730  { 1, 51, 82 },
1731  { 1, 28, 45 }
1732  }, { /* Coeff Band 3 */
1733  { 23, 163, 200 },
1734  { 10, 131, 185 },
1735  { 2, 93, 148 },
1736  { 1, 67, 111 },
1737  { 1, 41, 69 },
1738  { 1, 14, 24 }
1739  }, { /* Coeff Band 4 */
1740  { 29, 176, 217 },
1741  { 12, 145, 201 },
1742  { 3, 101, 156 },
1743  { 1, 69, 111 },
1744  { 1, 39, 63 },
1745  { 1, 14, 23 }
1746  }, { /* Coeff Band 5 */
1747  { 57, 192, 233 },
1748  { 25, 154, 215 },
1749  { 6, 109, 167 },
1750  { 3, 78, 118 },
1751  { 1, 48, 69 },
1752  { 1, 21, 29 }
1753  }
1754  }, { /* Inter */
1755  { /* Coeff Band 0 */
1756  { 202, 105, 245 },
1757  { 108, 106, 216 },
1758  { 18, 90, 144 }
1759  }, { /* Coeff Band 1 */
1760  { 33, 172, 219 },
1761  { 64, 149, 206 },
1762  { 14, 117, 177 },
1763  { 5, 90, 141 },
1764  { 2, 61, 95 },
1765  { 1, 37, 57 }
1766  }, { /* Coeff Band 2 */
1767  { 33, 179, 220 },
1768  { 11, 140, 198 },
1769  { 1, 89, 148 },
1770  { 1, 60, 104 },
1771  { 1, 33, 57 },
1772  { 1, 12, 21 }
1773  }, { /* Coeff Band 3 */
1774  { 30, 181, 221 },
1775  { 8, 141, 198 },
1776  { 1, 87, 145 },
1777  { 1, 58, 100 },
1778  { 1, 31, 55 },
1779  { 1, 12, 20 }
1780  }, { /* Coeff Band 4 */
1781  { 32, 186, 224 },
1782  { 7, 142, 198 },
1783  { 1, 86, 143 },
1784  { 1, 58, 100 },
1785  { 1, 31, 55 },
1786  { 1, 12, 22 }
1787  }, { /* Coeff Band 5 */
1788  { 57, 192, 227 },
1789  { 20, 143, 204 },
1790  { 3, 96, 154 },
1791  { 1, 68, 112 },
1792  { 1, 42, 69 },
1793  { 1, 19, 32 }
1794  }
1795  }
1796  }, { /* block Type 1 */
1797  { /* Intra */
1798  { /* Coeff Band 0 */
1799  { 212, 35, 215 },
1800  { 113, 47, 169 },
1801  { 29, 48, 105 }
1802  }, { /* Coeff Band 1 */
1803  { 74, 129, 203 },
1804  { 106, 120, 203 },
1805  { 49, 107, 178 },
1806  { 19, 84, 144 },
1807  { 4, 50, 84 },
1808  { 1, 15, 25 }
1809  }, { /* Coeff Band 2 */
1810  { 71, 172, 217 },
1811  { 44, 141, 209 },
1812  { 15, 102, 173 },
1813  { 6, 76, 133 },
1814  { 2, 51, 89 },
1815  { 1, 24, 42 }
1816  }, { /* Coeff Band 3 */
1817  { 64, 185, 231 },
1818  { 31, 148, 216 },
1819  { 8, 103, 175 },
1820  { 3, 74, 131 },
1821  { 1, 46, 81 },
1822  { 1, 18, 30 }
1823  }, { /* Coeff Band 4 */
1824  { 65, 196, 235 },
1825  { 25, 157, 221 },
1826  { 5, 105, 174 },
1827  { 1, 67, 120 },
1828  { 1, 38, 69 },
1829  { 1, 15, 30 }
1830  }, { /* Coeff Band 5 */
1831  { 65, 204, 238 },
1832  { 30, 156, 224 },
1833  { 7, 107, 177 },
1834  { 2, 70, 124 },
1835  { 1, 42, 73 },
1836  { 1, 18, 34 }
1837  }
1838  }, { /* Inter */
1839  { /* Coeff Band 0 */
1840  { 225, 86, 251 },
1841  { 144, 104, 235 },
1842  { 42, 99, 181 }
1843  }, { /* Coeff Band 1 */
1844  { 85, 175, 239 },
1845  { 112, 165, 229 },
1846  { 29, 136, 200 },
1847  { 12, 103, 162 },
1848  { 6, 77, 123 },
1849  { 2, 53, 84 }
1850  }, { /* Coeff Band 2 */
1851  { 75, 183, 239 },
1852  { 30, 155, 221 },
1853  { 3, 106, 171 },
1854  { 1, 74, 128 },
1855  { 1, 44, 76 },
1856  { 1, 17, 28 }
1857  }, { /* Coeff Band 3 */
1858  { 73, 185, 240 },
1859  { 27, 159, 222 },
1860  { 2, 107, 172 },
1861  { 1, 75, 127 },
1862  { 1, 42, 73 },
1863  { 1, 17, 29 }
1864  }, { /* Coeff Band 4 */
1865  { 62, 190, 238 },
1866  { 21, 159, 222 },
1867  { 2, 107, 172 },
1868  { 1, 72, 122 },
1869  { 1, 40, 71 },
1870  { 1, 18, 32 }
1871  }, { /* Coeff Band 5 */
1872  { 61, 199, 240 },
1873  { 27, 161, 226 },
1874  { 4, 113, 180 },
1875  { 1, 76, 129 },
1876  { 1, 46, 80 },
1877  { 1, 23, 41 }
1878  }
1879  }
1880  }
1881  }, { /* tx = 16x16 */
1882  { /* block Type 0 */
1883  { /* Intra */
1884  { /* Coeff Band 0 */
1885  { 7, 27, 153 },
1886  { 5, 30, 95 },
1887  { 1, 16, 30 }
1888  }, { /* Coeff Band 1 */
1889  { 50, 75, 127 },
1890  { 57, 75, 124 },
1891  { 27, 67, 108 },
1892  { 10, 54, 86 },
1893  { 1, 33, 52 },
1894  { 1, 12, 18 }
1895  }, { /* Coeff Band 2 */
1896  { 43, 125, 151 },
1897  { 26, 108, 148 },
1898  { 7, 83, 122 },
1899  { 2, 59, 89 },
1900  { 1, 38, 60 },
1901  { 1, 17, 27 }
1902  }, { /* Coeff Band 3 */
1903  { 23, 144, 163 },
1904  { 13, 112, 154 },
1905  { 2, 75, 117 },
1906  { 1, 50, 81 },
1907  { 1, 31, 51 },
1908  { 1, 14, 23 }
1909  }, { /* Coeff Band 4 */
1910  { 18, 162, 185 },
1911  { 6, 123, 171 },
1912  { 1, 78, 125 },
1913  { 1, 51, 86 },
1914  { 1, 31, 54 },
1915  { 1, 14, 23 }
1916  }, { /* Coeff Band 5 */
1917  { 15, 199, 227 },
1918  { 3, 150, 204 },
1919  { 1, 91, 146 },
1920  { 1, 55, 95 },
1921  { 1, 30, 53 },
1922  { 1, 11, 20 }
1923  }
1924  }, { /* Inter */
1925  { /* Coeff Band 0 */
1926  { 19, 55, 240 },
1927  { 19, 59, 196 },
1928  { 3, 52, 105 }
1929  }, { /* Coeff Band 1 */
1930  { 41, 166, 207 },
1931  { 104, 153, 199 },
1932  { 31, 123, 181 },
1933  { 14, 101, 152 },
1934  { 5, 72, 106 },
1935  { 1, 36, 52 }
1936  }, { /* Coeff Band 2 */
1937  { 35, 176, 211 },
1938  { 12, 131, 190 },
1939  { 2, 88, 144 },
1940  { 1, 60, 101 },
1941  { 1, 36, 60 },
1942  { 1, 16, 28 }
1943  }, { /* Coeff Band 3 */
1944  { 28, 183, 213 },
1945  { 8, 134, 191 },
1946  { 1, 86, 142 },
1947  { 1, 56, 96 },
1948  { 1, 30, 53 },
1949  { 1, 12, 20 }
1950  }, { /* Coeff Band 4 */
1951  { 20, 190, 215 },
1952  { 4, 135, 192 },
1953  { 1, 84, 139 },
1954  { 1, 53, 91 },
1955  { 1, 28, 49 },
1956  { 1, 11, 20 }
1957  }, { /* Coeff Band 5 */
1958  { 13, 196, 216 },
1959  { 2, 137, 192 },
1960  { 1, 86, 143 },
1961  { 1, 57, 99 },
1962  { 1, 32, 56 },
1963  { 1, 13, 24 }
1964  }
1965  }
1966  }, { /* block Type 1 */
1967  { /* Intra */
1968  { /* Coeff Band 0 */
1969  { 211, 29, 217 },
1970  { 96, 47, 156 },
1971  { 22, 43, 87 }
1972  }, { /* Coeff Band 1 */
1973  { 78, 120, 193 },
1974  { 111, 116, 186 },
1975  { 46, 102, 164 },
1976  { 15, 80, 128 },
1977  { 2, 49, 76 },
1978  { 1, 18, 28 }
1979  }, { /* Coeff Band 2 */
1980  { 71, 161, 203 },
1981  { 42, 132, 192 },
1982  { 10, 98, 150 },
1983  { 3, 69, 109 },
1984  { 1, 44, 70 },
1985  { 1, 18, 29 }
1986  }, { /* Coeff Band 3 */
1987  { 57, 186, 211 },
1988  { 30, 140, 196 },
1989  { 4, 93, 146 },
1990  { 1, 62, 102 },
1991  { 1, 38, 65 },
1992  { 1, 16, 27 }
1993  }, { /* Coeff Band 4 */
1994  { 47, 199, 217 },
1995  { 14, 145, 196 },
1996  { 1, 88, 142 },
1997  { 1, 57, 98 },
1998  { 1, 36, 62 },
1999  { 1, 15, 26 }
2000  }, { /* Coeff Band 5 */
2001  { 26, 219, 229 },
2002  { 5, 155, 207 },
2003  { 1, 94, 151 },
2004  { 1, 60, 104 },
2005  { 1, 36, 62 },
2006  { 1, 16, 28 }
2007  }
2008  }, { /* Inter */
2009  { /* Coeff Band 0 */
2010  { 233, 29, 248 },
2011  { 146, 47, 220 },
2012  { 43, 52, 140 }
2013  }, { /* Coeff Band 1 */
2014  { 100, 163, 232 },
2015  { 179, 161, 222 },
2016  { 63, 142, 204 },
2017  { 37, 113, 174 },
2018  { 26, 89, 137 },
2019  { 18, 68, 97 }
2020  }, { /* Coeff Band 2 */
2021  { 85, 181, 230 },
2022  { 32, 146, 209 },
2023  { 7, 100, 164 },
2024  { 3, 71, 121 },
2025  { 1, 45, 77 },
2026  { 1, 18, 30 }
2027  }, { /* Coeff Band 3 */
2028  { 65, 187, 230 },
2029  { 20, 148, 207 },
2030  { 2, 97, 159 },
2031  { 1, 68, 116 },
2032  { 1, 40, 70 },
2033  { 1, 14, 29 }
2034  }, { /* Coeff Band 4 */
2035  { 40, 194, 227 },
2036  { 8, 147, 204 },
2037  { 1, 94, 155 },
2038  { 1, 65, 112 },
2039  { 1, 39, 66 },
2040  { 1, 14, 26 }
2041  }, { /* Coeff Band 5 */
2042  { 16, 208, 228 },
2043  { 3, 151, 207 },
2044  { 1, 98, 160 },
2045  { 1, 67, 117 },
2046  { 1, 41, 74 },
2047  { 1, 17, 31 }
2048  }
2049  }
2050  }
2051  }, { /* tx = 32x32 */
2052  { /* block Type 0 */
2053  { /* Intra */
2054  { /* Coeff Band 0 */
2055  { 17, 38, 140 },
2056  { 7, 34, 80 },
2057  { 1, 17, 29 }
2058  }, { /* Coeff Band 1 */
2059  { 37, 75, 128 },
2060  { 41, 76, 128 },
2061  { 26, 66, 116 },
2062  { 12, 52, 94 },
2063  { 2, 32, 55 },
2064  { 1, 10, 16 }
2065  }, { /* Coeff Band 2 */
2066  { 50, 127, 154 },
2067  { 37, 109, 152 },
2068  { 16, 82, 121 },
2069  { 5, 59, 85 },
2070  { 1, 35, 54 },
2071  { 1, 13, 20 }
2072  }, { /* Coeff Band 3 */
2073  { 40, 142, 167 },
2074  { 17, 110, 157 },
2075  { 2, 71, 112 },
2076  { 1, 44, 72 },
2077  { 1, 27, 45 },
2078  { 1, 11, 17 }
2079  }, { /* Coeff Band 4 */
2080  { 30, 175, 188 },
2081  { 9, 124, 169 },
2082  { 1, 74, 116 },
2083  { 1, 48, 78 },
2084  { 1, 30, 49 },
2085  { 1, 11, 18 }
2086  }, { /* Coeff Band 5 */
2087  { 10, 222, 223 },
2088  { 2, 150, 194 },
2089  { 1, 83, 128 },
2090  { 1, 48, 79 },
2091  { 1, 27, 45 },
2092  { 1, 11, 17 }
2093  }
2094  }, { /* Inter */
2095  { /* Coeff Band 0 */
2096  { 36, 41, 235 },
2097  { 29, 36, 193 },
2098  { 10, 27, 111 }
2099  }, { /* Coeff Band 1 */
2100  { 85, 165, 222 },
2101  { 177, 162, 215 },
2102  { 110, 135, 195 },
2103  { 57, 113, 168 },
2104  { 23, 83, 120 },
2105  { 10, 49, 61 }
2106  }, { /* Coeff Band 2 */
2107  { 85, 190, 223 },
2108  { 36, 139, 200 },
2109  { 5, 90, 146 },
2110  { 1, 60, 103 },
2111  { 1, 38, 65 },
2112  { 1, 18, 30 }
2113  }, { /* Coeff Band 3 */
2114  { 72, 202, 223 },
2115  { 23, 141, 199 },
2116  { 2, 86, 140 },
2117  { 1, 56, 97 },
2118  { 1, 36, 61 },
2119  { 1, 16, 27 }
2120  }, { /* Coeff Band 4 */
2121  { 55, 218, 225 },
2122  { 13, 145, 200 },
2123  { 1, 86, 141 },
2124  { 1, 57, 99 },
2125  { 1, 35, 61 },
2126  { 1, 13, 22 }
2127  }, { /* Coeff Band 5 */
2128  { 15, 235, 212 },
2129  { 1, 132, 184 },
2130  { 1, 84, 139 },
2131  { 1, 57, 97 },
2132  { 1, 34, 56 },
2133  { 1, 14, 23 }
2134  }
2135  }
2136  }, { /* block Type 1 */
2137  { /* Intra */
2138  { /* Coeff Band 0 */
2139  { 181, 21, 201 },
2140  { 61, 37, 123 },
2141  { 10, 38, 71 }
2142  }, { /* Coeff Band 1 */
2143  { 47, 106, 172 },
2144  { 95, 104, 173 },
2145  { 42, 93, 159 },
2146  { 18, 77, 131 },
2147  { 4, 50, 81 },
2148  { 1, 17, 23 }
2149  }, { /* Coeff Band 2 */
2150  { 62, 147, 199 },
2151  { 44, 130, 189 },
2152  { 28, 102, 154 },
2153  { 18, 75, 115 },
2154  { 2, 44, 65 },
2155  { 1, 12, 19 }
2156  }, { /* Coeff Band 3 */
2157  { 55, 153, 210 },
2158  { 24, 130, 194 },
2159  { 3, 93, 146 },
2160  { 1, 61, 97 },
2161  { 1, 31, 50 },
2162  { 1, 10, 16 }
2163  }, { /* Coeff Band 4 */
2164  { 49, 186, 223 },
2165  { 17, 148, 204 },
2166  { 1, 96, 142 },
2167  { 1, 53, 83 },
2168  { 1, 26, 44 },
2169  { 1, 11, 17 }
2170  }, { /* Coeff Band 5 */
2171  { 13, 217, 212 },
2172  { 2, 136, 180 },
2173  { 1, 78, 124 },
2174  { 1, 50, 83 },
2175  { 1, 29, 49 },
2176  { 1, 14, 23 }
2177  }
2178  }, { /* Inter */
2179  { /* Coeff Band 0 */
2180  { 197, 13, 247 },
2181  { 82, 17, 222 },
2182  { 25, 17, 162 }
2183  }, { /* Coeff Band 1 */
2184  { 126, 186, 247 },
2185  { 234, 191, 243 },
2186  { 176, 177, 234 },
2187  { 104, 158, 220 },
2188  { 66, 128, 186 },
2189  { 55, 90, 137 }
2190  }, { /* Coeff Band 2 */
2191  { 111, 197, 242 },
2192  { 46, 158, 219 },
2193  { 9, 104, 171 },
2194  { 2, 65, 125 },
2195  { 1, 44, 80 },
2196  { 1, 17, 91 }
2197  }, { /* Coeff Band 3 */
2198  { 104, 208, 245 },
2199  { 39, 168, 224 },
2200  { 3, 109, 162 },
2201  { 1, 79, 124 },
2202  { 1, 50, 102 },
2203  { 1, 43, 102 }
2204  }, { /* Coeff Band 4 */
2205  { 84, 220, 246 },
2206  { 31, 177, 231 },
2207  { 2, 115, 180 },
2208  { 1, 79, 134 },
2209  { 1, 55, 77 },
2210  { 1, 60, 79 }
2211  }, { /* Coeff Band 5 */
2212  { 43, 243, 240 },
2213  { 8, 180, 217 },
2214  { 1, 115, 166 },
2215  { 1, 84, 121 },
2216  { 1, 51, 67 },
2217  { 1, 16, 6 }
2218  }
2219  }
2220  }
2221  }
2222 };
2223 
2224 const int8_t ff_vp9_mv_joint_tree[3][2] = {
2225  { -MV_JOINT_ZERO, 1 }, // '0'
2226  { -MV_JOINT_H, 2 }, // '10'
2227  { -MV_JOINT_V, -MV_JOINT_HV }, // '11x'
2228 };
2229 
2230 const int8_t ff_vp9_mv_class_tree[10][2] = {
2231  { -0, 1 }, // '0'
2232  { -1, 2 }, // '10'
2233  { 3, 4 },
2234  { -2, -3 }, // '110x'
2235  { 5, 6 },
2236  { -4, -5 }, // '1110x'
2237  { -6, 7 }, // '11110'
2238  { 8, 9 },
2239  { -7, -8 }, // '111110x'
2240  { -9, -10 }, // '111111x'
2241 };
2242 
2243 const int8_t ff_vp9_mv_fp_tree[3][2] = {
2244  { -0, 1 }, // '0'
2245  { -1, 2 }, // '10'
2246  { -2, -3 }, // '11x'
2247 };
ff_vp9_default_scan_8x8
const int16_t ff_vp9_default_scan_8x8[64]
Definition: vp9data.c:475
ff_vp9_row_scan_16x16_nb
const int16_t ff_vp9_row_scan_16x16_nb[256][2]
Definition: vp9data.c:831
ff_vp9_default_kf_uvmode_probs
const uint8_t ff_vp9_default_kf_uvmode_probs[10][9]
Definition: vp9data.c:201
ff_vp9_col_scan_4x4
const int16_t ff_vp9_col_scan_4x4[16]
Definition: vp9data.c:461
ff_vp9_filter_tree
const int8_t ff_vp9_filter_tree[2][2]
Definition: vp9data.c:220
ff_vp9_mv_joint_tree
const int8_t ff_vp9_mv_joint_tree[3][2]
Definition: vp9data.c:2224
ff_vp9_default_scan_32x32_nb
const int16_t ff_vp9_default_scan_32x32_nb[1024][2]
Definition: vp9data.c:898
ff_vp9_row_scan_4x4_nb
const int16_t ff_vp9_row_scan_4x4_nb[16][2]
Definition: vp9data.c:633
TM_VP8_PRED
@ TM_VP8_PRED
Definition: vp9.h:55
DC_PRED
@ DC_PRED
Definition: vp9.h:48
ff_vp9_default_scan_32x32
const int16_t ff_vp9_default_scan_32x32[1024]
Definition: vp9data.c:565
ff_vp9_col_scan_4x4_nb
const int16_t ff_vp9_col_scan_4x4_nb[16][2]
Definition: vp9data.c:626
ff_vp9_mv_class_tree
const int8_t ff_vp9_mv_class_tree[10][2]
Definition: vp9data.c:2230
VERT_LEFT_PRED
@ VERT_LEFT_PRED
Definition: vp9.h:53
ff_vp9_default_scan_4x4
const int16_t ff_vp9_default_scan_4x4[16]
Definition: vp9data.c:454
ff_vp9_row_scan_16x16
const int16_t ff_vp9_row_scan_16x16[256]
Definition: vp9data.c:546
MV_JOINT_HV
@ MV_JOINT_HV
Definition: vp9dec.h:48
NEARMV
@ NEARMV
Definition: vp9shared.h:44
FilterMode
FilterMode
Definition: vp9.h:64
ff_vp9_ac_qlookup
const int16_t ff_vp9_ac_qlookup[3][256]
Definition: vp9data.c:334
ff_vp9_intramode_tree
const int8_t ff_vp9_intramode_tree[9][2]
Definition: vp9data.c:75
VERT_PRED
@ VERT_PRED
Definition: vp9.h:46
DIAG_DOWN_RIGHT_PRED
@ DIAG_DOWN_RIGHT_PRED
Definition: vp9.h:50
PARTITION_NONE
@ PARTITION_NONE
Definition: vp9shared.h:36
FILTER_8TAP_SHARP
@ FILTER_8TAP_SHARP
Definition: vp9.h:67
ff_vp9_row_scan_8x8_nb
const int16_t ff_vp9_row_scan_8x8_nb[64][2]
Definition: vp9data.c:678
ZEROMV
@ ZEROMV
Definition: vp9shared.h:45
ff_vp9_default_kf_ymode_probs
const uint8_t ff_vp9_default_kf_ymode_probs[10][10][9]
Definition: vp9data.c:87
ff_vp9_model_pareto8
const uint8_t ff_vp9_model_pareto8[256][8]
Definition: vp9data.c:1176
HOR_PRED
@ HOR_PRED
Definition: vp9.h:47
ff_vp9_mv_fp_tree
const int8_t ff_vp9_mv_fp_tree[3][2]
Definition: vp9data.c:2243
PARTITION_V
@ PARTITION_V
Definition: vp9shared.h:38
ff_vp9_inter_mode_tree
const int8_t ff_vp9_inter_mode_tree[3][2]
Definition: vp9data.c:214
ff_vp9_scans
const int16_t *const ff_vp9_scans[5][4]
Definition: vp9data.c:600
vp9data.h
ff_vp9_col_scan_16x16
const int16_t ff_vp9_col_scan_16x16[256]
Definition: vp9data.c:527
ff_vp9_partition_tree
const int8_t ff_vp9_partition_tree[3][2]
Definition: vp9data.c:35
ff_vp9_default_scan_16x16_nb
const int16_t ff_vp9_default_scan_16x16_nb[256][2]
Definition: vp9data.c:697
DCT_ADST
@ DCT_ADST
Definition: vp9.h:39
ff_vp9_row_scan_8x8
const int16_t ff_vp9_row_scan_8x8[64]
Definition: vp9data.c:497
ff_vp9_filter_lut
enum FilterMode ff_vp9_filter_lut[3]
Definition: vp9data.c:225
PARTITION_SPLIT
@ PARTITION_SPLIT
Definition: vp9shared.h:39
MV_JOINT_V
@ MV_JOINT_V
Definition: vp9dec.h:47
ff_vp9_segmentation_tree
const int8_t ff_vp9_segmentation_tree[7][2]
Definition: vp9data.c:65
ff_vp9_col_scan_16x16_nb
const int16_t ff_vp9_col_scan_16x16_nb[256][2]
Definition: vp9data.c:764
ff_vp9_default_scan_4x4_nb
const int16_t ff_vp9_default_scan_4x4_nb[16][2]
Definition: vp9data.c:619
vp9.h
DCT_DCT
@ DCT_DCT
Definition: vp9.h:38
TxfmType
TxfmType
Definition: vp9.h:37
FILTER_8TAP_REGULAR
@ FILTER_8TAP_REGULAR
Definition: vp9.h:66
VERT_RIGHT_PRED
@ VERT_RIGHT_PRED
Definition: vp9.h:51
N_BS_SIZES
@ N_BS_SIZES
Definition: vp9shared.h:96
ff_vp9_default_scan_8x8_nb
const int16_t ff_vp9_default_scan_8x8_nb[64][2]
Definition: vp9data.c:640
ProbContext
Definition: vp9dec.h:51
ff_vp9_intra_txfm_type
enum TxfmType ff_vp9_intra_txfm_type[14]
Definition: vp9data.c:437
ADST_ADST
@ ADST_ADST
Definition: vp9.h:41
FILTER_8TAP_SMOOTH
@ FILTER_8TAP_SMOOTH
Definition: vp9.h:65
ff_vp9_col_scan_8x8
const int16_t ff_vp9_col_scan_8x8[64]
Definition: vp9data.c:486
ff_vp9_default_scan_16x16
const int16_t ff_vp9_default_scan_16x16[256]
Definition: vp9data.c:508
NEWMV
@ NEWMV
Definition: vp9shared.h:46
HOR_UP_PRED
@ HOR_UP_PRED
Definition: vp9.h:54
ff_vp9_bwh_tab
const uint8_t ff_vp9_bwh_tab[2][N_BS_SIZES][2]
Definition: vp9data.c:25
NEARESTMV
@ NEARESTMV
Definition: vp9shared.h:43
HOR_DOWN_PRED
@ HOR_DOWN_PRED
Definition: vp9.h:52
MV_JOINT_ZERO
@ MV_JOINT_ZERO
Definition: vp9dec.h:45
ff_vp9_default_kf_partition_probs
const uint8_t ff_vp9_default_kf_partition_probs[4][4][3]
Definition: vp9data.c:41
ff_vp9_col_scan_8x8_nb
const int16_t ff_vp9_col_scan_8x8_nb[64][2]
Definition: vp9data.c:659
MV_JOINT_H
@ MV_JOINT_H
Definition: vp9dec.h:46
ff_vp9_default_probs
const ProbContext ff_vp9_default_probs
Definition: vp9data.c:1435
PARTITION_H
@ PARTITION_H
Definition: vp9shared.h:37
ADST_DCT
@ ADST_DCT
Definition: vp9.h:40
DIAG_DOWN_LEFT_PRED
@ DIAG_DOWN_LEFT_PRED
Definition: vp9.h:49
ff_vp9_row_scan_4x4
const int16_t ff_vp9_row_scan_4x4[16]
Definition: vp9data.c:468
ff_vp9_scans_nb
const int16_t(*const [5][4] ff_vp9_scans_nb)[2]
Definition: vp9data.c:1157
ff_vp9_dc_qlookup
const int16_t ff_vp9_dc_qlookup[3][256]
Definition: vp9data.c:231
ff_vp9_default_coef_probs
const uint8_t ff_vp9_default_coef_probs[4][2][2][6][6][3]
Definition: vp9data.c:1540