vpx/vp9/common/vp9_default_coef_probs.h
Deb Mukherjee b8b3f1a46d Balancing coef-tree to reduce bool decodes
This patch changes the coefficient tree to move the EOB to below
the ZERO node in order to save number of bool decodes.

The advantages of moving EOB one step down as opposed to two steps down
in the other parallel patch are: 1. The coef modeling based on
the One-node becomes independent of the tree structure above it, and
2. Fewer conext/counter increases are needed.

The drawback is that the potential savings in bool decodes will be
less, but assuming that 0s are much more predominant than 1's the
potential savings is still likely to be substantial.

Results on derf300: -0.237%

Change-Id: Ie784be13dc98291306b338e8228703a4c2ea2242
2013-05-29 16:25:52 -07:00

1385 lines
36 KiB
C

/*
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
/*Generated file, included by vp9_entropy.c*/
#if CONFIG_BALANCED_COEFTREE
static const vp9_coeff_probs_model default_coef_probs_4x4[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 6, 213, 178 },
{ 26, 113, 132 },
{ 34, 17, 68 }
}, { /* Coeff Band 1 */
{ 66, 96, 178 },
{ 63, 96, 174 },
{ 67, 54, 154 },
{ 62, 28, 126 },
{ 48, 9, 84 },
{ 20, 1, 32 }
}, { /* Coeff Band 2 */
{ 64, 144, 206 },
{ 70, 99, 191 },
{ 69, 36, 152 },
{ 55, 9, 106 },
{ 35, 1, 60 },
{ 14, 1, 22 }
}, { /* Coeff Band 3 */
{ 82, 154, 222 },
{ 83, 112, 205 },
{ 81, 31, 164 },
{ 62, 7, 118 },
{ 42, 1, 74 },
{ 18, 1, 30 }
}, { /* Coeff Band 4 */
{ 52, 179, 233 },
{ 64, 132, 214 },
{ 73, 36, 170 },
{ 59, 8, 116 },
{ 38, 1, 65 },
{ 15, 1, 26 }
}, { /* Coeff Band 5 */
{ 29, 175, 238 },
{ 26, 169, 223 },
{ 41, 80, 182 },
{ 39, 32, 127 },
{ 26, 10, 69 },
{ 11, 2, 28 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 21, 226, 234 },
{ 52, 182, 212 },
{ 80, 112, 177 }
}, { /* Coeff Band 1 */
{ 111, 164, 243 },
{ 88, 152, 231 },
{ 90, 43, 186 },
{ 70, 12, 132 },
{ 44, 2, 76 },
{ 19, 1, 33 }
}, { /* Coeff Band 2 */
{ 96, 185, 246 },
{ 99, 127, 231 },
{ 88, 21, 177 },
{ 64, 5, 122 },
{ 38, 1, 69 },
{ 18, 1, 30 }
}, { /* Coeff Band 3 */
{ 84, 206, 249 },
{ 94, 147, 237 },
{ 95, 33, 187 },
{ 71, 8, 131 },
{ 47, 1, 83 },
{ 26, 1, 44 }
}, { /* Coeff Band 4 */
{ 38, 221, 252 },
{ 58, 177, 241 },
{ 78, 46, 188 },
{ 59, 9, 122 },
{ 34, 1, 66 },
{ 18, 1, 34 }
}, { /* Coeff Band 5 */
{ 21, 216, 253 },
{ 21, 206, 244 },
{ 42, 93, 200 },
{ 43, 41, 146 },
{ 36, 13, 93 },
{ 31, 1, 55 }
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 7, 213, 219 },
{ 23, 139, 182 },
{ 38, 60, 125 }
}, { /* Coeff Band 1 */
{ 69, 156, 220 },
{ 52, 178, 213 },
{ 69, 111, 190 },
{ 69, 58, 155 },
{ 58, 21, 104 },
{ 39, 7, 60 }
}, { /* Coeff Band 2 */
{ 68, 189, 228 },
{ 70, 158, 221 },
{ 83, 64, 189 },
{ 73, 18, 141 },
{ 48, 4, 88 },
{ 23, 1, 41 }
}, { /* Coeff Band 3 */
{ 99, 194, 236 },
{ 91, 138, 224 },
{ 91, 53, 189 },
{ 74, 20, 142 },
{ 48, 6, 90 },
{ 22, 1, 41 }
}, { /* Coeff Band 4 */
{ 52, 203, 244 },
{ 60, 168, 231 },
{ 75, 62, 189 },
{ 61, 18, 132 },
{ 38, 4, 72 },
{ 17, 1, 39 }
}, { /* Coeff Band 5 */
{ 33, 192, 247 },
{ 31, 185, 234 },
{ 46, 85, 185 },
{ 39, 35, 132 },
{ 28, 15, 80 },
{ 13, 5, 38 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 5, 247, 246 },
{ 28, 209, 228 },
{ 65, 137, 203 }
}, { /* Coeff Band 1 */
{ 69, 208, 250 },
{ 54, 207, 242 },
{ 81, 92, 204 },
{ 70, 54, 153 },
{ 58, 40, 108 },
{ 58, 35, 71 }
}, { /* Coeff Band 2 */
{ 65, 215, 250 },
{ 72, 185, 239 },
{ 92, 50, 197 },
{ 75, 14, 147 },
{ 49, 2, 99 },
{ 26, 1, 53 }
}, { /* Coeff Band 3 */
{ 70, 220, 251 },
{ 76, 186, 241 },
{ 90, 65, 198 },
{ 75, 26, 151 },
{ 58, 12, 112 },
{ 34, 6, 49 }
}, { /* Coeff Band 4 */
{ 34, 224, 253 },
{ 44, 204, 245 },
{ 69, 85, 204 },
{ 64, 31, 150 },
{ 44, 2, 78 },
{ 1, 1, 128 }
}, { /* Coeff Band 5 */
{ 25, 216, 253 },
{ 21, 215, 248 },
{ 47, 108, 214 },
{ 47, 48, 160 },
{ 26, 20, 90 },
{ 64, 171, 128 }
}
}
}
};
static const vp9_coeff_probs_model default_coef_probs_8x8[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 9, 203, 199 },
{ 26, 92, 128 },
{ 28, 11, 55 }
}, { /* Coeff Band 1 */
{ 99, 54, 160 },
{ 78, 99, 155 },
{ 80, 44, 138 },
{ 71, 17, 115 },
{ 51, 5, 80 },
{ 27, 1, 40 }
}, { /* Coeff Band 2 */
{ 135, 81, 190 },
{ 113, 61, 182 },
{ 93, 16, 153 },
{ 70, 4, 115 },
{ 41, 1, 68 },
{ 16, 1, 27 }
}, { /* Coeff Band 3 */
{ 155, 103, 214 },
{ 129, 48, 199 },
{ 95, 10, 159 },
{ 63, 1, 110 },
{ 32, 1, 58 },
{ 12, 1, 21 }
}, { /* Coeff Band 4 */
{ 163, 149, 231 },
{ 137, 69, 213 },
{ 95, 11, 164 },
{ 62, 3, 108 },
{ 32, 1, 57 },
{ 13, 1, 22 }
}, { /* Coeff Band 5 */
{ 136, 189, 239 },
{ 123, 102, 223 },
{ 97, 19, 170 },
{ 66, 4, 111 },
{ 38, 1, 60 },
{ 18, 1, 26 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 24, 226, 244 },
{ 54, 178, 211 },
{ 80, 74, 152 }
}, { /* Coeff Band 1 */
{ 145, 153, 236 },
{ 101, 163, 223 },
{ 108, 50, 187 },
{ 90, 22, 145 },
{ 66, 8, 97 },
{ 42, 4, 50 }
}, { /* Coeff Band 2 */
{ 150, 159, 238 },
{ 128, 90, 218 },
{ 94, 9, 163 },
{ 64, 3, 110 },
{ 34, 1, 61 },
{ 13, 1, 24 }
}, { /* Coeff Band 3 */
{ 151, 162, 242 },
{ 135, 80, 222 },
{ 93, 9, 166 },
{ 61, 3, 111 },
{ 31, 1, 59 },
{ 12, 1, 22 }
}, { /* Coeff Band 4 */
{ 161, 170, 245 },
{ 140, 84, 228 },
{ 99, 8, 174 },
{ 64, 1, 116 },
{ 34, 1, 63 },
{ 14, 1, 26 }
}, { /* Coeff Band 5 */
{ 138, 197, 246 },
{ 127, 109, 233 },
{ 100, 16, 179 },
{ 66, 3, 119 },
{ 37, 1, 66 },
{ 16, 1, 30 }
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 6, 216, 212 },
{ 25, 134, 171 },
{ 43, 48, 118 }
}, { /* Coeff Band 1 */
{ 93, 112, 209 },
{ 66, 159, 206 },
{ 82, 78, 184 },
{ 75, 28, 148 },
{ 46, 4, 82 },
{ 18, 1, 28 }
}, { /* Coeff Band 2 */
{ 108, 148, 220 },
{ 90, 130, 216 },
{ 92, 40, 186 },
{ 73, 10, 135 },
{ 46, 1, 79 },
{ 20, 1, 35 }
}, { /* Coeff Band 3 */
{ 125, 173, 232 },
{ 109, 117, 223 },
{ 97, 31, 183 },
{ 71, 7, 127 },
{ 44, 1, 76 },
{ 21, 1, 36 }
}, { /* Coeff Band 4 */
{ 133, 195, 236 },
{ 112, 121, 224 },
{ 97, 23, 178 },
{ 69, 3, 122 },
{ 42, 1, 72 },
{ 19, 1, 34 }
}, { /* Coeff Band 5 */
{ 132, 180, 238 },
{ 119, 102, 225 },
{ 101, 18, 179 },
{ 71, 3, 124 },
{ 42, 1, 70 },
{ 17, 1, 28 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 5, 242, 250 },
{ 26, 198, 226 },
{ 58, 98, 168 }
}, { /* Coeff Band 1 */
{ 82, 201, 246 },
{ 50, 219, 237 },
{ 94, 107, 205 },
{ 89, 61, 167 },
{ 77, 31, 131 },
{ 57, 14, 91 }
}, { /* Coeff Band 2 */
{ 99, 202, 247 },
{ 96, 165, 234 },
{ 100, 31, 190 },
{ 72, 8, 131 },
{ 41, 1, 72 },
{ 14, 1, 24 }
}, { /* Coeff Band 3 */
{ 108, 204, 248 },
{ 107, 156, 235 },
{ 103, 27, 186 },
{ 71, 4, 124 },
{ 39, 1, 66 },
{ 14, 1, 19 }
}, { /* Coeff Band 4 */
{ 120, 211, 248 },
{ 118, 149, 234 },
{ 107, 19, 182 },
{ 72, 3, 126 },
{ 40, 1, 69 },
{ 16, 1, 24 }
}, { /* Coeff Band 5 */
{ 127, 199, 245 },
{ 122, 125, 232 },
{ 112, 20, 186 },
{ 82, 3, 136 },
{ 55, 1, 88 },
{ 10, 1, 38 }
}
}
}
};
static const vp9_coeff_probs_model default_coef_probs_16x16[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 25, 9, 101 },
{ 25, 2, 67 },
{ 15, 1, 28 }
}, { /* Coeff Band 1 */
{ 67, 30, 118 },
{ 61, 56, 116 },
{ 60, 31, 105 },
{ 52, 11, 85 },
{ 34, 2, 54 },
{ 14, 1, 22 }
}, { /* Coeff Band 2 */
{ 107, 58, 149 },
{ 92, 53, 147 },
{ 78, 14, 123 },
{ 56, 3, 87 },
{ 35, 1, 56 },
{ 17, 1, 27 }
}, { /* Coeff Band 3 */
{ 142, 61, 171 },
{ 111, 30, 162 },
{ 80, 4, 128 },
{ 53, 1, 87 },
{ 31, 1, 52 },
{ 14, 1, 24 }
}, { /* Coeff Band 4 */
{ 171, 73, 200 },
{ 129, 28, 184 },
{ 86, 3, 140 },
{ 54, 1, 90 },
{ 28, 1, 49 },
{ 12, 1, 21 }
}, { /* Coeff Band 5 */
{ 193, 129, 227 },
{ 148, 28, 200 },
{ 90, 2, 144 },
{ 53, 1, 90 },
{ 28, 1, 50 },
{ 13, 1, 22 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 60, 7, 234 },
{ 64, 4, 184 },
{ 56, 1, 104 }
}, { /* Coeff Band 1 */
{ 150, 111, 210 },
{ 87, 185, 202 },
{ 101, 81, 177 },
{ 90, 34, 142 },
{ 67, 11, 95 },
{ 38, 2, 51 }
}, { /* Coeff Band 2 */
{ 153, 139, 218 },
{ 120, 72, 195 },
{ 90, 11, 147 },
{ 63, 3, 101 },
{ 39, 1, 61 },
{ 20, 1, 33 }
}, { /* Coeff Band 3 */
{ 171, 132, 223 },
{ 131, 56, 200 },
{ 92, 6, 147 },
{ 58, 1, 95 },
{ 32, 1, 52 },
{ 14, 1, 23 }
}, { /* Coeff Band 4 */
{ 183, 137, 227 },
{ 139, 48, 204 },
{ 91, 3, 148 },
{ 55, 1, 91 },
{ 28, 1, 47 },
{ 13, 1, 21 }
}, { /* Coeff Band 5 */
{ 198, 149, 234 },
{ 153, 32, 208 },
{ 95, 2, 148 },
{ 55, 1, 90 },
{ 30, 1, 51 },
{ 16, 1, 25 }
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 7, 209, 217 },
{ 31, 106, 151 },
{ 40, 21, 86 }
}, { /* Coeff Band 1 */
{ 101, 71, 184 },
{ 74, 131, 177 },
{ 88, 50, 158 },
{ 78, 16, 129 },
{ 51, 2, 82 },
{ 18, 1, 29 }
}, { /* Coeff Band 2 */
{ 116, 115, 199 },
{ 102, 88, 191 },
{ 94, 22, 160 },
{ 74, 6, 122 },
{ 47, 1, 77 },
{ 18, 1, 30 }
}, { /* Coeff Band 3 */
{ 157, 124, 210 },
{ 130, 53, 201 },
{ 102, 10, 165 },
{ 73, 1, 120 },
{ 42, 1, 69 },
{ 16, 1, 27 }
}, { /* Coeff Band 4 */
{ 174, 147, 225 },
{ 134, 67, 212 },
{ 100, 10, 168 },
{ 66, 1, 111 },
{ 36, 1, 60 },
{ 16, 1, 27 }
}, { /* Coeff Band 5 */
{ 185, 165, 232 },
{ 147, 56, 214 },
{ 105, 5, 165 },
{ 66, 1, 108 },
{ 35, 1, 59 },
{ 16, 1, 27 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 3, 232, 245 },
{ 18, 162, 210 },
{ 38, 64, 131 }
}, { /* Coeff Band 1 */
{ 84, 187, 239 },
{ 35, 231, 231 },
{ 82, 150, 209 },
{ 87, 97, 181 },
{ 81, 64, 151 },
{ 67, 60, 119 }
}, { /* Coeff Band 2 */
{ 107, 185, 239 },
{ 100, 149, 224 },
{ 107, 34, 185 },
{ 83, 12, 141 },
{ 49, 4, 92 },
{ 21, 1, 40 }
}, { /* Coeff Band 3 */
{ 125, 184, 243 },
{ 121, 127, 228 },
{ 113, 25, 185 },
{ 82, 6, 134 },
{ 48, 1, 82 },
{ 26, 1, 38 }
}, { /* Coeff Band 4 */
{ 143, 185, 245 },
{ 133, 115, 231 },
{ 114, 14, 184 },
{ 77, 3, 126 },
{ 43, 1, 68 },
{ 34, 1, 40 }
}, { /* Coeff Band 5 */
{ 170, 194, 241 },
{ 151, 80, 226 },
{ 118, 9, 180 },
{ 81, 1, 130 },
{ 51, 1, 78 },
{ 18, 1, 49 }
}
}
}
};
static const vp9_coeff_probs_model default_coef_probs_32x32[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 29, 42, 137 },
{ 26, 3, 60 },
{ 13, 1, 23 }
}, { /* Coeff Band 1 */
{ 69, 36, 122 },
{ 63, 57, 123 },
{ 60, 33, 112 },
{ 52, 11, 90 },
{ 32, 2, 52 },
{ 10, 1, 15 }
}, { /* Coeff Band 2 */
{ 107, 55, 143 },
{ 86, 69, 143 },
{ 74, 24, 116 },
{ 52, 5, 78 },
{ 29, 1, 44 },
{ 12, 1, 18 }
}, { /* Coeff Band 3 */
{ 137, 71, 160 },
{ 107, 34, 152 },
{ 73, 6, 114 },
{ 44, 1, 69 },
{ 25, 1, 40 },
{ 12, 1, 18 }
}, { /* Coeff Band 4 */
{ 165, 70, 174 },
{ 118, 24, 159 },
{ 74, 3, 117 },
{ 45, 1, 73 },
{ 26, 1, 43 },
{ 12, 1, 19 }
}, { /* Coeff Band 5 */
{ 220, 93, 223 },
{ 153, 10, 187 },
{ 86, 2, 131 },
{ 49, 1, 79 },
{ 26, 1, 43 },
{ 12, 1, 20 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 30, 58, 227 },
{ 35, 10, 172 },
{ 24, 23, 112 }
}, { /* Coeff Band 1 */
{ 117, 145, 219 },
{ 51, 221, 216 },
{ 75, 169, 196 },
{ 88, 96, 165 },
{ 77, 43, 117 },
{ 53, 18, 60 }
}, { /* Coeff Band 2 */
{ 128, 176, 225 },
{ 108, 114, 202 },
{ 92, 19, 152 },
{ 65, 4, 103 },
{ 38, 1, 61 },
{ 19, 1, 30 }
}, { /* Coeff Band 3 */
{ 146, 184, 228 },
{ 122, 95, 205 },
{ 92, 11, 149 },
{ 62, 1, 98 },
{ 35, 1, 57 },
{ 17, 1, 26 }
}, { /* Coeff Band 4 */
{ 165, 192, 230 },
{ 132, 81, 206 },
{ 93, 6, 147 },
{ 58, 1, 94 },
{ 32, 1, 52 },
{ 15, 1, 24 }
}, { /* Coeff Band 5 */
{ 204, 223, 234 },
{ 156, 49, 204 },
{ 97, 3, 145 },
{ 59, 1, 92 },
{ 33, 1, 52 },
{ 15, 1, 24 }
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 7, 184, 200 },
{ 25, 67, 113 },
{ 30, 9, 59 }
}, { /* Coeff Band 1 */
{ 92, 42, 158 },
{ 65, 121, 159 },
{ 77, 56, 146 },
{ 70, 22, 120 },
{ 47, 4, 76 },
{ 18, 1, 26 }
}, { /* Coeff Band 2 */
{ 113, 81, 177 },
{ 96, 75, 167 },
{ 84, 24, 136 },
{ 63, 8, 100 },
{ 37, 1, 58 },
{ 13, 1, 19 }
}, { /* Coeff Band 3 */
{ 147, 85, 194 },
{ 119, 36, 178 },
{ 88, 8, 139 },
{ 59, 1, 93 },
{ 31, 1, 49 },
{ 10, 1, 18 }
}, { /* Coeff Band 4 */
{ 169, 108, 210 },
{ 131, 41, 191 },
{ 92, 5, 144 },
{ 56, 1, 88 },
{ 29, 1, 47 },
{ 14, 1, 22 }
}, { /* Coeff Band 5 */
{ 210, 106, 223 },
{ 148, 14, 192 },
{ 89, 2, 138 },
{ 52, 1, 84 },
{ 29, 1, 47 },
{ 14, 1, 23 }
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 3, 207, 245 },
{ 12, 102, 213 },
{ 18, 33, 144 }
}, { /* Coeff Band 1 */
{ 85, 205, 245 },
{ 18, 249, 242 },
{ 59, 221, 229 },
{ 91, 166, 213 },
{ 88, 117, 183 },
{ 70, 95, 149 }
}, { /* Coeff Band 2 */
{ 114, 193, 241 },
{ 104, 155, 221 },
{ 100, 33, 181 },
{ 78, 10, 132 },
{ 43, 2, 75 },
{ 15, 1, 48 }
}, { /* Coeff Band 3 */
{ 118, 198, 244 },
{ 117, 142, 224 },
{ 111, 25, 179 },
{ 83, 4, 134 },
{ 57, 1, 84 },
{ 1, 1, 1 }
}, { /* Coeff Band 4 */
{ 144, 201, 248 },
{ 136, 130, 234 },
{ 124, 12, 188 },
{ 83, 1, 130 },
{ 61, 1, 66 },
{ 64, 171, 128 }
}, { /* Coeff Band 5 */
{ 174, 227, 250 },
{ 165, 118, 242 },
{ 132, 21, 197 },
{ 84, 3, 134 },
{ 70, 1, 69 },
{ 1, 1, 1 }
}
}
}
};
#else
static const vp9_coeff_probs_model default_coef_probs_4x4[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 208, 32, 178,},
{ 102, 43, 132,},
{ 15, 36, 68,}
}, { /* Coeff Band 1 */
{ 71, 91, 178,},
{ 72, 88, 174,},
{ 40, 79, 154,},
{ 21, 68, 126,},
{ 7, 49, 84,},
{ 1, 20, 32,}
}, { /* Coeff Band 2 */
{ 108, 110, 206,},
{ 72, 98, 191,},
{ 26, 77, 152,},
{ 7, 57, 106,},
{ 1, 35, 60,},
{ 1, 14, 22,}
}, { /* Coeff Band 3 */
{ 105, 139, 222,},
{ 76, 118, 205,},
{ 21, 88, 164,},
{ 5, 63, 118,},
{ 1, 42, 74,},
{ 1, 18, 30,}
}, { /* Coeff Band 4 */
{ 143, 117, 233,},
{ 99, 104, 214,},
{ 26, 81, 170,},
{ 6, 60, 116,},
{ 1, 38, 65,},
{ 1, 15, 26,}
}, { /* Coeff Band 5 */
{ 155, 74, 238,},
{ 152, 64, 223,},
{ 67, 55, 182,},
{ 27, 44, 127,},
{ 9, 27, 69,},
{ 2, 11, 28,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 207, 112, 234,},
{ 145, 120, 212,},
{ 77, 114, 177,}
}, { /* Coeff Band 1 */
{ 93, 174, 243,},
{ 100, 144, 231,},
{ 28, 101, 186,},
{ 9, 73, 132,},
{ 2, 44, 76,},
{ 1, 19, 33,}
}, { /* Coeff Band 2 */
{ 116, 175, 246,},
{ 78, 142, 231,},
{ 14, 93, 177,},
{ 4, 65, 122,},
{ 1, 38, 69,},
{ 1, 18, 30,}
}, { /* Coeff Band 3 */
{ 138, 183, 249,},
{ 93, 147, 237,},
{ 21, 104, 187,},
{ 6, 73, 131,},
{ 1, 47, 83,},
{ 1, 26, 44,}
}, { /* Coeff Band 4 */
{ 188, 143, 252,},
{ 137, 124, 241,},
{ 32, 89, 188,},
{ 7, 61, 122,},
{ 1, 34, 66,},
{ 1, 18, 34,}
}, { /* Coeff Band 5 */
{ 198, 92, 253,},
{ 189, 79, 244,},
{ 78, 61, 200,},
{ 34, 50, 146,},
{ 11, 38, 93,},
{ 1, 31, 55,}
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 207, 35, 219,},
{ 126, 46, 182,},
{ 51, 47, 125,}
}, { /* Coeff Band 1 */
{ 114, 124, 220,},
{ 142, 116, 213,},
{ 81, 101, 190,},
{ 42, 83, 155,},
{ 16, 62, 104,},
{ 6, 40, 60,}
}, { /* Coeff Band 2 */
{ 139, 149, 228,},
{ 115, 127, 221,},
{ 43, 100, 189,},
{ 13, 77, 141,},
{ 3, 49, 88,},
{ 1, 23, 41,}
}, { /* Coeff Band 3 */
{ 119, 185, 236,},
{ 89, 140, 224,},
{ 34, 105, 189,},
{ 14, 78, 142,},
{ 5, 49, 90,},
{ 1, 22, 41,}
}, { /* Coeff Band 4 */
{ 162, 142, 244,},
{ 129, 120, 231,},
{ 44, 90, 189,},
{ 14, 65, 132,},
{ 3, 38, 72,},
{ 1, 17, 39,}
}, { /* Coeff Band 5 */
{ 167, 96, 247,},
{ 163, 84, 234,},
{ 70, 63, 185,},
{ 30, 44, 132,},
{ 13, 30, 80,},
{ 5, 13, 38,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 242, 90, 246,},
{ 186, 102, 228,},
{ 102, 108, 203,}
}, { /* Coeff Band 1 */
{ 152, 169, 250,},
{ 164, 149, 242,},
{ 63, 108, 204,},
{ 39, 83, 153,},
{ 31, 66, 108,},
{ 27, 65, 71,}
}, { /* Coeff Band 2 */
{ 161, 174, 250,},
{ 133, 150, 239,},
{ 32, 105, 197,},
{ 10, 78, 147,},
{ 2, 49, 99,},
{ 1, 26, 53,}
}, { /* Coeff Band 3 */
{ 160, 187, 251,},
{ 131, 155, 241,},
{ 42, 108, 198,},
{ 18, 81, 151,},
{ 9, 60, 112,},
{ 5, 35, 49,}
}, { /* Coeff Band 4 */
{ 195, 141, 253,},
{ 169, 128, 245,},
{ 62, 91, 204,},
{ 23, 70, 150,},
{ 2, 44, 78,},
{ 1, 1, 128,}
}, { /* Coeff Band 5 */
{ 195, 104, 253,},
{ 197, 92, 248,},
{ 88, 71, 214,},
{ 39, 56, 160,},
{ 18, 28, 90,},
{ 128, 128, 128,}
}
}
}
};
static const vp9_coeff_probs_model default_coef_probs_8x8[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 196, 40, 199,},
{ 83, 38, 128,},
{ 10, 29, 55,}
}, { /* Coeff Band 1 */
{ 33, 114, 160,},
{ 69, 107, 155,},
{ 30, 91, 138,},
{ 12, 74, 115,},
{ 4, 52, 80,},
{ 1, 27, 40,}
}, { /* Coeff Band 2 */
{ 38, 159, 190,},
{ 34, 130, 182,},
{ 10, 97, 153,},
{ 3, 71, 115,},
{ 1, 41, 68,},
{ 1, 16, 27,}
}, { /* Coeff Band 3 */
{ 41, 184, 214,},
{ 24, 142, 199,},
{ 6, 97, 159,},
{ 1, 63, 110,},
{ 1, 32, 58,},
{ 1, 12, 21,}
}, { /* Coeff Band 4 */
{ 54, 207, 231,},
{ 32, 156, 213,},
{ 7, 98, 164,},
{ 2, 62, 108,},
{ 1, 32, 57,},
{ 1, 13, 22,}
}, { /* Coeff Band 5 */
{ 89, 208, 239,},
{ 53, 155, 223,},
{ 12, 102, 170,},
{ 3, 67, 111,},
{ 1, 38, 60,},
{ 1, 18, 26,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 205, 121, 244,},
{ 140, 120, 211,},
{ 51, 100, 152,}
}, { /* Coeff Band 1 */
{ 66, 196, 236,},
{ 99, 164, 223,},
{ 29, 122, 187,},
{ 14, 95, 145,},
{ 6, 68, 97,},
{ 3, 43, 50,}
}, { /* Coeff Band 2 */
{ 66, 202, 238,},
{ 45, 155, 218,},
{ 6, 96, 163,},
{ 2, 64, 110,},
{ 1, 34, 61,},
{ 1, 13, 24,}
}, { /* Coeff Band 3 */
{ 66, 204, 242,},
{ 38, 158, 222,},
{ 6, 95, 166,},
{ 2, 61, 111,},
{ 1, 31, 59,},
{ 1, 12, 22,}
}, { /* Coeff Band 4 */
{ 63, 214, 245,},
{ 38, 164, 228,},
{ 5, 101, 174,},
{ 1, 64, 116,},
{ 1, 34, 63,},
{ 1, 14, 26,}
}, { /* Coeff Band 5 */
{ 91, 214, 246,},
{ 55, 162, 233,},
{ 10, 104, 179,},
{ 2, 67, 119,},
{ 1, 37, 66,},
{ 1, 16, 30,}
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 211, 32, 212,},
{ 121, 47, 171,},
{ 40, 51, 118,}
}, { /* Coeff Band 1 */
{ 71, 129, 209,},
{ 118, 122, 206,},
{ 53, 104, 184,},
{ 20, 81, 148,},
{ 3, 47, 82,},
{ 1, 18, 28,}
}, { /* Coeff Band 2 */
{ 86, 162, 220,},
{ 84, 134, 216,},
{ 26, 102, 186,},
{ 7, 75, 135,},
{ 1, 46, 79,},
{ 1, 20, 35,}
}, { /* Coeff Band 3 */
{ 89, 191, 232,},
{ 67, 148, 223,},
{ 19, 105, 183,},
{ 5, 72, 127,},
{ 1, 44, 76,},
{ 1, 21, 36,}
}, { /* Coeff Band 4 */
{ 94, 210, 236,},
{ 68, 153, 224,},
{ 14, 103, 178,},
{ 2, 70, 122,},
{ 1, 42, 72,},
{ 1, 19, 34,}
}, { /* Coeff Band 5 */
{ 87, 200, 238,},
{ 55, 151, 225,},
{ 11, 106, 179,},
{ 2, 72, 124,},
{ 1, 42, 70,},
{ 1, 17, 28,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 238, 66, 250,},
{ 178, 84, 226,},
{ 76, 83, 168,}
}, { /* Coeff Band 1 */
{ 137, 176, 246,},
{ 176, 160, 237,},
{ 68, 128, 205,},
{ 40, 105, 167,},
{ 22, 84, 131,},
{ 11, 60, 91,}
}, { /* Coeff Band 2 */
{ 124, 192, 247,},
{ 103, 161, 234,},
{ 19, 108, 190,},
{ 6, 74, 131,},
{ 1, 41, 72,},
{ 1, 14, 24,}
}, { /* Coeff Band 3 */
{ 118, 200, 248,},
{ 91, 166, 235,},
{ 16, 110, 186,},
{ 3, 72, 124,},
{ 1, 39, 66,},
{ 1, 14, 19,}
}, { /* Coeff Band 4 */
{ 112, 213, 248,},
{ 80, 172, 234,},
{ 11, 112, 182,},
{ 2, 73, 126,},
{ 1, 40, 69,},
{ 1, 16, 24,}
}, { /* Coeff Band 5 */
{ 100, 209, 245,},
{ 65, 164, 232,},
{ 11, 117, 186,},
{ 2, 83, 136,},
{ 1, 55, 88,},
{ 1, 10, 38,}
}
}
}
};
static const vp9_coeff_probs_model default_coef_probs_16x16[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 8, 26, 101,},
{ 2, 25, 67,},
{ 1, 15, 28,}
}, { /* Coeff Band 1 */
{ 22, 73, 118,},
{ 43, 73, 116,},
{ 24, 66, 105,},
{ 9, 54, 85,},
{ 2, 34, 54,},
{ 1, 14, 22,}
}, { /* Coeff Band 2 */
{ 34, 123, 149,},
{ 34, 106, 147,},
{ 10, 81, 123,},
{ 2, 56, 87,},
{ 1, 35, 56,},
{ 1, 17, 27,}
}, { /* Coeff Band 3 */
{ 27, 159, 171,},
{ 17, 119, 162,},
{ 3, 81, 128,},
{ 1, 53, 87,},
{ 1, 31, 52,},
{ 1, 14, 24,}
}, { /* Coeff Band 4 */
{ 24, 189, 200,},
{ 14, 136, 184,},
{ 2, 87, 140,},
{ 1, 54, 90,},
{ 1, 28, 49,},
{ 1, 12, 21,}
}, { /* Coeff Band 5 */
{ 32, 220, 227,},
{ 12, 155, 200,},
{ 1, 90, 144,},
{ 1, 53, 90,},
{ 1, 28, 50,},
{ 1, 13, 22,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 5, 61, 234,},
{ 3, 65, 184,},
{ 1, 56, 104,}
}, { /* Coeff Band 1 */
{ 46, 183, 210,},
{ 122, 166, 202,},
{ 49, 125, 177,},
{ 22, 99, 142,},
{ 8, 69, 95,},
{ 2, 38, 51,}
}, { /* Coeff Band 2 */
{ 56, 196, 218,},
{ 38, 141, 195,},
{ 7, 93, 147,},
{ 2, 63, 101,},
{ 1, 39, 61,},
{ 1, 20, 33,}
}, { /* Coeff Band 3 */
{ 44, 206, 223,},
{ 27, 147, 200,},
{ 4, 93, 147,},
{ 1, 58, 95,},
{ 1, 32, 52,},
{ 1, 14, 23,}
}, { /* Coeff Band 4 */
{ 39, 216, 227,},
{ 22, 152, 204,},
{ 2, 92, 148,},
{ 1, 55, 91,},
{ 1, 28, 47,},
{ 1, 13, 21,}
}, { /* Coeff Band 5 */
{ 34, 228, 234,},
{ 13, 161, 208,},
{ 1, 95, 148,},
{ 1, 55, 90,},
{ 1, 30, 51,},
{ 1, 16, 25,}
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 204, 33, 217,},
{ 93, 48, 151,},
{ 18, 43, 86,}
}, { /* Coeff Band 1 */
{ 43, 121, 184,},
{ 93, 117, 177,},
{ 33, 101, 158,},
{ 11, 81, 129,},
{ 2, 51, 82,},
{ 1, 18, 29,}
}, { /* Coeff Band 2 */
{ 63, 154, 199,},
{ 53, 128, 191,},
{ 14, 99, 160,},
{ 4, 75, 122,},
{ 1, 47, 77,},
{ 1, 18, 30,}
}, { /* Coeff Band 3 */
{ 48, 193, 210,},
{ 26, 145, 201,},
{ 6, 104, 165,},
{ 1, 73, 120,},
{ 1, 42, 69,},
{ 1, 16, 27,}
}, { /* Coeff Band 4 */
{ 47, 213, 225,},
{ 32, 153, 212,},
{ 6, 102, 168,},
{ 1, 66, 111,},
{ 1, 36, 60,},
{ 1, 16, 27,}
}, { /* Coeff Band 5 */
{ 46, 225, 232,},
{ 24, 162, 214,},
{ 3, 106, 165,},
{ 1, 66, 108,},
{ 1, 35, 59,},
{ 1, 16, 27,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 229, 28, 245,},
{ 151, 44, 210,},
{ 55, 48, 131,}
}, { /* Coeff Band 1 */
{ 126, 165, 239,},
{ 199, 158, 231,},
{ 102, 136, 209,},
{ 64, 116, 181,},
{ 44, 98, 151,},
{ 44, 81, 119,}
}, { /* Coeff Band 2 */
{ 108, 185, 239,},
{ 91, 155, 224,},
{ 20, 116, 185,},
{ 8, 86, 141,},
{ 3, 50, 92,},
{ 1, 21, 40,}
}, { /* Coeff Band 3 */
{ 94, 198, 243,},
{ 67, 164, 228,},
{ 14, 120, 185,},
{ 4, 83, 134,},
{ 1, 48, 82,},
{ 1, 26, 38,}
}, { /* Coeff Band 4 */
{ 82, 210, 245,},
{ 55, 170, 231,},
{ 8, 118, 184,},
{ 2, 78, 126,},
{ 1, 43, 68,},
{ 1, 34, 40,}
}, { /* Coeff Band 5 */
{ 65, 228, 241,},
{ 33, 173, 226,},
{ 5, 120, 180,},
{ 1, 81, 130,},
{ 1, 51, 78,},
{ 1, 18, 49,}
}
}
}
};
static const vp9_coeff_probs_model default_coef_probs_32x32[BLOCK_TYPES] = {
{ /* block Type 0 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 37, 34, 137,},
{ 3, 26, 60,},
{ 1, 13, 23,}
}, { /* Coeff Band 1 */
{ 26, 77, 122,},
{ 43, 76, 123,},
{ 25, 67, 112,},
{ 9, 54, 90,},
{ 2, 32, 52,},
{ 1, 10, 15,}
}, { /* Coeff Band 2 */
{ 32, 122, 143,},
{ 46, 105, 143,},
{ 17, 79, 116,},
{ 4, 53, 78,},
{ 1, 29, 44,},
{ 1, 12, 18,}
}, { /* Coeff Band 3 */
{ 33, 157, 160,},
{ 20, 116, 152,},
{ 4, 74, 114,},
{ 1, 44, 69,},
{ 1, 25, 40,},
{ 1, 12, 18,}
}, { /* Coeff Band 4 */
{ 25, 183, 174,},
{ 13, 124, 159,},
{ 2, 75, 117,},
{ 1, 45, 73,},
{ 1, 26, 43,},
{ 1, 12, 19,}
}, { /* Coeff Band 5 */
{ 13, 232, 223,},
{ 4, 155, 187,},
{ 1, 86, 131,},
{ 1, 49, 79,},
{ 1, 26, 43,},
{ 1, 12, 20,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 51, 37, 227,},
{ 9, 36, 172,},
{ 21, 26, 112,}
}, { /* Coeff Band 1 */
{ 79, 169, 219,},
{ 177, 166, 216,},
{ 119, 141, 196,},
{ 63, 117, 165,},
{ 30, 87, 117,},
{ 14, 56, 60,}
}, { /* Coeff Band 2 */
{ 88, 195, 225,},
{ 66, 145, 202,},
{ 12, 97, 152,},
{ 3, 66, 103,},
{ 1, 38, 61,},
{ 1, 19, 30,}
}, { /* Coeff Band 3 */
{ 79, 211, 228,},
{ 50, 151, 205,},
{ 7, 95, 149,},
{ 1, 62, 98,},
{ 1, 35, 57,},
{ 1, 17, 26,}
}, { /* Coeff Band 4 */
{ 68, 225, 230,},
{ 39, 156, 206,},
{ 4, 94, 147,},
{ 1, 58, 94,},
{ 1, 32, 52,},
{ 1, 15, 24,}
}, { /* Coeff Band 5 */
{ 45, 248, 234,},
{ 19, 169, 204,},
{ 2, 98, 145,},
{ 1, 59, 92,},
{ 1, 33, 52,},
{ 1, 15, 24,}
}
}
}, { /* block Type 1 */
{ /* Intra */
{ /* Coeff Band 0 */
{ 179, 23, 200,},
{ 60, 33, 113,},
{ 8, 31, 59,}
}, { /* Coeff Band 1 */
{ 27, 103, 158,},
{ 90, 101, 159,},
{ 39, 91, 146,},
{ 16, 75, 120,},
{ 3, 48, 76,},
{ 1, 18, 26,}
}, { /* Coeff Band 2 */
{ 45, 137, 177,},
{ 47, 117, 167,},
{ 16, 90, 136,},
{ 6, 65, 100,},
{ 1, 37, 58,},
{ 1, 13, 19,}
}, { /* Coeff Band 3 */
{ 36, 171, 194,},
{ 19, 129, 178,},
{ 5, 90, 139,},
{ 1, 59, 93,},
{ 1, 31, 49,},
{ 1, 10, 18,}
}, { /* Coeff Band 4 */
{ 37, 197, 210,},
{ 20, 142, 191,},
{ 3, 93, 144,},
{ 1, 56, 88,},
{ 1, 29, 47,},
{ 1, 14, 22,}
}, { /* Coeff Band 5 */
{ 19, 227, 223,},
{ 6, 152, 192,},
{ 1, 89, 138,},
{ 1, 52, 84,},
{ 1, 29, 47,},
{ 1, 14, 23,}
}
}, { /* Inter */
{ /* Coeff Band 0 */
{ 205, 14, 245,},
{ 97, 19, 213,},
{ 31, 20, 144,}
}, { /* Coeff Band 1 */
{ 137, 182, 245,},
{ 231, 185, 242,},
{ 170, 175, 229,},
{ 107, 157, 213,},
{ 77, 126, 183,},
{ 69, 96, 149,}
}, { /* Coeff Band 2 */
{ 107, 196, 241,},
{ 92, 162, 221,},
{ 20, 108, 181,},
{ 7, 80, 132,},
{ 2, 43, 75,},
{ 1, 15, 48,}
}, { /* Coeff Band 3 */
{ 107, 202, 244,},
{ 77, 167, 224,},
{ 14, 117, 179,},
{ 3, 84, 134,},
{ 1, 57, 84,},
{ 1, 1, 1,}
}, { /* Coeff Band 4 */
{ 88, 219, 248,},
{ 61, 178, 234,},
{ 6, 127, 188,},
{ 1, 83, 130,},
{ 1, 61, 66,},
{ 128, 128, 128,}
}, { /* Coeff Band 5 */
{ 73, 243, 250,},
{ 42, 197, 242,},
{ 10, 137, 197,},
{ 2, 85, 134,},
{ 1, 70, 69,},
{ 1, 1, 1,}
}
}
}
};
#endif