• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

hardware/intel/intel-driver


Commit MetaInfo

Revisão2623285c7aac161ad89cd4f20a08f453ce5f76b7 (tree)
Hora2016-05-26 13:54:42
AutorZhao Yakui <yakui.zhao@inte...>
CommiterXiang, Haihao

Mensagem de Log

Refine vp9_probs.h so that the prob table can be used for encoding

Otherwise the prob definition will be defined twice if it is included
in two files.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Sean V Kelley <sean.v.kelley@intel.com>

Mudança Sumário

Diff

--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -97,6 +97,7 @@ source_c = \
9797 intel_memman.c \
9898 object_heap.c \
9999 intel_media_common.c \
100+ vp9_probs.c \
100101 $(NULL)
101102
102103 source_h = \
--- /dev/null
+++ b/src/vp9_probs.c
@@ -0,0 +1,527 @@
1+/*
2+ * Copyright © 2016 Intel Corporation
3+ *
4+ * Permission is hereby granted, free of charge, to any person obtaining a
5+ * copy of this software and associated documentation files (the
6+ * "Software"), to deal in the Software without restriction, including
7+ * without limitation the rights to use, copy, modify, merge, publish,
8+ * distribute, sub license, and/or sell copies of the Software, and to
9+ * permit persons to whom the Software is furnished to do so, subject to
10+ * the following conditions:
11+ *
12+ * The above copyright notice and this permission notice (including the
13+ * next paragraph) shall be included in all copies or substantial portions
14+ * of the Software.
15+ *
16+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+ *
24+ * Authors:
25+ * Zhao Yakui <yakui.zhao@intel.com>
26+ */
27+/*
28+ * This file defines some vp9 probability tables, and
29+ * they are ported from libvpx (https://github.com/webmproject/libvpx/).
30+ * The original copyright and licence statement as below.
31+ */
32+
33+/*
34+ * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
35+ *
36+ * Use of this source code is governed by a BSD-style license
37+ * that can be found in the LICENSE file in the root of the source
38+ * tree. An additional intellectual property rights grant can be found
39+ * in the file PATENTS. All contributing project authors may
40+ * be found in the AUTHORS file in the root of the source tree.
41+ */
42+#include <stdio.h>
43+#include <stdint.h>
44+#include <vp9_probs.h>
45+
46+
47+struct tx_probs default_tx_probs = {
48+ { { 100 },
49+ { 66 } },
50+
51+ { { 20, 152 },
52+ { 15, 101 } },
53+
54+ { { 3, 136, 37 },
55+ { 5, 52, 13 } },
56+};
57+
58+vp9_prob default_skip_probs[SKIP_CONTEXTS] = {
59+ 192, 128, 64
60+};
61+
62+vp9_prob default_inter_mode_probs[INTER_MODE_CONTEXTS]
63+ [INTER_MODES - 1] = {
64+ {2, 173, 34}, // 0 = both zero mv
65+ {7, 145, 85}, // 1 = one zero mv + one a predicted mv
66+ {7, 166, 63}, // 2 = two predicted mvs
67+ {7, 94, 66}, // 3 = one predicted/zero and one new mv
68+ {8, 64, 46}, // 4 = two new mvs
69+ {17, 81, 31}, // 5 = one intra neighbour + x
70+ {25, 29, 30}, // 6 = two intra neighbours
71+};
72+
73+vp9_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
74+ { 235, 162, },
75+ { 36, 255, },
76+ { 34, 3, },
77+ { 149, 144, },
78+};
79+
80+vp9_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
81+ 9, 102, 187, 225
82+};
83+
84+vp9_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
85+ 239, 183, 119, 96, 41
86+};
87+
88+vp9_prob default_single_ref_p[REF_CONTEXTS][2] = {
89+ { 33, 16 },
90+ { 77, 74 },
91+ { 142, 142 },
92+ { 172, 170 },
93+ { 238, 247 }
94+};
95+
96+vp9_prob default_comp_ref_p[REF_CONTEXTS] = {
97+ 50, 126, 123, 221, 226
98+};
99+
100+vp9_prob vp9_kf_uv_mode_prob[INTRA_MODES][INTRA_MODES - 1] = {
101+ { 144, 11, 54, 157, 195, 130, 46, 58, 108 }, // y = dc
102+ { 118, 15, 123, 148, 131, 101, 44, 93, 131 }, // y = v
103+ { 113, 12, 23, 188, 226, 142, 26, 32, 125 }, // y = h
104+ { 120, 11, 50, 123, 163, 135, 64, 77, 103 }, // y = d45
105+ { 113, 9, 36, 155, 111, 157, 32, 44, 161 }, // y = d135
106+ { 116, 9, 55, 176, 76, 96, 37, 61, 149 }, // y = d117
107+ { 115, 9, 28, 141, 161, 167, 21, 25, 193 }, // y = d153
108+ { 120, 12, 32, 145, 195, 142, 32, 38, 86 }, // y = d207
109+ { 116, 12, 64, 120, 140, 125, 49, 115, 121 }, // y = d63
110+ { 102, 19, 66, 162, 182, 122, 35, 59, 128 } // y = tm
111+};
112+
113+vp9_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
114+ { 65, 32, 18, 144, 162, 194, 41, 51, 98 }, // block_size < 8x8
115+ { 132, 68, 18, 165, 217, 196, 45, 40, 78 }, // block_size < 16x16
116+ { 173, 80, 19, 176, 240, 193, 64, 35, 46 }, // block_size < 32x32
117+ { 221, 135, 38, 194, 248, 121, 96, 85, 29 } // block_size >= 32x32
118+};
119+
120+vp9_prob default_if_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
121+ { 120, 7, 76, 176, 208, 126, 28, 54, 103 }, // y = dc
122+ { 48, 12, 154, 155, 139, 90, 34, 117, 119 }, // y = v
123+ { 67, 6, 25, 204, 243, 158, 13, 21, 96 }, // y = h
124+ { 97, 5, 44, 131, 176, 139, 48, 68, 97 }, // y = d45
125+ { 83, 5, 42, 156, 111, 152, 26, 49, 152 }, // y = d135
126+ { 80, 5, 58, 178, 74, 83, 33, 62, 145 }, // y = d117
127+ { 86, 5, 32, 154, 192, 168, 14, 22, 163 }, // y = d153
128+ { 85, 5, 32, 156, 216, 148, 19, 29, 73 }, // y = d207
129+ { 77, 7, 64, 116, 132, 122, 37, 126, 120 }, // y = d63
130+ { 101, 21, 107, 181, 192, 103, 19, 67, 125 } // y = tm
131+};
132+
133+vp9_prob default_seg_tree_probs[SEG_TREE_PROBS] = {
134+ 255, 255, 255, 255, 255, 255, 255
135+};
136+
137+vp9_prob default_seg_pred_probs[PREDICTION_PROBS] = {
138+ 255, 255, 255
139+};
140+
141+vp9_prob vp9_kf_partition_probs[PARTITION_CONTEXTS]
142+ [PARTITION_TYPES - 1] = {
143+ // 8x8 -> 4x4
144+ { 158, 97, 94 }, // a/l both not split
145+ { 93, 24, 99 }, // a split, l not split
146+ { 85, 119, 44 }, // l split, a not split
147+ { 62, 59, 67 }, // a/l both split
148+ // 16x16 -> 8x8
149+ { 149, 53, 53 }, // a/l both not split
150+ { 94, 20, 48 }, // a split, l not split
151+ { 83, 53, 24 }, // l split, a not split
152+ { 52, 18, 18 }, // a/l both split
153+ // 32x32 -> 16x16
154+ { 150, 40, 39 }, // a/l both not split
155+ { 78, 12, 26 }, // a split, l not split
156+ { 67, 33, 11 }, // l split, a not split
157+ { 24, 7, 5 }, // a/l both split
158+ // 64x64 -> 32x32
159+ { 174, 35, 49 }, // a/l both not split
160+ { 68, 11, 27 }, // a split, l not split
161+ { 57, 15, 9 }, // l split, a not split
162+ { 12, 3, 3 }, // a/l both split
163+};
164+
165+vp9_prob default_partition_probs[PARTITION_CONTEXTS]
166+ [PARTITION_TYPES - 1] = {
167+ // 8x8 -> 4x4
168+ { 199, 122, 141 }, // a/l both not split
169+ { 147, 63, 159 }, // a split, l not split
170+ { 148, 133, 118 }, // l split, a not split
171+ { 121, 104, 114 }, // a/l both split
172+ // 16x16 -> 8x8
173+ { 174, 73, 87 }, // a/l both not split
174+ { 92, 41, 83 }, // a split, l not split
175+ { 82, 99, 50 }, // l split, a not split
176+ { 53, 39, 39 }, // a/l both split
177+ // 32x32 -> 16x16
178+ { 177, 58, 59 }, // a/l both not split
179+ { 68, 26, 63 }, // a split, l not split
180+ { 52, 79, 25 }, // l split, a not split
181+ { 17, 14, 12 }, // a/l both split
182+ // 64x64 -> 32x32
183+ { 222, 34, 30 }, // a/l both not split
184+ { 72, 16, 44 }, // a split, l not split
185+ { 58, 32, 12 }, // l split, a not split
186+ { 10, 7, 6 }, // a/l both split
187+};
188+
189+//Rearranged the values for better usage
190+nmv_context default_nmv_context = {
191+ {32, 64, 96},
192+ {
193+ { // Vertical component
194+ 128, // sign
195+ {224, 144, 192, 168, 192, 176, 192, 198, 198, 245}, // class
196+ {216}, // class0
197+ {136, 140, 148, 160, 176, 192, 224, 234, 234, 240}, // bits
198+ },
199+ { // Horizontal component
200+ 128, // sign
201+ {216, 128, 176, 160, 176, 176, 192, 198, 198, 208}, // class
202+ {208}, // class0
203+ {136, 140, 148, 160, 176, 192, 224, 234, 234, 240}, // bits
204+ }
205+ },
206+ {{128, 128, 64}, {96, 112, 64}}, // class0_fp0
207+ {64, 96, 64}, // fp0
208+ {{128, 128, 64}, {96, 112, 64}}, // class0_fp1
209+ {64, 96, 64}, // fp1
210+ {160, 128}, // class0_hp bit
211+ {160, 128} // hp
212+
213+};
214+
215+//Rearranged the coeff probs for better usage
216+vp9_prob default_coef_probs_4x4[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
217+ // Y plane - Intra
218+ // Band 0
219+ { 195, 29, 183 }, { 84, 49, 136 }, { 8, 42, 71 },
220+ // Band 1
221+ { 31, 107, 169 }, { 35, 99, 159 }, { 17, 82, 140 },
222+ { 8, 66, 114 }, { 2, 44, 76 }, { 1, 19, 32 },
223+ // Band 2
224+ { 40, 132, 201 }, { 29, 114, 187 }, { 13, 91, 157 },
225+ { 7, 75, 127 }, { 3, 58, 95 }, { 1, 28, 47 },
226+ // Band 3
227+ { 69, 142, 221 }, { 42, 122, 201 }, { 15, 91, 159 },
228+ { 6, 67, 121 }, { 1, 42, 77 }, { 1, 17, 31 },
229+ // Band 4
230+ { 102, 148, 228 }, { 67, 117, 204 }, { 17, 82, 154 },
231+ { 6, 59, 114 }, { 2, 39, 75 }, { 1, 15, 29 },
232+ // Band 5
233+ { 156, 57, 233 }, { 119, 57, 212 }, { 58, 48, 163 },
234+ { 29, 40, 124 }, { 12, 30, 81 }, { 3, 12, 31 },
235+
236+ // Y plane - Inter
237+ // Band 0
238+ { 191, 107, 226 }, { 124, 117, 204 }, { 25, 99, 155 },
239+ // Band 1
240+ { 29, 148, 210 }, { 37, 126, 194 }, { 8, 93, 157 },
241+ { 2, 68, 118 }, { 1, 39, 69 }, { 1, 17, 33 },
242+ // Band 2
243+ { 41, 151, 213 }, { 27, 123, 193 }, { 3, 82, 144 },
244+ { 1, 58, 105 }, { 1, 32, 60 }, { 1, 13, 26 },
245+ // Band 3
246+ { 59, 159, 220 }, { 23, 126, 198 }, { 4, 88, 151 },
247+ { 1, 66, 114 }, { 1, 38, 71 }, { 1, 18, 34 },
248+ // Band 4
249+ { 114, 136, 232 }, { 51, 114, 207 }, { 11, 83, 155 },
250+ { 3, 56, 105 }, { 1, 33, 65 }, { 1, 17, 34 },
251+ // Band 5
252+ { 149, 65, 234 }, { 121, 57, 215 }, { 61, 49, 166 },
253+ { 28, 36, 114 }, { 12, 25, 76 }, { 3, 16, 42 },
254+
255+ // UV plane - Intra
256+ // Band 0
257+ { 214, 49, 220 }, { 132, 63, 188 }, { 42, 65, 137 },
258+ // Band 1
259+ { 85, 137, 221 }, { 104, 131, 216 }, { 49, 111, 192 },
260+ { 21, 87, 155 }, { 2, 49, 87 }, { 1, 16, 28 },
261+ // Band 2
262+ { 89, 163, 230 }, { 90, 137, 220 }, { 29, 100, 183 },
263+ { 10, 70, 135 }, { 2, 42, 81 }, { 1, 17, 33 },
264+ // Band 3
265+ { 108, 167, 237 }, { 55, 133, 222 }, { 15, 97, 179 },
266+ { 4, 72, 135 }, { 1, 45, 85 }, { 1, 19, 38 },
267+ // Band 4
268+ { 124, 146, 240 }, { 66, 124, 224 }, { 17, 88, 175 },
269+ { 4, 58, 122 }, { 1, 36, 75 }, { 1, 18, 37 },
270+ // Band 5
271+ { 141, 79, 241 }, { 126, 70, 227 }, { 66, 58, 182 },
272+ { 30, 44, 136 }, { 12, 34, 96 }, { 2, 20, 47 },
273+
274+ // UV plane - Inter
275+ // Band 0
276+ { 229, 99, 249 }, { 143, 111, 235 }, { 46, 109, 192 },
277+ // Band 1
278+ { 82, 158, 236 }, { 94, 146, 224 }, { 25, 117, 191 },
279+ { 9, 87, 149 }, { 3, 56, 99 }, { 1, 33, 57 },
280+ // Band 2
281+ { 83, 167, 237 }, { 68, 145, 222 }, { 10, 103, 177 },
282+ { 2, 72, 131 }, { 1, 41, 79 }, { 1, 20, 39 },
283+ // Band 3
284+ { 99, 167, 239 }, { 47, 141, 224 }, { 10, 104, 178 },
285+ { 2, 73, 133 }, { 1, 44, 85 }, { 1, 22, 47 },
286+ // Band 4
287+ { 127, 145, 243 }, { 71, 129, 228 }, { 17, 93, 177 },
288+ { 3, 61, 124 }, { 1, 41, 84 }, { 1, 21, 52 },
289+ // Band 5
290+ { 157, 78, 244 }, { 140, 72, 231 }, { 69, 58, 184 },
291+ { 31, 44, 137 }, { 14, 38, 105 }, { 8, 23, 61 }
292+};
293+
294+vp9_prob default_coef_probs_8x8[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
295+ // Y plane - Intra
296+ // Band 0
297+ { 125, 34, 187 }, { 52, 41, 133 }, { 6, 31, 56 },
298+ // Band 1
299+ { 37, 109, 153 }, { 51, 102, 147 }, { 23, 87, 128 },
300+ { 8, 67, 101 }, { 1, 41, 63 }, { 1, 19, 29 },
301+ // Band 2
302+ { 31, 154, 185 }, { 17, 127, 175 }, { 6, 96, 145 },
303+ { 2, 73, 114 }, { 1, 51, 82 }, { 1, 28, 45 },
304+ // Band 3
305+ { 23, 163, 200 }, { 10, 131, 185 }, { 2, 93, 148 },
306+ { 1, 67, 111 }, { 1, 41, 69 }, { 1, 14, 24 },
307+ // Band 4
308+ { 29, 176, 217 }, { 12, 145, 201 }, { 3, 101, 156 },
309+ { 1, 69, 111 }, { 1, 39, 63 }, { 1, 14, 23 },
310+ // Band 5
311+ { 57, 192, 233 }, { 25, 154, 215 }, { 6, 109, 167 },
312+ { 3, 78, 118 }, { 1, 48, 69 }, { 1, 21, 29 },
313+
314+ // Y plane - Inter
315+ // Band 0
316+ { 202, 105, 245 }, { 108, 106, 216 }, { 18, 90, 144 },
317+ // Band 1
318+ { 33, 172, 219 }, { 64, 149, 206 }, { 14, 117, 177 },
319+ { 5, 90, 141 }, { 2, 61, 95 }, { 1, 37, 57 },
320+ // Band 2
321+ { 33, 179, 220 }, { 11, 140, 198 }, { 1, 89, 148 },
322+ { 1, 60, 104 }, { 1, 33, 57 }, { 1, 12, 21 },
323+ // Band 3
324+ { 30, 181, 221 }, { 8, 141, 198 }, { 1, 87, 145 },
325+ { 1, 58, 100 }, { 1, 31, 55 }, { 1, 12, 20 },
326+ // Band 4
327+ { 32, 186, 224 }, { 7, 142, 198 }, { 1, 86, 143 },
328+ { 1, 58, 100 }, { 1, 31, 55 }, { 1, 12, 22 },
329+ // Band 5
330+ { 57, 192, 227 }, { 20, 143, 204 }, { 3, 96, 154 },
331+ { 1, 68, 112 }, { 1, 42, 69 }, { 1, 19, 32 },
332+
333+ // UV plane - Intra
334+ // Band 0
335+ { 212, 35, 215 }, { 113, 47, 169 }, { 29, 48, 105 },
336+ // Band 1
337+ { 74, 129, 203 }, { 106, 120, 203 }, { 49, 107, 178 },
338+ { 19, 84, 144 }, { 4, 50, 84 }, { 1, 15, 25 },
339+ // Band 2
340+ { 71, 172, 217 }, { 44, 141, 209 }, { 15, 102, 173 },
341+ { 6, 76, 133 }, { 2, 51, 89 }, { 1, 24, 42 },
342+ // Band 3
343+ { 64, 185, 231 }, { 31, 148, 216 }, { 8, 103, 175 },
344+ { 3, 74, 131 }, { 1, 46, 81 }, { 1, 18, 30 },
345+ // Band 4
346+ { 65, 196, 235 }, { 25, 157, 221 }, { 5, 105, 174 },
347+ { 1, 67, 120 }, { 1, 38, 69 }, { 1, 15, 30 },
348+ // Band 5
349+ { 65, 204, 238 }, { 30, 156, 224 }, { 7, 107, 177 },
350+ { 2, 70, 124 }, { 1, 42, 73 }, { 1, 18, 34 },
351+
352+ // UV Plane - Inter
353+ // Band 0
354+ { 225, 86, 251 }, { 144, 104, 235 }, { 42, 99, 181 },
355+ // Band 1
356+ { 85, 175, 239 }, { 112, 165, 229 }, { 29, 136, 200 },
357+ { 12, 103, 162 }, { 6, 77, 123 }, { 2, 53, 84 },
358+ // Band 2
359+ { 75, 183, 239 }, { 30, 155, 221 }, { 3, 106, 171 },
360+ { 1, 74, 128 }, { 1, 44, 76 }, { 1, 17, 28 },
361+ // Band 3
362+ { 73, 185, 240 }, { 27, 159, 222 }, { 2, 107, 172 },
363+ { 1, 75, 127 }, { 1, 42, 73 }, { 1, 17, 29 },
364+ // Band 4
365+ { 62, 190, 238 }, { 21, 159, 222 }, { 2, 107, 172 },
366+ { 1, 72, 122 }, { 1, 40, 71 }, { 1, 18, 32 },
367+ // Band 5
368+ { 61, 199, 240 }, { 27, 161, 226 }, { 4, 113, 180 },
369+ { 1, 76, 129 }, { 1, 46, 80 }, { 1, 23, 41 }
370+};
371+
372+vp9_prob default_coef_probs_16x16[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
373+ // Y plane - Intra
374+ // Band 0
375+ { 7, 27, 153 }, { 5, 30, 95 }, { 1, 16, 30 },
376+ // Band 1
377+ { 50, 75, 127 }, { 57, 75, 124 }, { 27, 67, 108 },
378+ { 10, 54, 86 }, { 1, 33, 52 }, { 1, 12, 18 },
379+ // Band 2
380+ { 43, 125, 151 }, { 26, 108, 148 }, { 7, 83, 122 },
381+ { 2, 59, 89 }, { 1, 38, 60 }, { 1, 17, 27 },
382+ // Band 3
383+ { 23, 144, 163 }, { 13, 112, 154 }, { 2, 75, 117 },
384+ { 1, 50, 81 }, { 1, 31, 51 }, { 1, 14, 23 },
385+ // Band 4
386+ { 18, 162, 185 }, { 6, 123, 171 }, { 1, 78, 125 },
387+ { 1, 51, 86 }, { 1, 31, 54 }, { 1, 14, 23 },
388+ // Band 5
389+ { 15, 199, 227 }, { 3, 150, 204 }, { 1, 91, 146 },
390+ { 1, 55, 95 }, { 1, 30, 53 }, { 1, 11, 20 },
391+
392+ // Y plane - Inter
393+ // Band 0
394+ { 19, 55, 240 }, { 19, 59, 196 }, { 3, 52, 105 },
395+ // Band 1
396+ { 41, 166, 207 }, { 104, 153, 199 }, { 31, 123, 181 },
397+ { 14, 101, 152 }, { 5, 72, 106 }, { 1, 36, 52 },
398+ // Band 2
399+ { 35, 176, 211 }, { 12, 131, 190 }, { 2, 88, 144 },
400+ { 1, 60, 101 }, { 1, 36, 60 }, { 1, 16, 28 },
401+ // Band 3
402+ { 28, 183, 213 }, { 8, 134, 191 }, { 1, 86, 142 },
403+ { 1, 56, 96 }, { 1, 30, 53 }, { 1, 12, 20 },
404+ // Band 4
405+ { 20, 190, 215 }, { 4, 135, 192 }, { 1, 84, 139 },
406+ { 1, 53, 91 }, { 1, 28, 49 }, { 1, 11, 20 },
407+ // Band 5
408+ { 13, 196, 216 }, { 2, 137, 192 }, { 1, 86, 143 },
409+ { 1, 57, 99 }, { 1, 32, 56 }, { 1, 13, 24 },
410+
411+ // UV plane - Intra
412+ // Band 0
413+ { 211, 29, 217 }, { 96, 47, 156 }, { 22, 43, 87 },
414+ // Band 1
415+ { 78, 120, 193 }, { 111, 116, 186 }, { 46, 102, 164 },
416+ { 15, 80, 128 }, { 2, 49, 76 }, { 1, 18, 28 },
417+ // Band 2
418+ { 71, 161, 203 }, { 42, 132, 192 }, { 10, 98, 150 },
419+ { 3, 69, 109 }, { 1, 44, 70 }, { 1, 18, 29 },
420+ // Band 3
421+ { 57, 186, 211 }, { 30, 140, 196 }, { 4, 93, 146 },
422+ { 1, 62, 102 }, { 1, 38, 65 }, { 1, 16, 27 },
423+ // Band 4
424+ { 47, 199, 217 }, { 14, 145, 196 }, { 1, 88, 142 },
425+ { 1, 57, 98 }, { 1, 36, 62 }, { 1, 15, 26 },
426+ // Band 5
427+ { 26, 219, 229 }, { 5, 155, 207 }, { 1, 94, 151 },
428+ { 1, 60, 104 }, { 1, 36, 62 }, { 1, 16, 28 },
429+
430+ // UV plane - Inter
431+ // Band 0
432+ { 233, 29, 248 }, { 146, 47, 220 }, { 43, 52, 140 },
433+ // Band 1
434+ { 100, 163, 232 }, { 179, 161, 222 }, { 63, 142, 204 },
435+ { 37, 113, 174 }, { 26, 89, 137 }, { 18, 68, 97 },
436+ // Band 2
437+ { 85, 181, 230 }, { 32, 146, 209 }, { 7, 100, 164 },
438+ { 3, 71, 121 }, { 1, 45, 77 }, { 1, 18, 30 },
439+ // Band 3
440+ { 65, 187, 230 }, { 20, 148, 207 }, { 2, 97, 159 },
441+ { 1, 68, 116 }, { 1, 40, 70 }, { 1, 14, 29 },
442+ // Band 4
443+ { 40, 194, 227 }, { 8, 147, 204 }, { 1, 94, 155 },
444+ { 1, 65, 112 }, { 1, 39, 66 }, { 1, 14, 26 },
445+ // Band 5
446+ { 16, 208, 228 }, { 3, 151, 207 }, { 1, 98, 160 },
447+ { 1, 67, 117 }, { 1, 41, 74 }, { 1, 17, 31 }
448+};
449+
450+vp9_prob default_coef_probs_32x32[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
451+ // Y plane - Intra
452+ // Band 0
453+ { 17, 38, 140 }, { 7, 34, 80 }, { 1, 17, 29 },
454+ // Band 1
455+ { 37, 75, 128 }, { 41, 76, 128 }, { 26, 66, 116 },
456+ { 12, 52, 94 }, { 2, 32, 55 }, { 1, 10, 16 },
457+ // Band 2
458+ { 50, 127, 154 }, { 37, 109, 152 }, { 16, 82, 121 },
459+ { 5, 59, 85 }, { 1, 35, 54 }, { 1, 13, 20 },
460+ //Band 3
461+ { 40, 142, 167 }, { 17, 110, 157 }, { 2, 71, 112 },
462+ { 1, 44, 72 }, { 1, 27, 45 }, { 1, 11, 17 },
463+ // Band 4
464+ { 30, 175, 188 }, { 9, 124, 169 }, { 1, 74, 116 },
465+ { 1, 48, 78 }, { 1, 30, 49 }, { 1, 11, 18 },
466+ // Band 5
467+ { 10, 222, 223 }, { 2, 150, 194 }, { 1, 83, 128 },
468+ { 1, 48, 79 }, { 1, 27, 45 }, { 1, 11, 17 },
469+
470+ // Y plane - Inter
471+ // Band 0
472+ { 36, 41, 235 }, { 29, 36, 193 }, { 10, 27, 111 },
473+ // Band 1
474+ { 85, 165, 222 }, { 177, 162, 215 }, { 110, 135, 195 },
475+ { 57, 113, 168 }, { 23, 83, 120 }, { 10, 49, 61 },
476+ // Band 2
477+ { 85, 190, 223 }, { 36, 139, 200 }, { 5, 90, 146 },
478+ { 1, 60, 103 }, { 1, 38, 65 }, { 1, 18, 30 },
479+ // Band 3
480+ { 72, 202, 223 }, { 23, 141, 199 }, { 2, 86, 140 },
481+ { 1, 56, 97 }, { 1, 36, 61 }, { 1, 16, 27 },
482+ // Band 4
483+ { 55, 218, 225 }, { 13, 145, 200 }, { 1, 86, 141 },
484+ { 1, 57, 99 }, { 1, 35, 61 }, { 1, 13, 22 },
485+ // Band 5
486+ { 15, 235, 212 }, { 1, 132, 184 }, { 1, 84, 139 },
487+ { 1, 57, 97 }, { 1, 34, 56 }, { 1, 14, 23 },
488+
489+ // UV plane - Intra
490+ // Band 0
491+ { 181, 21, 201 }, { 61, 37, 123 }, { 10, 38, 71 },
492+ // Band 1
493+ { 47, 106, 172 }, { 95, 104, 173 }, { 42, 93, 159 },
494+ { 18, 77, 131 }, { 4, 50, 81 }, { 1, 17, 23 },
495+ // Band 2
496+ { 62, 147, 199 }, { 44, 130, 189 }, { 28, 102, 154 },
497+ { 18, 75, 115 }, { 2, 44, 65 }, { 1, 12, 19 },
498+ // Band 3
499+ { 55, 153, 210 }, { 24, 130, 194 }, { 3, 93, 146 },
500+ { 1, 61, 97 }, { 1, 31, 50 }, { 1, 10, 16 },
501+ // Band 4
502+ { 49, 186, 223 }, { 17, 148, 204 }, { 1, 96, 142 },
503+ { 1, 53, 83 }, { 1, 26, 44 }, { 1, 11, 17 },
504+ // Band 5
505+ { 13, 217, 212 }, { 2, 136, 180 }, { 1, 78, 124 },
506+ { 1, 50, 83 }, { 1, 29, 49 }, { 1, 14, 23 },
507+
508+ // UV plane - Inter
509+ // Band 0
510+ { 197, 13, 247 }, { 82, 17, 222 }, { 25, 17, 162 },
511+ // Band 1
512+ { 126, 186, 247 }, { 234, 191, 243 }, { 176, 177, 234 },
513+ { 104, 158, 220 }, { 66, 128, 186 }, { 55, 90, 137 },
514+ // Band 2
515+ { 111, 197, 242 }, { 46, 158, 219 }, { 9, 104, 171 },
516+ { 2, 65, 125 }, { 1, 44, 80 }, { 1, 17, 91 },
517+ // Band 3
518+ { 104, 208, 245 }, { 39, 168, 224 }, { 3, 109, 162 },
519+ { 1, 79, 124 }, { 1, 50, 102 }, { 1, 43, 102 },
520+ // Band 4
521+ { 84, 220, 246 }, { 31, 177, 231 }, { 2, 115, 180 },
522+ { 1, 79, 134 }, { 1, 55, 77 }, { 1, 60, 79 },
523+ // Band 5
524+ { 43, 243, 240 }, { 8, 180, 217 }, { 1, 115, 166 },
525+ { 1, 84, 121 }, { 1, 51, 67 }, { 1, 16, 6 }
526+
527+};
--- a/src/vp9_probs.h
+++ b/src/vp9_probs.h
@@ -155,486 +155,48 @@ typedef struct frame_contexts {
155155 } FRAME_CONTEXT;
156156
157157
158-static const struct tx_probs default_tx_probs = {
159- { { 100 },
160- { 66 } },
158+extern struct tx_probs default_tx_probs;
161159
162- { { 20, 152 },
163- { 15, 101 } },
160+extern vp9_prob default_skip_probs[SKIP_CONTEXTS];
164161
165- { { 3, 136, 37 },
166- { 5, 52, 13 } },
167-};
168-
169-static const vp9_prob default_skip_probs[SKIP_CONTEXTS] = {
170- 192, 128, 64
171-};
172-
173-static const vp9_prob default_inter_mode_probs[INTER_MODE_CONTEXTS]
174- [INTER_MODES - 1] = {
175- {2, 173, 34}, // 0 = both zero mv
176- {7, 145, 85}, // 1 = one zero mv + one a predicted mv
177- {7, 166, 63}, // 2 = two predicted mvs
178- {7, 94, 66}, // 3 = one predicted/zero and one new mv
179- {8, 64, 46}, // 4 = two new mvs
180- {17, 81, 31}, // 5 = one intra neighbour + x
181- {25, 29, 30}, // 6 = two intra neighbours
182-};
183-
184-static const vp9_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS - 1] = {
185- { 235, 162, },
186- { 36, 255, },
187- { 34, 3, },
188- { 149, 144, },
189-};
190-
191-static const vp9_prob default_intra_inter_p[INTRA_INTER_CONTEXTS] = {
192- 9, 102, 187, 225
193-};
162+extern vp9_prob default_inter_mode_probs[INTER_MODE_CONTEXTS]
163+ [INTER_MODES - 1];
194164
195-static const vp9_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
196- 239, 183, 119, 96, 41
197-};
165+extern vp9_prob default_switchable_interp_prob[SWITCHABLE_FILTER_CONTEXTS]
166+ [SWITCHABLE_FILTERS - 1];
198167
199-static const vp9_prob default_single_ref_p[REF_CONTEXTS][2] = {
200- { 33, 16 },
201- { 77, 74 },
202- { 142, 142 },
203- { 172, 170 },
204- { 238, 247 }
205-};
168+extern vp9_prob default_intra_inter_p[INTRA_INTER_CONTEXTS];
206169
207-static const vp9_prob default_comp_ref_p[REF_CONTEXTS] = {
208- 50, 126, 123, 221, 226
209-};
170+extern vp9_prob default_comp_inter_p[COMP_INTER_CONTEXTS];
210171
211-const vp9_prob vp9_kf_uv_mode_prob[INTRA_MODES][INTRA_MODES - 1] = {
212- { 144, 11, 54, 157, 195, 130, 46, 58, 108 }, // y = dc
213- { 118, 15, 123, 148, 131, 101, 44, 93, 131 }, // y = v
214- { 113, 12, 23, 188, 226, 142, 26, 32, 125 }, // y = h
215- { 120, 11, 50, 123, 163, 135, 64, 77, 103 }, // y = d45
216- { 113, 9, 36, 155, 111, 157, 32, 44, 161 }, // y = d135
217- { 116, 9, 55, 176, 76, 96, 37, 61, 149 }, // y = d117
218- { 115, 9, 28, 141, 161, 167, 21, 25, 193 }, // y = d153
219- { 120, 12, 32, 145, 195, 142, 32, 38, 86 }, // y = d207
220- { 116, 12, 64, 120, 140, 125, 49, 115, 121 }, // y = d63
221- { 102, 19, 66, 162, 182, 122, 35, 59, 128 } // y = tm
222-};
172+extern vp9_prob default_single_ref_p[REF_CONTEXTS][2];
223173
224-static const vp9_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = {
225- { 65, 32, 18, 144, 162, 194, 41, 51, 98 }, // block_size < 8x8
226- { 132, 68, 18, 165, 217, 196, 45, 40, 78 }, // block_size < 16x16
227- { 173, 80, 19, 176, 240, 193, 64, 35, 46 }, // block_size < 32x32
228- { 221, 135, 38, 194, 248, 121, 96, 85, 29 } // block_size >= 32x32
229-};
174+extern vp9_prob default_comp_ref_p[REF_CONTEXTS];
230175
231-static const vp9_prob default_if_uv_probs[INTRA_MODES][INTRA_MODES - 1] = {
232- { 120, 7, 76, 176, 208, 126, 28, 54, 103 }, // y = dc
233- { 48, 12, 154, 155, 139, 90, 34, 117, 119 }, // y = v
234- { 67, 6, 25, 204, 243, 158, 13, 21, 96 }, // y = h
235- { 97, 5, 44, 131, 176, 139, 48, 68, 97 }, // y = d45
236- { 83, 5, 42, 156, 111, 152, 26, 49, 152 }, // y = d135
237- { 80, 5, 58, 178, 74, 83, 33, 62, 145 }, // y = d117
238- { 86, 5, 32, 154, 192, 168, 14, 22, 163 }, // y = d153
239- { 85, 5, 32, 156, 216, 148, 19, 29, 73 }, // y = d207
240- { 77, 7, 64, 116, 132, 122, 37, 126, 120 }, // y = d63
241- { 101, 21, 107, 181, 192, 103, 19, 67, 125 } // y = tm
242-};
176+extern vp9_prob vp9_kf_uv_mode_prob[INTRA_MODES][INTRA_MODES - 1];
243177
244-static const vp9_prob default_seg_tree_probs[SEG_TREE_PROBS] = {
245- 255, 255, 255, 255, 255, 255, 255
246-};
178+extern vp9_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1];
247179
248-static const vp9_prob default_seg_pred_probs[PREDICTION_PROBS] = {
249- 255, 255, 255
250-};
180+extern vp9_prob default_if_uv_probs[INTRA_MODES][INTRA_MODES - 1];
251181
252-const vp9_prob vp9_kf_partition_probs[PARTITION_CONTEXTS]
253- [PARTITION_TYPES - 1] = {
254- // 8x8 -> 4x4
255- { 158, 97, 94 }, // a/l both not split
256- { 93, 24, 99 }, // a split, l not split
257- { 85, 119, 44 }, // l split, a not split
258- { 62, 59, 67 }, // a/l both split
259- // 16x16 -> 8x8
260- { 149, 53, 53 }, // a/l both not split
261- { 94, 20, 48 }, // a split, l not split
262- { 83, 53, 24 }, // l split, a not split
263- { 52, 18, 18 }, // a/l both split
264- // 32x32 -> 16x16
265- { 150, 40, 39 }, // a/l both not split
266- { 78, 12, 26 }, // a split, l not split
267- { 67, 33, 11 }, // l split, a not split
268- { 24, 7, 5 }, // a/l both split
269- // 64x64 -> 32x32
270- { 174, 35, 49 }, // a/l both not split
271- { 68, 11, 27 }, // a split, l not split
272- { 57, 15, 9 }, // l split, a not split
273- { 12, 3, 3 }, // a/l both split
274-};
182+extern vp9_prob default_seg_tree_probs[SEG_TREE_PROBS];
275183
276-static const vp9_prob default_partition_probs[PARTITION_CONTEXTS]
277- [PARTITION_TYPES - 1] = {
278- // 8x8 -> 4x4
279- { 199, 122, 141 }, // a/l both not split
280- { 147, 63, 159 }, // a split, l not split
281- { 148, 133, 118 }, // l split, a not split
282- { 121, 104, 114 }, // a/l both split
283- // 16x16 -> 8x8
284- { 174, 73, 87 }, // a/l both not split
285- { 92, 41, 83 }, // a split, l not split
286- { 82, 99, 50 }, // l split, a not split
287- { 53, 39, 39 }, // a/l both split
288- // 32x32 -> 16x16
289- { 177, 58, 59 }, // a/l both not split
290- { 68, 26, 63 }, // a split, l not split
291- { 52, 79, 25 }, // l split, a not split
292- { 17, 14, 12 }, // a/l both split
293- // 64x64 -> 32x32
294- { 222, 34, 30 }, // a/l both not split
295- { 72, 16, 44 }, // a split, l not split
296- { 58, 32, 12 }, // l split, a not split
297- { 10, 7, 6 }, // a/l both split
298-};
184+extern vp9_prob default_seg_pred_probs[PREDICTION_PROBS];
299185
300-//Rearranged the values for better usage
301-static const nmv_context default_nmv_context = {
302- {32, 64, 96},
303- {
304- { // Vertical component
305- 128, // sign
306- {224, 144, 192, 168, 192, 176, 192, 198, 198, 245}, // class
307- {216}, // class0
308- {136, 140, 148, 160, 176, 192, 224, 234, 234, 240}, // bits
309- },
310- { // Horizontal component
311- 128, // sign
312- {216, 128, 176, 160, 176, 176, 192, 198, 198, 208}, // class
313- {208}, // class0
314- {136, 140, 148, 160, 176, 192, 224, 234, 234, 240}, // bits
315- }
316- },
317- {{128, 128, 64}, {96, 112, 64}}, // class0_fp0
318- {64, 96, 64}, // fp0
319- {{128, 128, 64}, {96, 112, 64}}, // class0_fp1
320- {64, 96, 64}, // fp1
321- {160, 128}, // class0_hp bit
322- {160, 128} // hp
186+extern vp9_prob vp9_kf_partition_probs[PARTITION_CONTEXTS]
187+ [PARTITION_TYPES - 1];
323188
324-};
189+extern vp9_prob default_partition_probs[PARTITION_CONTEXTS]
190+ [PARTITION_TYPES - 1];
325191
326-//Rearranged the coeff probs for better usage
327-static const vp9_prob default_coef_probs_4x4[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
328- // Y plane - Intra
329- // Band 0
330- { 195, 29, 183 }, { 84, 49, 136 }, { 8, 42, 71 },
331- // Band 1
332- { 31, 107, 169 }, { 35, 99, 159 }, { 17, 82, 140 },
333- { 8, 66, 114 }, { 2, 44, 76 }, { 1, 19, 32 },
334- // Band 2
335- { 40, 132, 201 }, { 29, 114, 187 }, { 13, 91, 157 },
336- { 7, 75, 127 }, { 3, 58, 95 }, { 1, 28, 47 },
337- // Band 3
338- { 69, 142, 221 }, { 42, 122, 201 }, { 15, 91, 159 },
339- { 6, 67, 121 }, { 1, 42, 77 }, { 1, 17, 31 },
340- // Band 4
341- { 102, 148, 228 }, { 67, 117, 204 }, { 17, 82, 154 },
342- { 6, 59, 114 }, { 2, 39, 75 }, { 1, 15, 29 },
343- // Band 5
344- { 156, 57, 233 }, { 119, 57, 212 }, { 58, 48, 163 },
345- { 29, 40, 124 }, { 12, 30, 81 }, { 3, 12, 31 },
346-
347- // Y plane - Inter
348- // Band 0
349- { 191, 107, 226 }, { 124, 117, 204 }, { 25, 99, 155 },
350- // Band 1
351- { 29, 148, 210 }, { 37, 126, 194 }, { 8, 93, 157 },
352- { 2, 68, 118 }, { 1, 39, 69 }, { 1, 17, 33 },
353- // Band 2
354- { 41, 151, 213 }, { 27, 123, 193 }, { 3, 82, 144 },
355- { 1, 58, 105 }, { 1, 32, 60 }, { 1, 13, 26 },
356- // Band 3
357- { 59, 159, 220 }, { 23, 126, 198 }, { 4, 88, 151 },
358- { 1, 66, 114 }, { 1, 38, 71 }, { 1, 18, 34 },
359- // Band 4
360- { 114, 136, 232 }, { 51, 114, 207 }, { 11, 83, 155 },
361- { 3, 56, 105 }, { 1, 33, 65 }, { 1, 17, 34 },
362- // Band 5
363- { 149, 65, 234 }, { 121, 57, 215 }, { 61, 49, 166 },
364- { 28, 36, 114 }, { 12, 25, 76 }, { 3, 16, 42 },
365-
366- // UV plane - Intra
367- // Band 0
368- { 214, 49, 220 }, { 132, 63, 188 }, { 42, 65, 137 },
369- // Band 1
370- { 85, 137, 221 }, { 104, 131, 216 }, { 49, 111, 192 },
371- { 21, 87, 155 }, { 2, 49, 87 }, { 1, 16, 28 },
372- // Band 2
373- { 89, 163, 230 }, { 90, 137, 220 }, { 29, 100, 183 },
374- { 10, 70, 135 }, { 2, 42, 81 }, { 1, 17, 33 },
375- // Band 3
376- { 108, 167, 237 }, { 55, 133, 222 }, { 15, 97, 179 },
377- { 4, 72, 135 }, { 1, 45, 85 }, { 1, 19, 38 },
378- // Band 4
379- { 124, 146, 240 }, { 66, 124, 224 }, { 17, 88, 175 },
380- { 4, 58, 122 }, { 1, 36, 75 }, { 1, 18, 37 },
381- // Band 5
382- { 141, 79, 241 }, { 126, 70, 227 }, { 66, 58, 182 },
383- { 30, 44, 136 }, { 12, 34, 96 }, { 2, 20, 47 },
384-
385- // UV plane - Inter
386- // Band 0
387- { 229, 99, 249 }, { 143, 111, 235 }, { 46, 109, 192 },
388- // Band 1
389- { 82, 158, 236 }, { 94, 146, 224 }, { 25, 117, 191 },
390- { 9, 87, 149 }, { 3, 56, 99 }, { 1, 33, 57 },
391- // Band 2
392- { 83, 167, 237 }, { 68, 145, 222 }, { 10, 103, 177 },
393- { 2, 72, 131 }, { 1, 41, 79 }, { 1, 20, 39 },
394- // Band 3
395- { 99, 167, 239 }, { 47, 141, 224 }, { 10, 104, 178 },
396- { 2, 73, 133 }, { 1, 44, 85 }, { 1, 22, 47 },
397- // Band 4
398- { 127, 145, 243 }, { 71, 129, 228 }, { 17, 93, 177 },
399- { 3, 61, 124 }, { 1, 41, 84 }, { 1, 21, 52 },
400- // Band 5
401- { 157, 78, 244 }, { 140, 72, 231 }, { 69, 58, 184 },
402- { 31, 44, 137 }, { 14, 38, 105 }, { 8, 23, 61 }
403-};
192+extern nmv_context default_nmv_context;
404193
405-static const vp9_prob default_coef_probs_8x8[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
406- // Y plane - Intra
407- // Band 0
408- { 125, 34, 187 }, { 52, 41, 133 }, { 6, 31, 56 },
409- // Band 1
410- { 37, 109, 153 }, { 51, 102, 147 }, { 23, 87, 128 },
411- { 8, 67, 101 }, { 1, 41, 63 }, { 1, 19, 29 },
412- // Band 2
413- { 31, 154, 185 }, { 17, 127, 175 }, { 6, 96, 145 },
414- { 2, 73, 114 }, { 1, 51, 82 }, { 1, 28, 45 },
415- // Band 3
416- { 23, 163, 200 }, { 10, 131, 185 }, { 2, 93, 148 },
417- { 1, 67, 111 }, { 1, 41, 69 }, { 1, 14, 24 },
418- // Band 4
419- { 29, 176, 217 }, { 12, 145, 201 }, { 3, 101, 156 },
420- { 1, 69, 111 }, { 1, 39, 63 }, { 1, 14, 23 },
421- // Band 5
422- { 57, 192, 233 }, { 25, 154, 215 }, { 6, 109, 167 },
423- { 3, 78, 118 }, { 1, 48, 69 }, { 1, 21, 29 },
424-
425- // Y plane - Inter
426- // Band 0
427- { 202, 105, 245 }, { 108, 106, 216 }, { 18, 90, 144 },
428- // Band 1
429- { 33, 172, 219 }, { 64, 149, 206 }, { 14, 117, 177 },
430- { 5, 90, 141 }, { 2, 61, 95 }, { 1, 37, 57 },
431- // Band 2
432- { 33, 179, 220 }, { 11, 140, 198 }, { 1, 89, 148 },
433- { 1, 60, 104 }, { 1, 33, 57 }, { 1, 12, 21 },
434- // Band 3
435- { 30, 181, 221 }, { 8, 141, 198 }, { 1, 87, 145 },
436- { 1, 58, 100 }, { 1, 31, 55 }, { 1, 12, 20 },
437- // Band 4
438- { 32, 186, 224 }, { 7, 142, 198 }, { 1, 86, 143 },
439- { 1, 58, 100 }, { 1, 31, 55 }, { 1, 12, 22 },
440- // Band 5
441- { 57, 192, 227 }, { 20, 143, 204 }, { 3, 96, 154 },
442- { 1, 68, 112 }, { 1, 42, 69 }, { 1, 19, 32 },
443-
444- // UV plane - Intra
445- // Band 0
446- { 212, 35, 215 }, { 113, 47, 169 }, { 29, 48, 105 },
447- // Band 1
448- { 74, 129, 203 }, { 106, 120, 203 }, { 49, 107, 178 },
449- { 19, 84, 144 }, { 4, 50, 84 }, { 1, 15, 25 },
450- // Band 2
451- { 71, 172, 217 }, { 44, 141, 209 }, { 15, 102, 173 },
452- { 6, 76, 133 }, { 2, 51, 89 }, { 1, 24, 42 },
453- // Band 3
454- { 64, 185, 231 }, { 31, 148, 216 }, { 8, 103, 175 },
455- { 3, 74, 131 }, { 1, 46, 81 }, { 1, 18, 30 },
456- // Band 4
457- { 65, 196, 235 }, { 25, 157, 221 }, { 5, 105, 174 },
458- { 1, 67, 120 }, { 1, 38, 69 }, { 1, 15, 30 },
459- // Band 5
460- { 65, 204, 238 }, { 30, 156, 224 }, { 7, 107, 177 },
461- { 2, 70, 124 }, { 1, 42, 73 }, { 1, 18, 34 },
462-
463- // UV Plane - Inter
464- // Band 0
465- { 225, 86, 251 }, { 144, 104, 235 }, { 42, 99, 181 },
466- // Band 1
467- { 85, 175, 239 }, { 112, 165, 229 }, { 29, 136, 200 },
468- { 12, 103, 162 }, { 6, 77, 123 }, { 2, 53, 84 },
469- // Band 2
470- { 75, 183, 239 }, { 30, 155, 221 }, { 3, 106, 171 },
471- { 1, 74, 128 }, { 1, 44, 76 }, { 1, 17, 28 },
472- // Band 3
473- { 73, 185, 240 }, { 27, 159, 222 }, { 2, 107, 172 },
474- { 1, 75, 127 }, { 1, 42, 73 }, { 1, 17, 29 },
475- // Band 4
476- { 62, 190, 238 }, { 21, 159, 222 }, { 2, 107, 172 },
477- { 1, 72, 122 }, { 1, 40, 71 }, { 1, 18, 32 },
478- // Band 5
479- { 61, 199, 240 }, { 27, 161, 226 }, { 4, 113, 180 },
480- { 1, 76, 129 }, { 1, 46, 80 }, { 1, 23, 41 }
481-};
194+extern vp9_prob default_coef_probs_4x4[COEFF_PROB_SIZE][COEFF_PROB_NUM];
482195
483-static const vp9_prob default_coef_probs_16x16[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
484- // Y plane - Intra
485- // Band 0
486- { 7, 27, 153 }, { 5, 30, 95 }, { 1, 16, 30 },
487- // Band 1
488- { 50, 75, 127 }, { 57, 75, 124 }, { 27, 67, 108 },
489- { 10, 54, 86 }, { 1, 33, 52 }, { 1, 12, 18 },
490- // Band 2
491- { 43, 125, 151 }, { 26, 108, 148 }, { 7, 83, 122 },
492- { 2, 59, 89 }, { 1, 38, 60 }, { 1, 17, 27 },
493- // Band 3
494- { 23, 144, 163 }, { 13, 112, 154 }, { 2, 75, 117 },
495- { 1, 50, 81 }, { 1, 31, 51 }, { 1, 14, 23 },
496- // Band 4
497- { 18, 162, 185 }, { 6, 123, 171 }, { 1, 78, 125 },
498- { 1, 51, 86 }, { 1, 31, 54 }, { 1, 14, 23 },
499- // Band 5
500- { 15, 199, 227 }, { 3, 150, 204 }, { 1, 91, 146 },
501- { 1, 55, 95 }, { 1, 30, 53 }, { 1, 11, 20 },
502-
503- // Y plane - Inter
504- // Band 0
505- { 19, 55, 240 }, { 19, 59, 196 }, { 3, 52, 105 },
506- // Band 1
507- { 41, 166, 207 }, { 104, 153, 199 }, { 31, 123, 181 },
508- { 14, 101, 152 }, { 5, 72, 106 }, { 1, 36, 52 },
509- // Band 2
510- { 35, 176, 211 }, { 12, 131, 190 }, { 2, 88, 144 },
511- { 1, 60, 101 }, { 1, 36, 60 }, { 1, 16, 28 },
512- // Band 3
513- { 28, 183, 213 }, { 8, 134, 191 }, { 1, 86, 142 },
514- { 1, 56, 96 }, { 1, 30, 53 }, { 1, 12, 20 },
515- // Band 4
516- { 20, 190, 215 }, { 4, 135, 192 }, { 1, 84, 139 },
517- { 1, 53, 91 }, { 1, 28, 49 }, { 1, 11, 20 },
518- // Band 5
519- { 13, 196, 216 }, { 2, 137, 192 }, { 1, 86, 143 },
520- { 1, 57, 99 }, { 1, 32, 56 }, { 1, 13, 24 },
521-
522- // UV plane - Intra
523- // Band 0
524- { 211, 29, 217 }, { 96, 47, 156 }, { 22, 43, 87 },
525- // Band 1
526- { 78, 120, 193 }, { 111, 116, 186 }, { 46, 102, 164 },
527- { 15, 80, 128 }, { 2, 49, 76 }, { 1, 18, 28 },
528- // Band 2
529- { 71, 161, 203 }, { 42, 132, 192 }, { 10, 98, 150 },
530- { 3, 69, 109 }, { 1, 44, 70 }, { 1, 18, 29 },
531- // Band 3
532- { 57, 186, 211 }, { 30, 140, 196 }, { 4, 93, 146 },
533- { 1, 62, 102 }, { 1, 38, 65 }, { 1, 16, 27 },
534- // Band 4
535- { 47, 199, 217 }, { 14, 145, 196 }, { 1, 88, 142 },
536- { 1, 57, 98 }, { 1, 36, 62 }, { 1, 15, 26 },
537- // Band 5
538- { 26, 219, 229 }, { 5, 155, 207 }, { 1, 94, 151 },
539- { 1, 60, 104 }, { 1, 36, 62 }, { 1, 16, 28 },
540-
541- // UV plane - Inter
542- // Band 0
543- { 233, 29, 248 }, { 146, 47, 220 }, { 43, 52, 140 },
544- // Band 1
545- { 100, 163, 232 }, { 179, 161, 222 }, { 63, 142, 204 },
546- { 37, 113, 174 }, { 26, 89, 137 }, { 18, 68, 97 },
547- // Band 2
548- { 85, 181, 230 }, { 32, 146, 209 }, { 7, 100, 164 },
549- { 3, 71, 121 }, { 1, 45, 77 }, { 1, 18, 30 },
550- // Band 3
551- { 65, 187, 230 }, { 20, 148, 207 }, { 2, 97, 159 },
552- { 1, 68, 116 }, { 1, 40, 70 }, { 1, 14, 29 },
553- // Band 4
554- { 40, 194, 227 }, { 8, 147, 204 }, { 1, 94, 155 },
555- { 1, 65, 112 }, { 1, 39, 66 }, { 1, 14, 26 },
556- // Band 5
557- { 16, 208, 228 }, { 3, 151, 207 }, { 1, 98, 160 },
558- { 1, 67, 117 }, { 1, 41, 74 }, { 1, 17, 31 }
559-};
196+extern vp9_prob default_coef_probs_8x8[COEFF_PROB_SIZE][COEFF_PROB_NUM];
560197
561-static const vp9_prob default_coef_probs_32x32[COEFF_PROB_SIZE][COEFF_PROB_NUM] = {
562- // Y plane - Intra
563- // Band 0
564- { 17, 38, 140 }, { 7, 34, 80 }, { 1, 17, 29 },
565- // Band 1
566- { 37, 75, 128 }, { 41, 76, 128 }, { 26, 66, 116 },
567- { 12, 52, 94 }, { 2, 32, 55 }, { 1, 10, 16 },
568- // Band 2
569- { 50, 127, 154 }, { 37, 109, 152 }, { 16, 82, 121 },
570- { 5, 59, 85 }, { 1, 35, 54 }, { 1, 13, 20 },
571- //Band 3
572- { 40, 142, 167 }, { 17, 110, 157 }, { 2, 71, 112 },
573- { 1, 44, 72 }, { 1, 27, 45 }, { 1, 11, 17 },
574- // Band 4
575- { 30, 175, 188 }, { 9, 124, 169 }, { 1, 74, 116 },
576- { 1, 48, 78 }, { 1, 30, 49 }, { 1, 11, 18 },
577- // Band 5
578- { 10, 222, 223 }, { 2, 150, 194 }, { 1, 83, 128 },
579- { 1, 48, 79 }, { 1, 27, 45 }, { 1, 11, 17 },
580-
581- // Y plane - Inter
582- // Band 0
583- { 36, 41, 235 }, { 29, 36, 193 }, { 10, 27, 111 },
584- // Band 1
585- { 85, 165, 222 }, { 177, 162, 215 }, { 110, 135, 195 },
586- { 57, 113, 168 }, { 23, 83, 120 }, { 10, 49, 61 },
587- // Band 2
588- { 85, 190, 223 }, { 36, 139, 200 }, { 5, 90, 146 },
589- { 1, 60, 103 }, { 1, 38, 65 }, { 1, 18, 30 },
590- // Band 3
591- { 72, 202, 223 }, { 23, 141, 199 }, { 2, 86, 140 },
592- { 1, 56, 97 }, { 1, 36, 61 }, { 1, 16, 27 },
593- // Band 4
594- { 55, 218, 225 }, { 13, 145, 200 }, { 1, 86, 141 },
595- { 1, 57, 99 }, { 1, 35, 61 }, { 1, 13, 22 },
596- // Band 5
597- { 15, 235, 212 }, { 1, 132, 184 }, { 1, 84, 139 },
598- { 1, 57, 97 }, { 1, 34, 56 }, { 1, 14, 23 },
599-
600- // UV plane - Intra
601- // Band 0
602- { 181, 21, 201 }, { 61, 37, 123 }, { 10, 38, 71 },
603- // Band 1
604- { 47, 106, 172 }, { 95, 104, 173 }, { 42, 93, 159 },
605- { 18, 77, 131 }, { 4, 50, 81 }, { 1, 17, 23 },
606- // Band 2
607- { 62, 147, 199 }, { 44, 130, 189 }, { 28, 102, 154 },
608- { 18, 75, 115 }, { 2, 44, 65 }, { 1, 12, 19 },
609- // Band 3
610- { 55, 153, 210 }, { 24, 130, 194 }, { 3, 93, 146 },
611- { 1, 61, 97 }, { 1, 31, 50 }, { 1, 10, 16 },
612- // Band 4
613- { 49, 186, 223 }, { 17, 148, 204 }, { 1, 96, 142 },
614- { 1, 53, 83 }, { 1, 26, 44 }, { 1, 11, 17 },
615- // Band 5
616- { 13, 217, 212 }, { 2, 136, 180 }, { 1, 78, 124 },
617- { 1, 50, 83 }, { 1, 29, 49 }, { 1, 14, 23 },
618-
619- // UV plane - Inter
620- // Band 0
621- { 197, 13, 247 }, { 82, 17, 222 }, { 25, 17, 162 },
622- // Band 1
623- { 126, 186, 247 }, { 234, 191, 243 }, { 176, 177, 234 },
624- { 104, 158, 220 }, { 66, 128, 186 }, { 55, 90, 137 },
625- // Band 2
626- { 111, 197, 242 }, { 46, 158, 219 }, { 9, 104, 171 },
627- { 2, 65, 125 }, { 1, 44, 80 }, { 1, 17, 91 },
628- // Band 3
629- { 104, 208, 245 }, { 39, 168, 224 }, { 3, 109, 162 },
630- { 1, 79, 124 }, { 1, 50, 102 }, { 1, 43, 102 },
631- // Band 4
632- { 84, 220, 246 }, { 31, 177, 231 }, { 2, 115, 180 },
633- { 1, 79, 134 }, { 1, 55, 77 }, { 1, 60, 79 },
634- // Band 5
635- { 43, 243, 240 }, { 8, 180, 217 }, { 1, 115, 166 },
636- { 1, 84, 121 }, { 1, 51, 67 }, { 1, 16, 6 }
198+extern vp9_prob default_coef_probs_16x16[COEFF_PROB_SIZE][COEFF_PROB_NUM];
637199
638-};
200+extern vp9_prob default_coef_probs_32x32[COEFF_PROB_SIZE][COEFF_PROB_NUM];
639201
640202 #endif /*VP9_PROBS_H */