From: Ronald S. Bultje Date: Mon, 25 Mar 2013 19:28:24 +0000 (-0700) Subject: Redo banding for all transforms. X-Git-Tag: v1.3.0~1151^2~21^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3120dbddb12b6299c2d4f2b09c529c6fb2633c47;p=platform%2Fupstream%2Flibvpx.git Redo banding for all transforms. Now that the first AC coefficient in both directions use the same DC as their context, there no longer is a purpose in letting both have their own band. Merging these two bands allows us to split bands for some of the very high-frequency AC bands. In addition, I'm redoing the banding for the 1D-ADST col/row scans. I don't think the old banding made any sense at all (it merged the last coefficient of the first row/col in the same band as the first two of the second row/col), which was clearly an oversight from the band being applied in scan-order (rather than in their actual position). Now, coefficients at the same position will be in the same band, regardless what scan order is used. I think this makes most sense for the purpose of banding, which is basically "predict energy for this coefficient depending on the energy of context coefficients" (i.e. pt). After full re-training, together with previous patch, derf gains about 1.2-1.3%, and hd/stdhd gain about 0.9-1.0%. Change-Id: I7a0cc12ba724e88b278034113cb4adaaebf87e0c --- diff --git a/vp9/common/vp9_default_coef_probs.h b/vp9/common/vp9_default_coef_probs.h index 26c857b..c9be8b2 100644 --- a/vp9/common/vp9_default_coef_probs.h +++ b/vp9/common/vp9_default_coef_probs.h @@ -19,169 +19,169 @@ static const vp9_coeff_probs default_coef_probs_4x4[BLOCK_TYPES] = { { /* block Type 0 */ { /* Intra */ { /* Coeff Band 0 */ - { 201, 32, 166, 187, 155, 167, 175, 141, 211, 179, 126 }, - { 96, 39, 117, 157, 143, 158, 146, 131, 196, 159, 160 }, - { 13, 28, 54, 109, 114, 147, 133, 120, 205, 154, 188 } + { 208, 32, 178, 198, 161, 167, 196, 147, 244, 194, 210 }, + { 102, 43, 132, 185, 148, 162, 185, 141, 237, 181, 215 }, + { 15, 36, 68, 143, 119, 151, 169, 133, 230, 173, 214 } }, { /* Coeff Band 1 */ - { 128, 91, 156, 207, 155, 169, 211, 156, 244, 198, 224 }, - { 72, 84, 154, 208, 157, 170, 211, 156, 244, 198, 227 }, - { 34, 68, 123, 203, 149, 169, 211, 157, 243, 199, 227 }, - { 14, 53, 92, 187, 127, 159, 210, 156, 244, 198, 223 }, - { 3, 35, 56, 140, 108, 145, 200, 134, 245, 200, 227 }, - { 1, 15, 22, 68, 92, 136, 117, 107, 218, 158, 208 } + { 71, 91, 178, 226, 169, 176, 232, 170, 252, 219, 231 }, + { 72, 88, 174, 226, 168, 176, 232, 170, 252, 219, 234 }, + { 40, 79, 154, 222, 161, 174, 231, 169, 251, 219, 238 }, + { 21, 68, 126, 211, 144, 167, 230, 167, 252, 219, 236 }, + { 7, 49, 84, 175, 121, 152, 223, 151, 251, 218, 237 }, + { 1, 20, 32, 100, 97, 140, 163, 116, 237, 186, 222 } }, { /* Coeff Band 2 */ - { 24, 81, 164, 207, 158, 170, 205, 153, 241, 193, 221 }, - { 48, 75, 154, 206, 157, 169, 206, 154, 241, 193, 226 }, - { 18, 64, 123, 201, 150, 168, 205, 154, 240, 192, 225 }, - { 6, 51, 90, 187, 130, 161, 204, 152, 239, 192, 221 }, - { 1, 33, 52, 143, 106, 145, 195, 139, 239, 191, 220 }, - { 1, 15, 19, 65, 89, 135, 117, 105, 214, 157, 202 } + { 108, 110, 206, 237, 182, 183, 239, 181, 252, 221, 245 }, + { 72, 98, 191, 236, 180, 182, 240, 183, 252, 223, 239 }, + { 26, 77, 152, 230, 166, 179, 239, 181, 252, 222, 241 }, + { 7, 57, 106, 212, 141, 167, 236, 173, 252, 223, 243 }, + { 1, 35, 60, 171, 110, 149, 225, 155, 251, 218, 240 }, + { 1, 14, 22, 90, 86, 134, 163, 116, 238, 181, 233 } }, { /* Coeff Band 3 */ - { 46, 119, 186, 221, 170, 176, 214, 161, 241, 193, 228 }, - { 50, 100, 175, 224, 170, 177, 219, 165, 243, 197, 227 }, - { 17, 77, 137, 217, 157, 174, 219, 166, 243, 200, 230 }, - { 6, 58, 98, 195, 133, 162, 216, 160, 244, 201, 228 }, - { 2, 38, 61, 149, 111, 147, 200, 138, 243, 199, 225 }, - { 1, 17, 25, 76, 94, 138, 126, 109, 221, 161, 212 } + { 105, 139, 222, 245, 196, 192, 245, 195, 253, 229, 255 }, + { 76, 118, 205, 245, 192, 192, 247, 198, 254, 230, 255 }, + { 21, 88, 164, 240, 175, 186, 246, 197, 255, 232, 255 }, + { 5, 63, 118, 222, 149, 172, 242, 185, 255, 230, 254 }, + { 1, 42, 74, 186, 120, 157, 227, 161, 253, 220, 250 }, + { 1, 18, 30, 97, 92, 136, 163, 118, 244, 184, 244 } }, { /* Coeff Band 4 */ - { 56, 131, 201, 231, 179, 181, 227, 172, 248, 209, 235 }, - { 52, 105, 187, 233, 179, 183, 229, 175, 248, 213, 240 }, - { 12, 77, 142, 225, 162, 178, 229, 173, 250, 214, 247 }, - { 3, 53, 93, 197, 133, 163, 222, 163, 250, 211, 240 }, - { 1, 31, 50, 145, 104, 145, 203, 140, 247, 204, 233 }, - { 1, 13, 19, 66, 85, 132, 129, 105, 228, 166, 217 } + { 143, 117, 233, 251, 207, 201, 250, 210, 255, 239, 128 }, + { 99, 104, 214, 249, 200, 199, 251, 211, 255, 238, 255 }, + { 26, 81, 170, 245, 183, 192, 250, 206, 255, 242, 255 }, + { 6, 60, 116, 226, 151, 176, 242, 187, 255, 235, 255 }, + { 1, 38, 65, 178, 114, 153, 224, 157, 254, 224, 255 }, + { 1, 15, 26, 86, 88, 133, 163, 110, 251, 197, 252 } }, { /* Coeff Band 5 */ - { 93, 99, 221, 242, 194, 189, 240, 187, 251, 227, 199 }, - { 104, 81, 205, 242, 191, 190, 240, 187, 253, 227, 248 }, - { 39, 60, 155, 234, 172, 183, 237, 182, 254, 224, 251 }, - { 14, 42, 96, 203, 136, 166, 226, 166, 253, 216, 244 }, - { 4, 25, 49, 144, 102, 144, 205, 141, 249, 207, 238 }, - { 1, 10, 19, 65, 86, 131, 132, 103, 233, 171, 221 } + { 155, 74, 238, 252, 215, 206, 252, 223, 255, 255, 128 }, + { 152, 64, 223, 250, 205, 201, 254, 219, 255, 255, 128 }, + { 67, 55, 182, 246, 187, 192, 251, 210, 255, 240, 128 }, + { 27, 44, 127, 227, 155, 176, 244, 186, 255, 240, 255 }, + { 9, 27, 69, 176, 115, 152, 227, 154, 255, 229, 255 }, + { 2, 11, 28, 91, 84, 133, 177, 115, 254, 210, 255 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 218, 134, 212, 233, 187, 182, 227, 169, 250, 213, 211 }, - { 137, 121, 176, 211, 169, 173, 200, 153, 236, 191, 201 }, - { 43, 96, 132, 181, 150, 164, 177, 141, 224, 175, 197 } + { 207, 112, 234, 244, 192, 193, 246, 194, 255, 237, 255 }, + { 145, 120, 212, 233, 178, 183, 232, 177, 252, 216, 228 }, + { 77, 114, 177, 214, 164, 174, 210, 159, 245, 199, 230 } }, { /* Coeff Band 1 */ - { 128, 178, 225, 239, 192, 188, 232, 178, 250, 216, 243 }, - { 29, 147, 210, 239, 191, 189, 231, 176, 249, 215, 239 }, - { 20, 101, 159, 236, 177, 189, 231, 178, 249, 214, 248 }, - { 7, 69, 107, 219, 132, 168, 235, 185, 250, 214, 245 }, - { 2, 40, 62, 150, 106, 142, 228, 146, 252, 223, 242 }, - { 1, 18, 28, 74, 96, 139, 127, 103, 234, 175, 228 } + { 93, 174, 243, 248, 205, 200, 245, 195, 255, 232, 255 }, + { 100, 144, 231, 248, 204, 200, 244, 193, 255, 232, 255 }, + { 28, 101, 186, 247, 194, 199, 244, 194, 255, 232, 255 }, + { 9, 73, 132, 238, 155, 186, 245, 197, 255, 232, 250 }, + { 2, 44, 76, 187, 112, 151, 240, 172, 255, 235, 249 }, + { 1, 19, 33, 98, 92, 138, 176, 113, 252, 208, 249 } }, { /* Coeff Band 2 */ - { 38, 163, 224, 240, 192, 188, 234, 178, 251, 217, 233 }, - { 34, 134, 206, 239, 189, 188, 233, 177, 251, 218, 248 }, - { 14, 95, 156, 234, 171, 186, 234, 179, 251, 220, 238 }, - { 6, 68, 110, 215, 133, 166, 236, 181, 251, 217, 235 }, - { 2, 43, 68, 155, 111, 146, 223, 144, 252, 224, 239 }, - { 1, 21, 32, 86, 98, 139, 136, 110, 235, 174, 221 } + { 116, 175, 246, 250, 212, 202, 248, 198, 255, 238, 255 }, + { 78, 142, 231, 250, 208, 203, 249, 200, 255, 241, 255 }, + { 14, 93, 177, 245, 186, 196, 248, 198, 255, 241, 255 }, + { 4, 65, 122, 227, 148, 177, 244, 186, 255, 241, 243 }, + { 1, 38, 69, 180, 111, 152, 235, 162, 255, 237, 247 }, + { 1, 18, 30, 101, 89, 133, 190, 116, 255, 219, 246 } }, { /* Coeff Band 3 */ - { 61, 173, 225, 241, 195, 190, 236, 181, 252, 221, 221 }, - { 39, 134, 205, 241, 191, 191, 237, 182, 252, 220, 239 }, - { 6, 82, 144, 233, 167, 183, 237, 182, 252, 220, 242 }, - { 2, 53, 92, 207, 130, 165, 232, 172, 253, 220, 243 }, - { 1, 28, 49, 146, 98, 141, 217, 146, 252, 216, 245 }, - { 1, 12, 21, 68, 88, 132, 140, 101, 241, 182, 236 } + { 138, 183, 249, 253, 220, 209, 252, 210, 255, 251, 128 }, + { 93, 147, 237, 252, 213, 209, 253, 213, 255, 251, 128 }, + { 21, 104, 187, 247, 185, 196, 252, 210, 255, 249, 128 }, + { 6, 73, 131, 225, 147, 174, 248, 190, 255, 248, 128 }, + { 1, 47, 83, 189, 119, 155, 239, 167, 255, 246, 128 }, + { 1, 26, 44, 130, 96, 139, 209, 129, 255, 235, 255 } }, { /* Coeff Band 4 */ - { 83, 175, 229, 246, 201, 195, 241, 190, 253, 225, 249 }, - { 49, 134, 211, 245, 195, 195, 242, 192, 254, 228, 252 }, - { 12, 86, 154, 237, 169, 185, 242, 190, 254, 227, 252 }, - { 4, 56, 100, 208, 134, 166, 235, 173, 254, 228, 247 }, - { 1, 33, 57, 157, 104, 146, 217, 148, 253, 219, 250 }, - { 1, 16, 27, 82, 89, 132, 156, 108, 245, 188, 241 } + { 188, 143, 252, 255, 228, 218, 253, 218, 255, 209, 128 }, + { 137, 124, 241, 253, 215, 211, 254, 221, 255, 255, 128 }, + { 32, 89, 188, 248, 186, 198, 254, 216, 255, 253, 128 }, + { 7, 61, 122, 231, 146, 176, 252, 201, 255, 250, 128 }, + { 1, 34, 66, 186, 103, 149, 246, 176, 255, 249, 128 }, + { 1, 18, 34, 115, 91, 134, 217, 124, 255, 233, 255 } }, { /* Coeff Band 5 */ - { 142, 137, 243, 252, 218, 207, 250, 205, 255, 241, 128 }, - { 117, 102, 224, 250, 204, 202, 249, 204, 255, 238, 255 }, - { 40, 69, 169, 242, 175, 190, 247, 198, 255, 238, 209 }, - { 14, 47, 106, 213, 135, 168, 239, 177, 255, 233, 244 }, - { 4, 26, 53, 152, 99, 143, 220, 147, 254, 224, 252 }, - { 1, 14, 25, 79, 87, 130, 160, 105, 249, 195, 249 } + { 198, 92, 253, 255, 231, 222, 255, 230, 128, 128, 128 }, + { 189, 79, 244, 254, 220, 217, 255, 237, 255, 255, 128 }, + { 78, 61, 200, 252, 196, 207, 255, 231, 255, 255, 128 }, + { 34, 50, 146, 242, 161, 187, 255, 222, 255, 255, 128 }, + { 11, 38, 93, 215, 122, 159, 253, 202, 255, 255, 128 }, + { 1, 31, 55, 143, 102, 143, 227, 148, 255, 238, 128 } } } }, { /* block Type 1 */ { /* Intra */ { /* Coeff Band 0 */ - { 198, 34, 200, 220, 173, 177, 207, 161, 219, 190, 170 }, - { 100, 41, 144, 187, 152, 166, 179, 145, 219, 175, 182 }, - { 24, 38, 81, 143, 126, 153, 161, 131, 222, 169, 201 } + { 207, 35, 219, 243, 195, 192, 243, 188, 251, 232, 238 }, + { 126, 46, 182, 230, 177, 182, 228, 171, 248, 214, 232 }, + { 51, 47, 125, 196, 147, 166, 206, 151, 245, 199, 229 } }, { /* Coeff Band 1 */ - { 128, 132, 197, 226, 174, 179, 225, 167, 250, 206, 238 }, - { 116, 117, 189, 226, 173, 179, 224, 168, 250, 212, 210 }, - { 58, 97, 162, 226, 170, 181, 225, 170, 250, 210, 255 }, - { 29, 76, 128, 216, 147, 171, 226, 171, 249, 217, 232 }, - { 13, 52, 84, 175, 121, 152, 223, 155, 251, 212, 241 }, - { 6, 29, 44, 102, 105, 142, 153, 115, 236, 180, 223 } + { 114, 124, 220, 244, 197, 192, 242, 189, 253, 226, 255 }, + { 142, 116, 213, 243, 194, 191, 241, 188, 252, 226, 255 }, + { 81, 101, 190, 242, 188, 190, 242, 190, 253, 229, 255 }, + { 42, 83, 155, 235, 166, 183, 241, 190, 253, 227, 246 }, + { 16, 62, 104, 205, 133, 161, 238, 176, 254, 227, 250 }, + { 6, 40, 60, 132, 109, 145, 190, 128, 248, 202, 239 } }, { /* Coeff Band 2 */ - { 84, 90, 195, 230, 178, 181, 225, 171, 248, 204, 249 }, - { 75, 85, 186, 227, 174, 179, 225, 170, 249, 213, 246 }, - { 49, 75, 163, 224, 169, 179, 225, 171, 249, 211, 251 }, - { 27, 63, 131, 216, 150, 171, 225, 168, 250, 211, 239 }, - { 10, 47, 88, 181, 124, 155, 221, 156, 249, 211, 241 }, - { 3, 29, 47, 105, 106, 141, 153, 118, 233, 176, 221 } + { 139, 149, 228, 248, 205, 198, 244, 196, 255, 223, 255 }, + { 115, 127, 221, 248, 202, 198, 245, 198, 255, 228, 255 }, + { 43, 100, 189, 246, 195, 195, 244, 196, 254, 234, 228 }, + { 13, 77, 141, 238, 168, 187, 243, 191, 255, 232, 255 }, + { 3, 49, 88, 203, 125, 160, 237, 178, 253, 227, 251 }, + { 1, 23, 41, 118, 97, 136, 191, 127, 250, 207, 247 } }, { /* Coeff Band 3 */ - { 98, 143, 209, 237, 187, 186, 233, 177, 251, 216, 255 }, - { 81, 118, 204, 237, 186, 186, 232, 178, 252, 213, 255 }, - { 30, 91, 172, 234, 179, 184, 235, 177, 252, 221, 248 }, - { 10, 68, 124, 223, 153, 176, 232, 175, 252, 221, 253 }, - { 2, 41, 73, 181, 115, 153, 226, 163, 252, 217, 240 }, - { 1, 18, 30, 93, 94, 134, 168, 113, 245, 192, 242 } + { 119, 185, 236, 251, 216, 205, 249, 202, 253, 237, 255 }, + { 89, 140, 224, 251, 211, 205, 250, 208, 255, 241, 255 }, + { 34, 105, 189, 248, 195, 197, 250, 208, 255, 245, 255 }, + { 14, 78, 142, 235, 166, 182, 246, 194, 255, 242, 255 }, + { 5, 49, 90, 196, 128, 160, 235, 165, 255, 237, 255 }, + { 1, 22, 41, 114, 97, 139, 180, 124, 252, 201, 249 } }, { /* Coeff Band 4 */ - { 119, 172, 224, 244, 198, 193, 239, 185, 251, 222, 255 }, - { 89, 126, 213, 245, 196, 195, 241, 192, 254, 226, 255 }, - { 35, 94, 180, 239, 182, 187, 242, 192, 255, 232, 255 }, - { 11, 68, 129, 222, 156, 174, 237, 177, 253, 226, 255 }, - { 2, 42, 78, 184, 121, 156, 225, 159, 253, 215, 240 }, - { 1, 20, 35, 104, 96, 137, 171, 120, 246, 194, 248 } + { 162, 142, 244, 254, 228, 215, 255, 230, 128, 128, 128 }, + { 129, 120, 231, 253, 216, 210, 255, 228, 255, 255, 128 }, + { 44, 90, 189, 249, 195, 199, 253, 217, 255, 240, 128 }, + { 14, 65, 132, 234, 158, 181, 249, 203, 255, 248, 128 }, + { 3, 38, 72, 188, 112, 154, 239, 171, 255, 243, 128 }, + { 1, 17, 39, 110, 86, 141, 201, 123, 255, 240, 128 } }, { /* Coeff Band 5 */ - { 150, 126, 240, 252, 218, 204, 248, 204, 255, 255, 128 }, - { 126, 100, 224, 250, 207, 202, 249, 207, 255, 244, 128 }, - { 49, 77, 183, 245, 188, 194, 248, 202, 255, 255, 255 }, - { 15, 55, 125, 225, 152, 175, 242, 183, 255, 235, 255 }, - { 3, 32, 64, 174, 109, 152, 229, 158, 255, 225, 255 }, - { 1, 18, 33, 96, 89, 135, 179, 117, 252, 208, 255 } + { 167, 96, 247, 255, 230, 218, 249, 231, 255, 255, 128 }, + { 163, 84, 234, 253, 214, 209, 255, 231, 255, 255, 128 }, + { 70, 63, 185, 249, 189, 197, 255, 230, 255, 255, 128 }, + { 30, 44, 132, 238, 157, 180, 251, 210, 255, 220, 128 }, + { 13, 30, 80, 195, 121, 153, 243, 179, 255, 224, 128 }, + { 5, 13, 38, 103, 109, 128, 196, 147, 255, 255, 128 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 242, 100, 229, 235, 190, 184, 229, 172, 249, 219, 192 }, - { 162, 103, 196, 217, 175, 175, 208, 157, 237, 198, 191 }, - { 60, 109, 167, 206, 167, 172, 192, 150, 235, 185, 211 } + { 242, 90, 246, 244, 200, 192, 242, 189, 255, 234, 255 }, + { 186, 102, 228, 233, 187, 182, 231, 172, 254, 225, 252 }, + { 102, 108, 203, 228, 181, 180, 218, 167, 243, 201, 223 } }, { /* Coeff Band 1 */ - { 128, 183, 242, 246, 208, 196, 237, 185, 254, 222, 255 }, - { 105, 152, 229, 247, 209, 198, 239, 185, 252, 225, 255 }, - { 43, 109, 183, 247, 200, 203, 237, 186, 254, 212, 171 }, - { 17, 76, 124, 238, 149, 185, 241, 198, 252, 213, 255 }, - { 7, 45, 71, 176, 108, 145, 242, 172, 253, 224, 248 }, - { 4, 26, 39, 95, 100, 137, 165, 109, 244, 196, 228 } + { 152, 169, 250, 253, 223, 209, 251, 208, 255, 250, 128 }, + { 164, 149, 242, 253, 222, 209, 249, 207, 253, 238, 255 }, + { 63, 108, 204, 252, 215, 211, 251, 211, 255, 242, 128 }, + { 39, 83, 153, 248, 175, 199, 250, 214, 255, 245, 128 }, + { 31, 66, 108, 214, 130, 161, 251, 196, 255, 237, 128 }, + { 27, 65, 71, 150, 112, 149, 213, 133, 255, 230, 255 } }, { /* Coeff Band 2 */ - { 110, 129, 232, 252, 220, 211, 242, 190, 253, 217, 255 }, - { 82, 121, 222, 250, 211, 204, 243, 194, 242, 225, 219 }, - { 43, 97, 185, 247, 198, 201, 241, 193, 251, 221, 255 }, - { 22, 75, 135, 238, 154, 184, 243, 200, 252, 214, 255 }, - { 9, 51, 86, 187, 118, 151, 242, 173, 252, 226, 221 }, - { 3, 31, 49, 112, 107, 141, 169, 118, 240, 192, 232 } + { 161, 174, 250, 254, 226, 215, 254, 226, 255, 230, 128 }, + { 133, 150, 239, 254, 222, 213, 254, 225, 255, 255, 128 }, + { 32, 105, 197, 252, 206, 207, 253, 220, 255, 255, 128 }, + { 10, 78, 147, 245, 173, 193, 253, 212, 255, 255, 128 }, + { 2, 49, 99, 221, 133, 164, 250, 198, 255, 252, 128 }, + { 1, 26, 53, 154, 96, 135, 234, 142, 255, 240, 128 } }, { /* Coeff Band 3 */ - { 127, 158, 236, 251, 219, 208, 244, 199, 255, 235, 255 }, - { 91, 134, 226, 250, 214, 204, 244, 196, 252, 228, 183 }, - { 23, 98, 182, 247, 196, 197, 245, 195, 255, 224, 255 }, - { 8, 69, 125, 233, 157, 182, 241, 186, 254, 232, 255 }, - { 2, 42, 72, 187, 113, 152, 233, 170, 253, 228, 249 }, - { 1, 19, 32, 95, 94, 134, 172, 111, 249, 199, 248 } + { 160, 187, 251, 255, 234, 223, 255, 233, 128, 128, 128 }, + { 131, 155, 241, 255, 228, 222, 255, 232, 255, 255, 128 }, + { 42, 108, 198, 253, 207, 212, 255, 234, 255, 255, 128 }, + { 18, 81, 151, 246, 176, 194, 254, 222, 255, 255, 128 }, + { 9, 60, 112, 225, 144, 167, 252, 199, 255, 255, 128 }, + { 5, 35, 49, 163, 113, 150, 237, 118, 255, 255, 128 } }, { /* Coeff Band 4 */ - { 145, 182, 245, 253, 228, 210, 250, 209, 255, 235, 128 }, - { 106, 140, 233, 252, 220, 209, 250, 209, 255, 238, 128 }, - { 41, 103, 195, 248, 196, 199, 249, 209, 255, 239, 128 }, - { 13, 76, 137, 231, 161, 181, 244, 187, 255, 239, 255 }, - { 2, 45, 79, 193, 121, 158, 234, 168, 255, 231, 255 }, - { 1, 20, 34, 110, 94, 135, 195, 124, 251, 203, 255 } + { 195, 141, 253, 255, 242, 232, 255, 255, 128, 128, 128 }, + { 169, 128, 245, 255, 235, 227, 255, 248, 128, 128, 128 }, + { 62, 91, 204, 255, 216, 220, 255, 233, 128, 128, 128 }, + { 23, 70, 150, 248, 178, 202, 255, 223, 128, 128, 128 }, + { 2, 44, 78, 220, 110, 164, 255, 209, 128, 128, 128 }, + { 1, 1, 128, 255, 255, 128, 128, 128, 128, 128, 128 } }, { /* Coeff Band 5 */ - { 182, 133, 250, 255, 234, 217, 255, 215, 128, 128, 128 }, - { 158, 113, 240, 254, 223, 212, 254, 225, 255, 255, 128 }, - { 68, 83, 196, 250, 200, 201, 253, 217, 255, 255, 128 }, - { 18, 60, 130, 235, 158, 180, 247, 193, 255, 245, 128 }, - { 3, 34, 66, 186, 108, 149, 239, 174, 255, 232, 128 }, - { 1, 20, 36, 111, 94, 145, 195, 123, 250, 212, 255 } + { 195, 104, 253, 255, 246, 246, 255, 171, 128, 128, 128 }, + { 197, 92, 248, 255, 239, 228, 255, 239, 128, 128, 128 }, + { 88, 71, 214, 255, 219, 220, 255, 244, 128, 128, 128 }, + { 39, 56, 160, 250, 187, 204, 255, 255, 128, 128, 128 }, + { 18, 28, 90, 217, 81, 137, 255, 128, 128, 128, 128 }, + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } } } } @@ -190,169 +190,169 @@ static const vp9_coeff_probs default_coef_probs_8x8[BLOCK_TYPES] = { { /* block Type 0 */ { /* Intra */ { /* Coeff Band 0 */ - { 173, 27, 142, 173, 151, 161, 162, 140, 196, 179, 128 }, - { 56, 32, 85, 136, 131, 154, 142, 123, 202, 161, 161 }, - { 8, 26, 47, 104, 110, 146, 130, 119, 197, 153, 170 } + { 196, 40, 199, 180, 158, 161, 172, 135, 226, 183, 140 }, + { 83, 38, 128, 153, 142, 157, 155, 128, 222, 164, 202 }, + { 10, 29, 55, 116, 113, 146, 150, 122, 223, 169, 200 } }, { /* Coeff Band 1 */ - { 128, 124, 161, 206, 156, 170, 210, 157, 241, 196, 214 }, - { 56, 118, 160, 206, 157, 169, 208, 154, 241, 197, 218 }, - { 33, 102, 144, 203, 153, 169, 210, 156, 241, 198, 237 }, - { 17, 83, 121, 195, 143, 165, 206, 154, 241, 196, 219 }, - { 6, 56, 86, 168, 125, 155, 200, 145, 242, 194, 221 }, - { 1, 25, 37, 93, 103, 141, 132, 117, 211, 158, 195 } + { 33, 114, 160, 211, 155, 169, 223, 162, 248, 212, 215 }, + { 69, 107, 155, 210, 154, 169, 224, 163, 248, 212, 216 }, + { 30, 91, 138, 207, 150, 168, 223, 162, 248, 212, 216 }, + { 12, 74, 115, 200, 140, 164, 222, 160, 249, 212, 219 }, + { 4, 52, 80, 172, 121, 153, 216, 149, 249, 212, 226 }, + { 1, 27, 40, 105, 101, 141, 157, 120, 231, 177, 210 } }, { /* Coeff Band 2 */ - { 18, 89, 158, 208, 159, 170, 212, 158, 243, 205, 225 }, - { 28, 86, 153, 207, 156, 170, 213, 156, 245, 200, 232 }, - { 18, 77, 135, 202, 150, 167, 212, 156, 242, 207, 217 }, - { 11, 65, 113, 192, 139, 161, 208, 151, 243, 202, 217 }, - { 4, 46, 78, 163, 122, 153, 200, 142, 242, 196, 219 }, - { 1, 22, 34, 90, 101, 140, 132, 114, 212, 159, 197 } + { 38, 159, 190, 227, 171, 177, 229, 172, 250, 214, 237 }, + { 34, 130, 182, 229, 173, 180, 231, 174, 249, 215, 234 }, + { 10, 97, 153, 226, 164, 178, 232, 175, 250, 215, 241 }, + { 3, 71, 115, 213, 145, 170, 230, 171, 251, 217, 235 }, + { 1, 41, 68, 172, 114, 152, 219, 154, 250, 212, 235 }, + { 1, 16, 27, 88, 90, 135, 155, 113, 235, 180, 216 } }, { /* Coeff Band 3 */ - { 29, 153, 186, 219, 167, 175, 214, 159, 243, 201, 228 }, - { 37, 129, 180, 223, 170, 177, 219, 168, 243, 201, 222 }, - { 12, 95, 149, 219, 161, 174, 219, 167, 241, 203, 234 }, - { 3, 67, 108, 202, 140, 165, 218, 161, 246, 204, 223 }, - { 1, 38, 61, 156, 112, 149, 201, 144, 242, 197, 220 }, - { 1, 15, 22, 72, 91, 133, 126, 108, 218, 160, 206 } + { 41, 184, 214, 238, 187, 186, 235, 180, 252, 217, 236 }, + { 24, 142, 199, 241, 188, 189, 237, 184, 252, 220, 235 }, + { 6, 97, 159, 235, 172, 184, 239, 185, 252, 221, 243 }, + { 1, 63, 110, 214, 144, 170, 234, 174, 253, 223, 243 }, + { 1, 32, 58, 166, 109, 149, 218, 152, 251, 215, 238 }, + { 1, 12, 21, 78, 85, 131, 152, 109, 236, 180, 224 } }, { /* Coeff Band 4 */ - { 33, 182, 210, 231, 183, 184, 223, 169, 244, 207, 226 }, - { 23, 137, 194, 236, 183, 187, 228, 176, 244, 204, 224 }, - { 4, 89, 147, 228, 166, 179, 229, 176, 247, 208, 234 }, - { 1, 56, 95, 200, 134, 164, 222, 164, 249, 209, 226 }, - { 1, 28, 47, 141, 101, 144, 199, 139, 245, 199, 227 }, - { 1, 11, 16, 58, 84, 131, 118, 101, 221, 160, 209 } + { 54, 207, 231, 245, 201, 193, 238, 186, 252, 221, 220 }, + { 32, 156, 213, 246, 198, 195, 242, 192, 252, 224, 245 }, + { 7, 98, 164, 240, 177, 187, 243, 193, 252, 227, 244 }, + { 2, 62, 108, 216, 143, 170, 237, 177, 254, 227, 248 }, + { 1, 32, 57, 165, 108, 148, 219, 152, 252, 217, 243 }, + { 1, 13, 22, 79, 87, 132, 153, 109, 240, 182, 232 } }, { /* Coeff Band 5 */ - { 58, 203, 233, 246, 208, 196, 233, 178, 251, 214, 255 }, - { 37, 147, 214, 246, 201, 197, 238, 191, 249, 217, 213 }, - { 7, 93, 160, 237, 175, 186, 239, 186, 251, 217, 240 }, - { 1, 57, 98, 206, 136, 165, 229, 168, 252, 220, 235 }, - { 1, 30, 51, 146, 103, 145, 206, 142, 249, 207, 229 }, - { 1, 12, 20, 68, 87, 132, 133, 103, 231, 169, 214 } + { 89, 208, 239, 250, 216, 200, 240, 190, 255, 222, 219 }, + { 53, 155, 223, 250, 209, 202, 245, 199, 253, 225, 246 }, + { 12, 102, 170, 243, 183, 192, 246, 198, 254, 230, 255 }, + { 3, 67, 111, 218, 144, 171, 239, 180, 254, 231, 248 }, + { 1, 38, 60, 164, 108, 148, 221, 152, 253, 220, 246 }, + { 1, 18, 26, 81, 88, 132, 157, 108, 245, 188, 241 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 201, 133, 221, 227, 187, 180, 210, 161, 242, 194, 232 }, - { 122, 113, 177, 201, 170, 170, 178, 146, 218, 175, 191 }, - { 31, 85, 125, 175, 149, 163, 169, 138, 218, 171, 187 } + { 205, 121, 244, 237, 187, 188, 229, 174, 248, 215, 228 }, + { 140, 120, 211, 219, 174, 177, 207, 158, 241, 195, 214 }, + { 51, 100, 152, 198, 155, 168, 199, 148, 240, 193, 207 } }, { /* Coeff Band 1 */ - { 128, 195, 224, 236, 188, 184, 230, 173, 249, 212, 245 }, - { 41, 172, 213, 235, 185, 186, 230, 173, 250, 211, 235 }, - { 31, 131, 178, 232, 175, 185, 229, 174, 250, 211, 236 }, - { 14, 96, 134, 219, 146, 172, 230, 178, 251, 214, 239 }, - { 5, 62, 87, 169, 120, 151, 223, 149, 250, 217, 239 }, - { 1, 30, 41, 90, 105, 142, 131, 111, 224, 168, 199 } + { 66, 196, 236, 247, 202, 197, 243, 193, 254, 228, 246 }, + { 99, 164, 223, 246, 199, 196, 243, 193, 254, 226, 255 }, + { 29, 122, 187, 244, 187, 194, 244, 193, 255, 227, 239 }, + { 14, 95, 145, 234, 156, 181, 244, 194, 254, 229, 246 }, + { 6, 68, 97, 190, 123, 155, 240, 168, 254, 232, 245 }, + { 3, 43, 50, 112, 105, 143, 170, 118, 245, 195, 230 } }, { /* Coeff Band 2 */ - { 27, 178, 225, 238, 191, 187, 231, 175, 252, 213, 239 }, - { 30, 159, 211, 237, 187, 186, 230, 177, 249, 217, 245 }, - { 15, 123, 175, 233, 174, 183, 231, 177, 250, 215, 232 }, - { 8, 93, 135, 219, 147, 171, 230, 176, 250, 216, 227 }, - { 3, 63, 89, 171, 121, 152, 222, 150, 250, 216, 234 }, - { 1, 33, 45, 97, 107, 143, 138, 113, 225, 169, 202 } + { 66, 202, 238, 248, 206, 199, 245, 196, 254, 233, 244 }, + { 45, 155, 218, 248, 200, 199, 245, 197, 254, 229, 208 }, + { 6, 96, 163, 242, 178, 191, 245, 196, 254, 233, 228 }, + { 2, 64, 110, 224, 142, 175, 242, 185, 254, 232, 247 }, + { 1, 34, 61, 172, 103, 147, 232, 164, 254, 226, 244 }, + { 1, 13, 24, 82, 85, 133, 165, 105, 248, 199, 242 } }, { /* Coeff Band 3 */ - { 40, 195, 228, 240, 193, 189, 233, 176, 250, 215, 235 }, - { 28, 152, 205, 239, 188, 189, 232, 178, 250, 215, 223 }, - { 3, 90, 147, 230, 166, 182, 232, 178, 249, 213, 224 }, - { 1, 58, 96, 205, 131, 165, 228, 170, 249, 213, 209 }, - { 1, 30, 50, 142, 100, 142, 211, 143, 246, 206, 216 }, - { 1, 11, 19, 61, 87, 132, 123, 100, 225, 169, 206 } + { 66, 204, 242, 251, 213, 204, 248, 204, 255, 236, 255 }, + { 38, 158, 222, 251, 206, 205, 249, 206, 255, 238, 255 }, + { 6, 95, 166, 244, 178, 194, 249, 205, 255, 236, 255 }, + { 2, 61, 111, 223, 141, 173, 244, 187, 255, 237, 255 }, + { 1, 31, 59, 171, 104, 149, 230, 158, 255, 230, 252 }, + { 1, 12, 22, 82, 79, 128, 171, 111, 251, 203, 249 } }, { /* Coeff Band 4 */ - { 34, 200, 231, 244, 199, 193, 237, 182, 252, 220, 236 }, - { 18, 153, 208, 244, 193, 193, 239, 187, 252, 222, 245 }, - { 2, 87, 145, 233, 165, 183, 239, 186, 253, 224, 243 }, - { 1, 52, 90, 201, 128, 163, 232, 169, 253, 222, 240 }, - { 1, 25, 43, 136, 95, 140, 207, 140, 251, 213, 238 }, - { 1, 9, 16, 57, 80, 128, 127, 99, 234, 170, 229 } + { 63, 214, 245, 252, 219, 208, 249, 206, 255, 241, 128 }, + { 38, 164, 228, 252, 210, 208, 251, 212, 255, 245, 255 }, + { 5, 101, 174, 246, 182, 196, 251, 207, 255, 244, 255 }, + { 1, 64, 116, 224, 142, 174, 246, 190, 255, 241, 228 }, + { 1, 34, 63, 172, 105, 148, 233, 160, 255, 235, 237 }, + { 1, 14, 26, 88, 85, 130, 177, 110, 252, 210, 250 } }, { /* Coeff Band 5 */ - { 58, 207, 238, 249, 211, 201, 243, 193, 253, 226, 240 }, - { 33, 154, 218, 248, 201, 200, 246, 199, 254, 229, 252 }, - { 5, 93, 158, 238, 170, 187, 245, 195, 254, 233, 253 }, - { 1, 57, 99, 207, 131, 165, 236, 173, 254, 228, 251 }, - { 1, 30, 52, 147, 99, 143, 213, 143, 253, 217, 245 }, - { 1, 13, 22, 71, 84, 130, 145, 104, 243, 183, 239 } + { 91, 214, 246, 254, 226, 213, 251, 210, 255, 239, 255 }, + { 55, 162, 233, 253, 215, 210, 253, 216, 255, 244, 128 }, + { 10, 104, 179, 247, 184, 196, 252, 212, 255, 247, 255 }, + { 2, 67, 119, 226, 143, 173, 249, 195, 255, 245, 255 }, + { 1, 37, 66, 175, 106, 149, 237, 164, 255, 240, 255 }, + { 1, 16, 30, 96, 87, 132, 188, 113, 255, 222, 255 } } } }, { /* block Type 1 */ { /* Intra */ { /* Coeff Band 0 */ - { 190, 29, 192, 204, 171, 173, 162, 145, 175, 161, 147 }, - { 90, 43, 136, 179, 150, 166, 167, 140, 220, 166, 201 }, - { 21, 47, 90, 155, 132, 157, 164, 134, 229, 169, 216 } + { 211, 32, 212, 235, 185, 184, 223, 167, 239, 210, 182 }, + { 121, 47, 171, 224, 171, 180, 211, 162, 238, 195, 221 }, + { 40, 51, 118, 203, 145, 168, 211, 160, 246, 200, 236 } }, { /* Coeff Band 1 */ - { 128, 156, 192, 220, 170, 177, 220, 162, 252, 214, 255 }, - { 107, 138, 190, 218, 171, 176, 220, 161, 252, 208, 255 }, - { 43, 115, 165, 215, 165, 174, 219, 163, 248, 208, 244 }, - { 16, 84, 126, 204, 148, 169, 216, 156, 252, 210, 236 }, - { 3, 44, 69, 160, 115, 149, 204, 143, 251, 203, 238 }, - { 1, 15, 23, 67, 89, 133, 127, 103, 233, 165, 226 } + { 71, 129, 209, 244, 192, 194, 242, 188, 255, 230, 255 }, + { 118, 122, 206, 244, 192, 192, 241, 187, 254, 227, 255 }, + { 53, 104, 184, 241, 186, 190, 241, 184, 254, 232, 255 }, + { 20, 81, 148, 234, 168, 183, 240, 183, 254, 231, 240 }, + { 3, 47, 82, 197, 127, 160, 234, 166, 254, 228, 251 }, + { 1, 18, 28, 96, 88, 134, 174, 116, 247, 194, 247 } }, { /* Coeff Band 2 */ - { 41, 125, 196, 229, 177, 180, 230, 175, 252, 214, 255 }, - { 56, 112, 187, 227, 171, 179, 228, 169, 249, 216, 205 }, - { 31, 92, 163, 222, 165, 176, 227, 170, 253, 215, 171 }, - { 12, 68, 124, 211, 147, 170, 225, 165, 249, 216, 229 }, - { 2, 40, 68, 169, 115, 151, 215, 149, 250, 211, 235 }, - { 1, 16, 24, 77, 88, 134, 144, 108, 233, 174, 222 } + { 86, 162, 220, 247, 203, 198, 245, 193, 255, 237, 255 }, + { 84, 134, 216, 247, 201, 197, 244, 192, 255, 233, 255 }, + { 26, 102, 186, 243, 190, 192, 244, 192, 255, 232, 255 }, + { 7, 75, 135, 231, 163, 181, 240, 183, 255, 234, 255 }, + { 1, 46, 79, 193, 121, 157, 233, 168, 255, 225, 242 }, + { 1, 20, 35, 113, 94, 136, 191, 123, 252, 209, 250 } }, { /* Coeff Band 3 */ - { 45, 175, 212, 232, 184, 183, 229, 174, 253, 222, 255 }, - { 60, 135, 200, 232, 182, 182, 229, 170, 252, 213, 255 }, - { 18, 96, 162, 227, 170, 179, 229, 171, 252, 216, 197 }, - { 4, 65, 110, 210, 144, 170, 225, 167, 251, 216, 240 }, - { 1, 37, 63, 165, 111, 148, 216, 151, 251, 211, 236 }, - { 1, 16, 26, 86, 90, 133, 156, 111, 238, 182, 229 } + { 89, 191, 232, 250, 211, 203, 248, 202, 255, 230, 128 }, + { 67, 148, 223, 250, 207, 201, 250, 207, 255, 247, 255 }, + { 19, 105, 183, 245, 189, 193, 249, 202, 255, 244, 255 }, + { 5, 72, 127, 228, 156, 177, 245, 186, 255, 238, 255 }, + { 1, 44, 76, 190, 119, 156, 234, 167, 255, 231, 255 }, + { 1, 21, 36, 116, 92, 138, 195, 128, 250, 208, 241 } }, { /* Coeff Band 4 */ - { 46, 193, 216, 246, 203, 197, 239, 189, 255, 224, 255 }, - { 40, 147, 204, 242, 190, 191, 242, 189, 255, 227, 255 }, - { 8, 95, 160, 235, 172, 183, 240, 185, 253, 233, 255 }, - { 1, 61, 104, 210, 141, 168, 233, 171, 254, 223, 255 }, - { 1, 34, 58, 162, 107, 150, 216, 150, 252, 216, 253 }, - { 1, 14, 24, 82, 88, 133, 157, 110, 242, 185, 239 } + { 94, 210, 236, 252, 215, 206, 253, 209, 255, 247, 128 }, + { 68, 153, 224, 251, 209, 204, 251, 213, 255, 240, 128 }, + { 14, 103, 178, 246, 188, 195, 251, 209, 255, 239, 128 }, + { 2, 70, 122, 230, 154, 177, 247, 194, 255, 239, 128 }, + { 1, 42, 72, 189, 115, 153, 234, 166, 255, 229, 255 }, + { 1, 19, 34, 104, 98, 143, 180, 124, 252, 200, 255 } }, { /* Coeff Band 5 */ - { 87, 208, 225, 251, 209, 210, 248, 204, 255, 210, 128 }, - { 49, 147, 212, 248, 201, 200, 248, 204, 254, 239, 255 }, - { 10, 102, 171, 241, 180, 189, 246, 196, 255, 236, 128 }, - { 2, 66, 113, 217, 144, 170, 238, 177, 255, 229, 255 }, - { 1, 36, 63, 167, 109, 149, 222, 152, 255, 223, 255 }, - { 1, 17, 28, 92, 89, 133, 169, 112, 251, 193, 244 } + { 87, 200, 238, 254, 226, 214, 250, 212, 255, 226, 128 }, + { 55, 151, 225, 253, 217, 212, 253, 217, 255, 233, 128 }, + { 11, 106, 179, 249, 193, 200, 252, 213, 255, 247, 128 }, + { 2, 72, 124, 232, 155, 180, 246, 195, 255, 230, 128 }, + { 1, 42, 70, 182, 114, 153, 232, 163, 255, 236, 255 }, + { 1, 17, 28, 95, 92, 137, 170, 115, 252, 208, 228 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 226, 69, 242, 236, 199, 184, 218, 170, 242, 199, 238 }, - { 133, 91, 206, 221, 182, 178, 202, 154, 240, 192, 232 }, - { 40, 109, 163, 209, 167, 175, 190, 152, 231, 180, 205 } + { 238, 66, 250, 245, 205, 193, 232, 180, 254, 228, 255 }, + { 178, 84, 226, 237, 192, 185, 230, 176, 253, 217, 251 }, + { 76, 83, 168, 218, 166, 173, 225, 162, 252, 220, 243 } }, { /* Coeff Band 1 */ - { 128, 201, 240, 246, 208, 196, 243, 181, 251, 219, 255 }, - { 138, 176, 230, 245, 204, 195, 236, 186, 250, 209, 255 }, - { 56, 141, 197, 244, 194, 195, 241, 186, 254, 221, 255 }, - { 26, 108, 149, 233, 153, 179, 243, 194, 254, 227, 255 }, - { 11, 66, 91, 176, 120, 149, 240, 160, 254, 231, 255 }, - { 5, 31, 44, 102, 104, 143, 158, 113, 244, 193, 214 } + { 137, 176, 246, 252, 218, 207, 251, 208, 255, 238, 128 }, + { 176, 160, 237, 252, 217, 206, 249, 209, 255, 247, 128 }, + { 68, 128, 205, 251, 209, 207, 251, 207, 255, 248, 128 }, + { 40, 105, 167, 246, 172, 192, 252, 215, 255, 247, 128 }, + { 22, 84, 131, 214, 144, 164, 249, 185, 255, 250, 255 }, + { 11, 60, 91, 161, 130, 155, 194, 133, 253, 214, 255 } }, { /* Coeff Band 2 */ - { 77, 182, 236, 249, 212, 203, 244, 193, 251, 228, 255 }, - { 63, 155, 225, 248, 207, 200, 241, 193, 251, 233, 255 }, - { 33, 125, 192, 245, 193, 196, 242, 189, 255, 213, 128 }, - { 18, 101, 151, 234, 158, 180, 242, 196, 254, 218, 255 }, - { 7, 70, 98, 185, 126, 154, 236, 162, 254, 233, 255 }, - { 2, 38, 50, 106, 109, 144, 156, 118, 238, 186, 236 } + { 124, 192, 247, 253, 223, 210, 254, 215, 255, 255, 128 }, + { 103, 161, 234, 253, 218, 209, 253, 214, 255, 255, 128 }, + { 19, 108, 190, 250, 202, 202, 251, 213, 255, 241, 128 }, + { 6, 74, 131, 242, 165, 191, 251, 207, 255, 244, 128 }, + { 1, 41, 72, 198, 111, 151, 249, 185, 255, 248, 128 }, + { 1, 14, 24, 82, 90, 140, 185, 96, 254, 224, 255 } }, { /* Coeff Band 3 */ - { 74, 203, 240, 249, 216, 199, 241, 183, 254, 223, 255 }, - { 68, 160, 224, 248, 208, 199, 243, 188, 252, 220, 255 }, - { 14, 106, 173, 242, 188, 192, 240, 187, 253, 218, 255 }, - { 3, 68, 113, 226, 148, 179, 237, 182, 254, 227, 255 }, - { 1, 36, 59, 171, 104, 145, 229, 164, 251, 215, 255 }, - { 1, 15, 23, 80, 88, 134, 153, 109, 228, 173, 232 } + { 118, 200, 248, 254, 228, 216, 254, 222, 255, 213, 128 }, + { 91, 166, 235, 254, 220, 212, 254, 223, 255, 233, 128 }, + { 16, 110, 186, 251, 197, 201, 255, 225, 255, 255, 128 }, + { 3, 72, 124, 239, 160, 186, 253, 209, 255, 239, 128 }, + { 1, 39, 66, 198, 106, 151, 248, 191, 255, 247, 128 }, + { 1, 14, 19, 94, 74, 124, 209, 109, 255, 245, 128 } }, { /* Coeff Band 4 */ - { 59, 210, 234, 254, 223, 219, 244, 201, 255, 230, 128 }, - { 46, 170, 222, 251, 208, 207, 246, 202, 252, 237, 255 }, - { 8, 106, 172, 244, 186, 192, 247, 197, 254, 232, 255 }, - { 1, 65, 108, 223, 147, 175, 238, 183, 255, 226, 255 }, - { 1, 32, 55, 165, 102, 145, 223, 157, 254, 216, 255 }, - { 1, 12, 19, 70, 86, 134, 139, 105, 236, 174, 240 } + { 112, 213, 248, 255, 231, 218, 255, 234, 255, 255, 128 }, + { 80, 172, 234, 254, 220, 216, 255, 233, 255, 255, 128 }, + { 11, 112, 182, 251, 195, 204, 255, 231, 255, 224, 128 }, + { 2, 73, 126, 241, 159, 186, 254, 219, 255, 255, 128 }, + { 1, 40, 69, 207, 111, 159, 249, 191, 255, 255, 128 }, + { 1, 16, 24, 83, 78, 138, 230, 134, 255, 239, 128 } }, { /* Coeff Band 5 */ - { 112, 212, 232, 255, 222, 218, 254, 227, 255, 217, 128 }, - { 57, 156, 219, 253, 209, 208, 252, 219, 255, 250, 128 }, - { 11, 107, 180, 247, 191, 198, 250, 199, 255, 247, 128 }, - { 2, 75, 123, 222, 150, 172, 241, 182, 255, 241, 255 }, - { 1, 34, 60, 166, 106, 148, 224, 151, 255, 228, 255 }, - { 1, 15, 27, 90, 84, 133, 171, 118, 254, 206, 255 } + { 100, 209, 245, 255, 236, 225, 248, 231, 255, 192, 128 }, + { 65, 164, 232, 255, 226, 221, 255, 240, 255, 255, 128 }, + { 11, 117, 186, 253, 203, 209, 255, 240, 255, 255, 128 }, + { 2, 83, 136, 245, 167, 191, 253, 222, 255, 255, 128 }, + { 1, 55, 88, 213, 122, 157, 248, 182, 255, 255, 128 }, + { 1, 10, 38, 58, 85, 43, 198, 107, 255, 255, 128 } } } } @@ -361,169 +361,169 @@ static const vp9_coeff_probs default_coef_probs_16x16[BLOCK_TYPES] = { { /* block Type 0 */ { /* Intra */ { /* Coeff Band 0 */ - { 12, 27, 83, 143, 133, 154, 129, 138, 141, 160, 80 }, - { 1, 21, 47, 91, 116, 146, 97, 118, 147, 137, 121 }, - { 1, 14, 24, 59, 101, 138, 82, 108, 147, 133, 128 } + { 8, 26, 101, 170, 141, 159, 166, 138, 205, 164, 158 }, + { 2, 25, 67, 119, 124, 152, 121, 123, 189, 145, 175 }, + { 1, 15, 28, 67, 102, 139, 95, 107, 191, 136, 187 } }, { /* Coeff Band 1 */ - { 128, 87, 126, 176, 146, 159, 182, 142, 226, 174, 206 }, - { 44, 85, 126, 177, 145, 162, 179, 142, 221, 171, 190 }, - { 26, 79, 114, 172, 140, 159, 176, 138, 218, 177, 191 }, - { 9, 64, 96, 163, 133, 157, 172, 138, 223, 173, 191 }, - { 2, 41, 63, 138, 115, 149, 164, 133, 222, 174, 194 }, - { 1, 13, 21, 55, 95, 135, 86, 104, 165, 136, 149 } + { 22, 73, 118, 160, 137, 157, 175, 132, 242, 184, 229 }, + { 43, 73, 116, 160, 137, 157, 177, 132, 242, 185, 231 }, + { 24, 66, 105, 158, 134, 156, 175, 133, 242, 185, 232 }, + { 9, 54, 85, 150, 126, 153, 175, 132, 242, 185, 231 }, + { 2, 34, 54, 123, 109, 145, 168, 124, 242, 183, 231 }, + { 1, 14, 22, 63, 93, 134, 108, 103, 214, 149, 206 } }, { /* Coeff Band 2 */ - { 13, 58, 117, 173, 141, 161, 177, 139, 223, 179, 208 }, - { 21, 58, 113, 171, 140, 160, 177, 139, 224, 175, 195 }, - { 14, 53, 100, 166, 134, 163, 172, 140, 227, 174, 189 }, - { 8, 45, 81, 155, 125, 156, 171, 137, 225, 172, 201 }, - { 2, 30, 51, 123, 109, 145, 160, 127, 223, 173, 197 }, - { 1, 10, 16, 46, 91, 134, 77, 100, 164, 131, 157 } + { 34, 123, 149, 186, 148, 163, 195, 143, 245, 195, 233 }, + { 34, 106, 147, 189, 149, 164, 198, 146, 246, 197, 234 }, + { 10, 81, 123, 186, 143, 162, 200, 147, 246, 198, 235 }, + { 2, 56, 87, 170, 127, 156, 201, 143, 248, 202, 234 }, + { 1, 35, 56, 138, 109, 146, 187, 133, 246, 196, 233 }, + { 1, 17, 27, 80, 93, 135, 136, 109, 229, 168, 215 } }, { /* Coeff Band 3 */ - { 17, 128, 151, 184, 149, 164, 181, 141, 228, 178, 203 }, - { 32, 110, 149, 187, 152, 165, 182, 145, 230, 184, 203 }, - { 14, 86, 127, 184, 146, 163, 183, 145, 231, 179, 202 }, - { 5, 63, 93, 166, 131, 157, 182, 141, 230, 182, 209 }, - { 1, 35, 54, 124, 109, 146, 161, 127, 226, 173, 202 }, - { 1, 11, 18, 52, 92, 134, 88, 102, 179, 137, 171 } + { 27, 159, 171, 208, 161, 171, 211, 155, 249, 205, 239 }, + { 17, 119, 162, 213, 160, 172, 218, 160, 250, 210, 238 }, + { 3, 81, 128, 207, 149, 168, 220, 161, 250, 213, 238 }, + { 1, 53, 87, 183, 128, 158, 217, 153, 251, 214, 239 }, + { 1, 31, 52, 143, 106, 145, 199, 137, 249, 205, 235 }, + { 1, 14, 24, 77, 89, 133, 142, 109, 234, 174, 215 } }, { /* Coeff Band 4 */ - { 21, 169, 177, 200, 162, 171, 192, 146, 234, 186, 205 }, - { 15, 123, 165, 206, 161, 171, 198, 154, 236, 188, 205 }, - { 2, 78, 122, 196, 147, 167, 200, 153, 238, 191, 218 }, - { 1, 46, 76, 163, 122, 154, 192, 141, 240, 191, 219 }, - { 1, 23, 39, 110, 99, 141, 163, 123, 233, 178, 217 }, - { 1, 9, 14, 46, 88, 130, 89, 97, 193, 140, 188 } + { 24, 189, 200, 224, 177, 178, 221, 164, 250, 212, 234 }, + { 14, 136, 184, 230, 176, 181, 228, 172, 252, 215, 231 }, + { 2, 87, 140, 222, 159, 176, 230, 172, 252, 218, 238 }, + { 1, 54, 90, 193, 130, 161, 223, 160, 252, 217, 241 }, + { 1, 28, 49, 142, 103, 144, 202, 139, 250, 208, 233 }, + { 1, 12, 21, 73, 87, 132, 141, 106, 234, 176, 209 } }, { /* Coeff Band 5 */ - { 19, 207, 210, 228, 185, 182, 213, 164, 241, 198, 221 }, - { 7, 137, 180, 229, 175, 181, 226, 173, 246, 207, 218 }, - { 1, 77, 123, 213, 150, 171, 226, 168, 248, 212, 226 }, - { 1, 43, 72, 169, 118, 153, 210, 148, 250, 210, 233 }, - { 1, 22, 38, 113, 97, 139, 177, 124, 244, 193, 230 }, - { 1, 9, 16, 52, 87, 130, 103, 98, 214, 151, 206 } + { 32, 220, 227, 242, 199, 190, 234, 180, 251, 220, 232 }, + { 12, 155, 200, 242, 190, 191, 240, 187, 252, 225, 230 }, + { 1, 90, 144, 231, 164, 180, 240, 184, 253, 229, 239 }, + { 1, 53, 90, 198, 130, 162, 230, 165, 253, 226, 238 }, + { 1, 28, 50, 145, 103, 144, 207, 140, 251, 213, 236 }, + { 1, 13, 22, 74, 88, 132, 142, 107, 233, 176, 216 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 13, 37, 232, 230, 195, 183, 193, 150, 215, 180, 165 }, - { 6, 45, 178, 196, 172, 170, 165, 142, 206, 164, 162 }, - { 2, 49, 101, 155, 142, 160, 144, 132, 196, 157, 160 } + { 5, 61, 234, 230, 183, 183, 212, 164, 241, 199, 205 }, + { 3, 65, 184, 199, 164, 170, 182, 145, 232, 175, 223 }, + { 1, 56, 104, 154, 137, 158, 156, 131, 221, 165, 210 } }, { /* Coeff Band 1 */ - { 128, 182, 202, 226, 176, 180, 219, 163, 248, 207, 228 }, - { 147, 171, 198, 223, 172, 177, 215, 164, 245, 200, 238 }, - { 71, 141, 175, 219, 167, 175, 212, 161, 247, 204, 236 }, - { 31, 109, 141, 207, 153, 170, 209, 160, 246, 197, 227 }, - { 13, 72, 95, 167, 127, 155, 201, 143, 245, 198, 234 }, - { 3, 33, 45, 92, 109, 144, 122, 114, 211, 155, 185 } + { 46, 183, 210, 229, 181, 182, 222, 165, 252, 214, 251 }, + { 122, 166, 202, 228, 179, 181, 223, 164, 252, 217, 250 }, + { 49, 125, 177, 225, 172, 179, 223, 163, 252, 215, 253 }, + { 22, 99, 142, 216, 155, 173, 222, 164, 252, 215, 250 }, + { 8, 69, 95, 180, 127, 156, 220, 153, 252, 214, 250 }, + { 2, 38, 51, 112, 109, 144, 159, 118, 243, 184, 232 } }, { /* Coeff Band 2 */ - { 28, 161, 205, 229, 178, 182, 221, 170, 245, 196, 205 }, - { 42, 155, 197, 226, 174, 181, 216, 167, 244, 195, 234 }, - { 23, 126, 172, 221, 165, 178, 215, 164, 245, 197, 246 }, - { 12, 100, 137, 206, 149, 167, 211, 162, 246, 198, 234 }, - { 6, 70, 93, 164, 126, 154, 199, 140, 245, 200, 227 }, - { 1, 38, 47, 92, 110, 145, 121, 114, 203, 155, 163 } + { 56, 196, 218, 236, 187, 185, 231, 172, 254, 223, 239 }, + { 38, 141, 195, 235, 182, 185, 233, 174, 254, 225, 232 }, + { 7, 93, 147, 225, 164, 178, 233, 173, 255, 226, 248 }, + { 2, 63, 101, 201, 137, 165, 227, 162, 254, 225, 248 }, + { 1, 39, 61, 159, 110, 148, 213, 146, 254, 218, 247 }, + { 1, 20, 33, 98, 95, 136, 166, 115, 247, 192, 231 } }, { /* Coeff Band 3 */ - { 37, 193, 211, 230, 181, 183, 215, 168, 245, 203, 225 }, - { 34, 143, 188, 229, 176, 182, 218, 167, 246, 202, 226 }, - { 4, 88, 136, 217, 157, 174, 219, 166, 245, 204, 227 }, - { 1, 57, 89, 187, 128, 160, 211, 153, 246, 202, 224 }, - { 1, 28, 46, 128, 101, 142, 188, 132, 243, 194, 224 }, - { 1, 10, 16, 52, 87, 131, 103, 98, 209, 153, 177 } + { 44, 206, 223, 240, 193, 189, 235, 177, 255, 231, 224 }, + { 27, 147, 200, 240, 188, 189, 238, 181, 255, 229, 239 }, + { 4, 93, 147, 230, 165, 180, 238, 180, 255, 231, 237 }, + { 1, 58, 95, 201, 134, 164, 229, 164, 255, 228, 254 }, + { 1, 32, 52, 152, 105, 146, 212, 142, 254, 221, 255 }, + { 1, 14, 23, 81, 87, 133, 156, 109, 248, 191, 236 } }, { /* Coeff Band 4 */ - { 26, 203, 213, 234, 185, 185, 225, 174, 248, 209, 226 }, - { 15, 143, 186, 234, 179, 185, 227, 175, 249, 210, 245 }, - { 1, 83, 130, 221, 155, 175, 227, 172, 250, 213, 240 }, - { 1, 49, 79, 181, 123, 157, 214, 153, 250, 210, 235 }, - { 1, 24, 39, 118, 97, 139, 186, 128, 246, 197, 234 }, - { 1, 9, 15, 51, 85, 130, 103, 97, 214, 154, 192 } + { 39, 216, 227, 244, 200, 194, 237, 179, 255, 231, 255 }, + { 22, 152, 204, 243, 192, 193, 240, 186, 255, 231, 240 }, + { 2, 92, 148, 232, 167, 183, 239, 182, 255, 232, 255 }, + { 1, 55, 91, 200, 132, 164, 229, 164, 255, 230, 255 }, + { 1, 28, 47, 144, 99, 142, 211, 141, 255, 222, 251 }, + { 1, 13, 21, 75, 86, 131, 152, 103, 249, 193, 242 } }, { /* Coeff Band 5 */ - { 16, 214, 220, 243, 199, 193, 235, 183, 250, 214, 228 }, - { 6, 147, 190, 242, 186, 191, 240, 190, 252, 222, 237 }, - { 1, 86, 133, 227, 157, 178, 239, 183, 253, 225, 239 }, - { 1, 49, 80, 187, 123, 157, 224, 160, 253, 219, 243 }, - { 1, 25, 42, 124, 98, 140, 193, 130, 249, 204, 241 }, - { 1, 11, 17, 57, 86, 130, 116, 99, 229, 162, 225 } + { 34, 228, 234, 249, 213, 201, 246, 194, 255, 239, 255 }, + { 13, 161, 208, 247, 198, 197, 248, 197, 255, 243, 255 }, + { 1, 95, 148, 234, 166, 183, 246, 190, 255, 243, 236 }, + { 1, 55, 90, 199, 128, 161, 237, 168, 255, 239, 255 }, + { 1, 30, 51, 147, 102, 144, 218, 142, 255, 232, 254 }, + { 1, 16, 25, 86, 88, 131, 168, 109, 252, 207, 245 } } } }, { /* block Type 1 */ { /* Intra */ { /* Coeff Band 0 */ - { 167, 42, 187, 172, 172, 174, 92, 141, 109, 109, 101 }, - { 53, 53, 108, 159, 139, 160, 153, 136, 196, 156, 178 }, - { 9, 61, 85, 142, 131, 158, 145, 128, 203, 161, 175 } + { 204, 33, 217, 233, 185, 184, 199, 165, 204, 163, 162 }, + { 93, 48, 151, 209, 157, 171, 193, 161, 203, 167, 189 }, + { 18, 43, 86, 173, 126, 156, 203, 149, 231, 193, 200 } }, { /* Coeff Band 1 */ - { 128, 208, 190, 206, 165, 181, 204, 150, 236, 175, 255 }, - { 84, 184, 186, 202, 157, 175, 198, 151, 215, 177, 242 }, - { 35, 155, 170, 204, 159, 167, 194, 152, 237, 181, 228 }, - { 13, 120, 142, 191, 152, 167, 198, 152, 242, 168, 219 }, - { 2, 68, 91, 163, 131, 159, 181, 135, 233, 189, 239 }, - { 1, 23, 34, 76, 102, 138, 106, 111, 195, 144, 185 } + { 43, 121, 184, 233, 173, 182, 235, 187, 248, 211, 237 }, + { 93, 117, 177, 232, 170, 180, 235, 182, 246, 204, 224 }, + { 33, 101, 158, 229, 165, 179, 235, 182, 245, 207, 236 }, + { 11, 81, 129, 221, 153, 173, 233, 179, 246, 203, 229 }, + { 2, 51, 82, 188, 124, 158, 224, 162, 248, 206, 228 }, + { 1, 18, 29, 88, 93, 137, 141, 116, 222, 161, 217 } }, { /* Coeff Band 2 */ - { 25, 180, 186, 213, 161, 173, 207, 164, 213, 197, 165 }, - { 36, 145, 175, 211, 160, 170, 208, 158, 242, 193, 219 }, - { 21, 116, 153, 207, 154, 166, 209, 165, 247, 193, 255 }, - { 10, 79, 121, 197, 142, 163, 203, 159, 240, 189, 243 }, - { 2, 42, 69, 149, 115, 149, 193, 143, 241, 192, 219 }, - { 1, 16, 24, 64, 95, 134, 107, 100, 204, 154, 182 } + { 63, 154, 199, 239, 184, 187, 236, 187, 248, 209, 221 }, + { 53, 128, 191, 239, 182, 188, 236, 188, 251, 209, 255 }, + { 14, 99, 160, 235, 172, 184, 235, 187, 249, 207, 240 }, + { 4, 75, 122, 219, 150, 173, 226, 177, 250, 204, 240 }, + { 1, 47, 77, 176, 121, 154, 207, 153, 245, 197, 237 }, + { 1, 18, 30, 84, 95, 136, 138, 112, 229, 167, 228 } }, { /* Coeff Band 3 */ - { 27, 217, 204, 217, 173, 172, 204, 152, 253, 189, 255 }, - { 45, 152, 188, 220, 173, 180, 205, 164, 236, 189, 216 }, - { 16, 101, 151, 211, 163, 172, 203, 155, 238, 186, 230 }, - { 7, 71, 110, 193, 136, 164, 201, 153, 240, 196, 245 }, - { 1, 37, 58, 138, 112, 144, 188, 139, 236, 183, 210 }, - { 1, 13, 21, 60, 92, 136, 112, 101, 205, 155, 187 } + { 48, 193, 210, 245, 194, 194, 241, 196, 252, 213, 255 }, + { 26, 145, 201, 245, 194, 196, 240, 195, 251, 215, 240 }, + { 6, 104, 165, 241, 179, 190, 239, 191, 253, 222, 255 }, + { 1, 73, 120, 218, 151, 174, 227, 172, 251, 219, 248 }, + { 1, 42, 69, 167, 118, 153, 205, 146, 251, 206, 245 }, + { 1, 16, 27, 84, 89, 133, 148, 112, 240, 179, 238 } }, { /* Coeff Band 4 */ - { 17, 221, 219, 231, 186, 181, 220, 161, 242, 212, 255 }, - { 18, 153, 194, 229, 180, 181, 221, 168, 247, 212, 255 }, - { 3, 89, 142, 219, 159, 176, 222, 167, 249, 208, 233 }, - { 1, 53, 88, 185, 129, 162, 211, 152, 246, 201, 238 }, - { 1, 25, 43, 128, 97, 139, 185, 137, 241, 190, 229 }, - { 1, 9, 17, 54, 87, 131, 106, 99, 210, 153, 206 } + { 47, 213, 225, 248, 203, 199, 240, 194, 254, 211, 255 }, + { 32, 153, 212, 248, 201, 199, 241, 196, 251, 226, 255 }, + { 6, 102, 168, 240, 181, 190, 240, 187, 251, 225, 238 }, + { 1, 66, 111, 211, 146, 169, 229, 167, 255, 224, 244 }, + { 1, 36, 60, 157, 110, 148, 209, 143, 252, 215, 255 }, + { 1, 16, 27, 83, 90, 133, 152, 111, 244, 184, 250 } }, { /* Coeff Band 5 */ - { 30, 230, 209, 246, 189, 196, 239, 196, 251, 216, 255 }, - { 11, 159, 191, 239, 183, 187, 240, 184, 253, 229, 255 }, - { 1, 94, 141, 227, 162, 177, 235, 178, 253, 227, 255 }, - { 1, 58, 90, 190, 130, 160, 220, 156, 252, 219, 249 }, - { 1, 27, 46, 129, 100, 139, 191, 133, 249, 200, 246 }, - { 1, 12, 19, 62, 89, 127, 120, 100, 228, 161, 229 } + { 46, 225, 232, 252, 219, 208, 247, 204, 254, 233, 255 }, + { 24, 162, 214, 250, 208, 204, 247, 201, 254, 236, 255 }, + { 3, 106, 165, 242, 182, 191, 245, 196, 255, 231, 255 }, + { 1, 66, 108, 213, 142, 169, 235, 175, 255, 226, 247 }, + { 1, 35, 59, 158, 108, 147, 216, 146, 254, 220, 255 }, + { 1, 16, 27, 85, 90, 131, 159, 110, 248, 191, 252 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 213, 63, 239, 223, 197, 181, 181, 153, 199, 154, 226 }, - { 82, 106, 196, 220, 185, 180, 196, 150, 231, 189, 198 }, - { 12, 143, 195, 219, 187, 180, 178, 148, 235, 167, 239 } + { 229, 28, 245, 227, 195, 182, 200, 145, 253, 186, 255 }, + { 151, 44, 210, 214, 180, 175, 193, 146, 247, 185, 254 }, + { 55, 48, 131, 183, 148, 163, 194, 138, 249, 201, 246 } }, { /* Coeff Band 1 */ - { 128, 243, 247, 251, 209, 213, 255, 255, 128, 128, 128 }, - { 136, 226, 244, 247, 208, 162, 224, 183, 255, 255, 128 }, - { 88, 189, 230, 242, 208, 201, 236, 200, 255, 255, 128 }, - { 66, 149, 198, 241, 193, 193, 230, 161, 255, 255, 128 }, - { 41, 104, 142, 211, 145, 180, 236, 193, 255, 236, 128 }, - { 24, 59, 76, 145, 114, 142, 188, 119, 255, 214, 128 } + { 126, 165, 239, 250, 206, 204, 248, 193, 255, 255, 128 }, + { 199, 158, 231, 248, 206, 198, 247, 200, 243, 255, 255 }, + { 102, 136, 209, 248, 203, 197, 247, 201, 255, 244, 128 }, + { 64, 116, 181, 245, 185, 196, 248, 201, 255, 233, 128 }, + { 44, 98, 151, 233, 162, 179, 248, 195, 255, 242, 128 }, + { 44, 81, 119, 204, 140, 165, 222, 163, 252, 217, 255 } }, { /* Coeff Band 2 */ - { 44, 230, 243, 250, 225, 193, 218, 151, 255, 255, 128 }, - { 68, 203, 237, 252, 218, 212, 207, 166, 255, 255, 128 }, - { 59, 156, 215, 251, 200, 210, 205, 160, 255, 255, 128 }, - { 56, 122, 182, 245, 181, 196, 219, 176, 255, 213, 128 }, - { 40, 105, 135, 210, 143, 166, 243, 190, 255, 224, 128 }, - { 13, 90, 112, 157, 143, 154, 199, 139, 244, 201, 255 } + { 108, 185, 239, 252, 216, 209, 248, 205, 255, 230, 128 }, + { 91, 155, 224, 252, 211, 205, 251, 211, 255, 230, 128 }, + { 20, 116, 185, 248, 194, 196, 252, 206, 255, 255, 128 }, + { 8, 86, 141, 239, 168, 185, 248, 196, 255, 247, 128 }, + { 3, 50, 92, 206, 125, 164, 242, 176, 255, 246, 128 }, + { 1, 21, 40, 131, 85, 141, 200, 131, 247, 236, 255 } }, { /* Coeff Band 3 */ - { 46, 241, 247, 249, 212, 202, 226, 168, 255, 154, 128 }, - { 49, 195, 233, 246, 213, 194, 218, 181, 255, 255, 128 }, - { 14, 113, 176, 248, 198, 208, 240, 195, 255, 255, 128 }, - { 6, 87, 125, 230, 157, 187, 240, 184, 255, 183, 128 }, - { 1, 43, 74, 188, 118, 149, 229, 164, 242, 241, 255 }, - { 1, 16, 47, 138, 88, 126, 210, 156, 236, 213, 255 } + { 94, 198, 243, 254, 226, 215, 254, 220, 255, 255, 128 }, + { 67, 164, 228, 253, 217, 208, 250, 216, 255, 213, 128 }, + { 14, 120, 185, 250, 196, 205, 248, 205, 255, 255, 128 }, + { 4, 83, 134, 238, 161, 181, 250, 202, 255, 233, 128 }, + { 1, 48, 82, 196, 119, 157, 248, 178, 255, 255, 128 }, + { 1, 26, 38, 96, 84, 132, 221, 110, 255, 209, 128 } }, { /* Coeff Band 4 */ - { 26, 244, 249, 252, 228, 214, 255, 212, 128, 128, 128 }, - { 34, 199, 235, 249, 216, 197, 246, 198, 255, 255, 128 }, - { 8, 106, 163, 244, 195, 193, 243, 176, 255, 255, 128 }, - { 1, 65, 104, 222, 142, 174, 244, 181, 255, 255, 128 }, - { 1, 36, 52, 147, 111, 136, 226, 136, 247, 238, 255 }, - { 1, 26, 27, 68, 100, 110, 126, 107, 232, 194, 255 } + { 82, 210, 245, 255, 230, 215, 246, 221, 255, 255, 128 }, + { 55, 170, 231, 254, 222, 213, 255, 220, 255, 255, 128 }, + { 8, 118, 184, 251, 200, 207, 255, 219, 255, 255, 128 }, + { 2, 78, 126, 239, 156, 185, 251, 216, 255, 255, 128 }, + { 1, 43, 68, 189, 108, 151, 247, 187, 255, 228, 128 }, + { 1, 34, 40, 121, 114, 102, 205, 96, 255, 255, 128 } }, { /* Coeff Band 5 */ - { 62, 243, 199, 255, 213, 218, 255, 250, 255, 255, 128 }, - { 26, 171, 191, 252, 194, 205, 255, 243, 255, 255, 128 }, - { 14, 107, 167, 250, 188, 198, 255, 233, 255, 255, 128 }, - { 7, 103, 144, 244, 171, 189, 252, 216, 255, 228, 128 }, - { 1, 51, 74, 184, 124, 160, 238, 167, 255, 241, 128 }, - { 1, 13, 13, 78, 105, 138, 169, 124, 241, 224, 255 } + { 65, 228, 241, 255, 231, 214, 253, 222, 255, 255, 128 }, + { 33, 173, 226, 254, 222, 216, 255, 231, 255, 255, 128 }, + { 5, 120, 180, 251, 197, 205, 251, 226, 255, 233, 128 }, + { 1, 81, 130, 240, 159, 187, 251, 206, 255, 205, 128 }, + { 1, 51, 78, 198, 119, 168, 238, 181, 255, 171, 128 }, + { 1, 18, 49, 183, 119, 160, 255, 171, 128, 128, 128 } } } } @@ -532,169 +532,169 @@ static const vp9_coeff_probs default_coef_probs_32x32[BLOCK_TYPES] = { { /* block Type 0 */ { /* Intra */ { /* Coeff Band 0 */ - { 12, 16, 47, 79, 123, 148, 48, 154, 38, 139, 14 }, - { 2, 12, 26, 59, 104, 136, 68, 115, 125, 120, 91 }, - { 1, 10, 17, 44, 94, 133, 76, 98, 129, 139, 98 } + { 37, 34, 137, 205, 154, 170, 151, 159, 109, 172, 44 }, + { 3, 26, 60, 113, 123, 154, 100, 124, 152, 131, 144 }, + { 1, 13, 23, 54, 102, 139, 71, 106, 146, 123, 148 } }, { /* Coeff Band 1 */ - { 128, 90, 111, 171, 128, 152, 183, 148, 211, 169, 180 }, - { 34, 86, 117, 162, 128, 155, 178, 159, 212, 172, 149 }, - { 17, 75, 114, 168, 133, 155, 171, 155, 209, 161, 179 }, - { 5, 53, 92, 175, 138, 154, 180, 148, 209, 172, 170 }, - { 1, 27, 48, 159, 96, 149, 187, 155, 213, 164, 162 }, - { 8, 12, 18, 49, 92, 129, 92, 104, 150, 136, 125 } + { 26, 77, 122, 152, 144, 160, 143, 129, 216, 158, 201 }, + { 43, 76, 123, 152, 142, 159, 145, 129, 218, 160, 204 }, + { 25, 67, 112, 150, 141, 159, 144, 128, 218, 159, 204 }, + { 9, 54, 90, 143, 134, 156, 144, 127, 218, 159, 204 }, + { 2, 32, 52, 116, 114, 148, 138, 123, 217, 158, 207 }, + { 1, 10, 15, 44, 91, 133, 75, 99, 172, 128, 169 } }, { /* Coeff Band 2 */ - { 5, 52, 106, 140, 141, 159, 148, 130, 228, 201, 208 }, - { 16, 52, 98, 140, 131, 161, 151, 125, 225, 194, 149 }, - { 13, 47, 92, 138, 135, 158, 143, 127, 230, 190, 153 }, - { 8, 43, 77, 136, 132, 158, 137, 121, 236, 195, 188 }, - { 2, 33, 55, 118, 115, 152, 130, 120, 226, 175, 179 }, - { 1, 8, 12, 34, 95, 134, 56, 94, 142, 129, 119 } + { 32, 122, 143, 163, 145, 161, 162, 131, 226, 171, 206 }, + { 46, 105, 143, 168, 148, 161, 165, 133, 228, 174, 204 }, + { 17, 79, 116, 164, 142, 161, 166, 134, 229, 174, 206 }, + { 4, 53, 78, 143, 125, 153, 163, 129, 232, 175, 213 }, + { 1, 29, 44, 105, 105, 142, 147, 120, 228, 168, 211 }, + { 1, 12, 18, 52, 91, 133, 92, 100, 193, 140, 183 } }, { /* Coeff Band 3 */ - { 14, 122, 145, 181, 153, 167, 171, 141, 217, 176, 176 }, - { 29, 110, 149, 185, 156, 165, 169, 139, 214, 169, 191 }, - { 12, 90, 135, 186, 154, 169, 168, 140, 217, 170, 185 }, - { 5, 75, 107, 172, 145, 160, 171, 141, 215, 172, 182 }, - { 1, 49, 71, 131, 121, 150, 153, 128, 211, 164, 177 }, - { 1, 14, 21, 51, 101, 136, 81, 98, 150, 134, 133 } + { 33, 157, 160, 182, 149, 163, 185, 141, 236, 185, 218 }, + { 20, 116, 152, 188, 152, 165, 191, 144, 238, 188, 217 }, + { 4, 74, 114, 180, 141, 162, 192, 143, 240, 191, 219 }, + { 1, 44, 69, 148, 119, 151, 183, 134, 243, 192, 227 }, + { 1, 25, 40, 110, 101, 141, 162, 121, 238, 181, 223 }, + { 1, 12, 18, 56, 89, 132, 103, 101, 206, 148, 196 } }, { /* Coeff Band 4 */ - { 14, 179, 178, 193, 163, 170, 178, 143, 223, 176, 187 }, - { 13, 139, 167, 198, 160, 172, 186, 147, 228, 175, 189 }, - { 2, 90, 125, 187, 147, 164, 190, 148, 231, 186, 193 }, - { 1, 54, 78, 154, 122, 154, 183, 135, 233, 187, 207 }, - { 1, 22, 34, 94, 95, 139, 160, 111, 222, 173, 194 }, - { 1, 7, 11, 35, 88, 132, 69, 93, 159, 131, 149 } + { 25, 183, 174, 207, 159, 171, 205, 156, 243, 194, 228 }, + { 13, 124, 159, 209, 157, 171, 213, 160, 243, 200, 228 }, + { 2, 75, 117, 199, 143, 166, 215, 158, 246, 205, 230 }, + { 1, 45, 73, 165, 119, 153, 204, 144, 248, 205, 231 }, + { 1, 26, 43, 120, 101, 141, 178, 127, 242, 192, 226 }, + { 1, 12, 19, 59, 89, 132, 112, 102, 215, 154, 201 } }, { /* Coeff Band 5 */ - { 6, 229, 210, 228, 186, 181, 211, 163, 238, 194, 217 }, - { 2, 140, 169, 224, 170, 178, 222, 167, 244, 205, 214 }, - { 1, 74, 112, 203, 143, 166, 220, 162, 247, 210, 220 }, - { 1, 43, 64, 154, 113, 149, 198, 140, 246, 201, 229 }, - { 1, 20, 32, 95, 95, 135, 167, 113, 237, 183, 222 }, - { 1, 9, 14, 44, 88, 129, 87, 95, 197, 142, 190 } + { 13, 232, 223, 239, 196, 188, 225, 172, 248, 209, 226 }, + { 4, 155, 187, 237, 184, 187, 233, 180, 250, 216, 232 }, + { 1, 86, 131, 222, 156, 175, 233, 176, 251, 218, 237 }, + { 1, 49, 79, 181, 123, 157, 218, 155, 251, 214, 237 }, + { 1, 26, 43, 125, 100, 141, 188, 130, 246, 199, 231 }, + { 1, 12, 20, 62, 88, 131, 119, 102, 222, 161, 209 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 90, 25, 200, 240, 210, 196, 196, 160, 209, 175, 174 }, - { 21, 29, 139, 218, 181, 181, 186, 146, 225, 177, 191 }, - { 26, 35, 114, 203, 165, 176, 174, 142, 222, 174, 189 } + { 51, 37, 227, 237, 205, 184, 200, 162, 231, 187, 207 }, + { 9, 36, 172, 204, 176, 173, 171, 145, 217, 167, 197 }, + { 21, 26, 112, 162, 145, 162, 155, 133, 215, 165, 191 } }, { /* Coeff Band 1 */ - { 128, 217, 229, 234, 186, 187, 215, 181, 224, 165, 255 }, - { 154, 215, 234, 237, 179, 180, 226, 179, 255, 183, 128 }, - { 125, 204, 225, 239, 185, 183, 230, 188, 233, 205, 1 }, - { 74, 171, 200, 233, 180, 187, 222, 180, 249, 185, 1 }, - { 39, 112, 154, 220, 154, 168, 219, 181, 247, 196, 255 }, - { 9, 56, 81, 154, 124, 158, 177, 145, 227, 168, 207 } + { 79, 169, 219, 223, 176, 177, 222, 161, 248, 213, 244 }, + { 177, 166, 216, 222, 175, 178, 222, 161, 246, 212, 226 }, + { 119, 141, 196, 222, 174, 176, 220, 163, 250, 212, 236 }, + { 63, 117, 165, 217, 163, 175, 218, 161, 248, 209, 231 }, + { 30, 87, 117, 192, 138, 162, 216, 157, 247, 211, 224 }, + { 14, 56, 60, 119, 111, 146, 156, 123, 227, 171, 220 } }, { /* Coeff Band 2 */ - { 24, 153, 231, 245, 203, 194, 228, 187, 255, 158, 128 }, - { 80, 153, 234, 242, 201, 192, 240, 195, 236, 171, 255 }, - { 58, 153, 220, 242, 202, 194, 244, 178, 255, 205, 128 }, - { 41, 132, 192, 237, 178, 194, 224, 185, 240, 221, 255 }, - { 31, 104, 149, 213, 154, 166, 233, 172, 235, 206, 219 }, - { 12, 82, 104, 157, 128, 153, 173, 133, 228, 185, 200 } + { 88, 195, 225, 229, 181, 181, 229, 171, 252, 212, 221 }, + { 66, 145, 202, 229, 177, 180, 230, 172, 253, 220, 255 }, + { 12, 97, 152, 221, 162, 174, 230, 169, 253, 218, 249 }, + { 3, 66, 103, 198, 138, 165, 223, 159, 253, 219, 251 }, + { 1, 38, 61, 158, 110, 148, 209, 146, 252, 212, 238 }, + { 1, 19, 30, 94, 94, 136, 160, 114, 244, 185, 236 } }, { /* Coeff Band 3 */ - { 64, 217, 240, 242, 198, 186, 238, 172, 243, 199, 255 }, - { 74, 182, 225, 241, 190, 192, 234, 191, 255, 203, 128 }, - { 21, 117, 176, 236, 176, 181, 238, 182, 248, 231, 255 }, - { 7, 83, 126, 221, 153, 176, 232, 178, 250, 211, 128 }, - { 1, 47, 74, 171, 116, 156, 208, 155, 243, 208, 238 }, - { 1, 17, 31, 86, 83, 141, 135, 113, 220, 168, 190 } + { 79, 211, 228, 235, 186, 184, 233, 176, 255, 225, 255 }, + { 50, 151, 205, 235, 182, 185, 237, 177, 254, 223, 255 }, + { 7, 95, 149, 225, 162, 176, 236, 177, 254, 229, 219 }, + { 1, 62, 98, 198, 134, 164, 228, 162, 254, 224, 238 }, + { 1, 35, 57, 156, 108, 148, 211, 143, 253, 215, 238 }, + { 1, 17, 26, 87, 89, 135, 161, 113, 246, 189, 237 } }, { /* Coeff Band 4 */ - { 46, 236, 239, 243, 195, 192, 241, 189, 255, 195, 128 }, - { 43, 189, 217, 242, 183, 185, 244, 196, 243, 208, 255 }, - { 5, 101, 153, 234, 168, 181, 238, 201, 241, 224, 255 }, - { 1, 64, 101, 212, 134, 165, 229, 175, 253, 202, 255 }, - { 1, 32, 54, 149, 100, 140, 207, 145, 246, 198, 224 }, - { 1, 12, 19, 51, 103, 140, 109, 98, 212, 157, 177 } + { 68, 225, 230, 239, 190, 187, 238, 180, 252, 234, 255 }, + { 39, 156, 206, 239, 185, 187, 241, 187, 254, 231, 255 }, + { 4, 94, 147, 229, 163, 178, 242, 183, 255, 236, 224 }, + { 1, 58, 94, 200, 132, 163, 232, 166, 254, 230, 255 }, + { 1, 32, 52, 153, 104, 146, 214, 144, 253, 222, 236 }, + { 1, 15, 24, 84, 89, 131, 159, 109, 247, 192, 240 } }, { /* Coeff Band 5 */ - { 25, 249, 228, 245, 205, 193, 241, 187, 252, 226, 219 }, - { 12, 166, 186, 241, 183, 189, 246, 196, 254, 234, 199 }, - { 1, 88, 130, 229, 156, 177, 245, 190, 255, 238, 255 }, - { 1, 54, 84, 196, 124, 159, 237, 169, 255, 233, 237 }, - { 1, 30, 49, 140, 102, 142, 211, 139, 251, 218, 225 }, - { 1, 13, 21, 67, 89, 131, 130, 100, 229, 168, 233 } + { 45, 248, 234, 248, 208, 198, 244, 193, 255, 233, 255 }, + { 19, 169, 204, 246, 195, 195, 246, 199, 255, 233, 255 }, + { 2, 98, 145, 235, 166, 183, 245, 192, 255, 235, 255 }, + { 1, 59, 92, 205, 131, 164, 236, 172, 254, 231, 250 }, + { 1, 33, 52, 152, 103, 145, 216, 144, 253, 221, 240 }, + { 1, 15, 24, 83, 87, 133, 156, 110, 246, 191, 242 } } } }, { /* block Type 1 */ { /* Intra */ { /* Coeff Band 0 */ - { 77, 16, 83, 89, 131, 150, 46, 119, 43, 101, 50 }, - { 15, 22, 42, 85, 105, 137, 110, 119, 153, 156, 117 }, - { 4, 21, 34, 89, 98, 126, 120, 119, 149, 158, 105 } + { 179, 23, 200, 222, 180, 182, 150, 152, 148, 135, 125 }, + { 60, 33, 113, 185, 143, 166, 168, 144, 189, 168, 152 }, + { 8, 31, 59, 137, 114, 150, 163, 132, 206, 171, 169 } }, { /* Coeff Band 1 */ - { 128, 129, 140, 212, 174, 179, 155, 105, 163, 146, 255 }, - { 57, 121, 153, 189, 160, 191, 206, 148, 233, 230, 255 }, - { 25, 105, 143, 193, 148, 174, 193, 134, 236, 213, 255 }, - { 8, 95, 132, 197, 138, 174, 154, 165, 242, 161, 255 }, - { 1, 67, 97, 165, 139, 143, 170, 143, 214, 188, 226 }, - { 1, 22, 33, 65, 124, 144, 68, 123, 125, 118, 122 } + { 27, 103, 158, 215, 157, 174, 209, 165, 239, 191, 233 }, + { 90, 101, 159, 213, 156, 173, 212, 164, 230, 185, 237 }, + { 39, 91, 146, 212, 155, 169, 212, 165, 232, 186, 207 }, + { 16, 75, 120, 203, 144, 169, 210, 161, 233, 189, 227 }, + { 3, 48, 76, 167, 120, 154, 199, 146, 236, 190, 218 }, + { 1, 18, 26, 72, 95, 137, 113, 109, 197, 146, 186 } }, { /* Coeff Band 2 */ - { 9, 48, 113, 195, 136, 171, 209, 134, 255, 255, 128 }, - { 15, 45, 110, 170, 139, 168, 209, 144, 219, 160, 255 }, - { 16, 42, 92, 164, 131, 157, 210, 131, 247, 180, 1 }, - { 14, 29, 78, 158, 117, 146, 191, 147, 229, 203, 192 }, - { 2, 19, 36, 131, 94, 140, 185, 137, 232, 167, 216 }, - { 1, 8, 14, 42, 95, 125, 89, 93, 163, 135, 145 } + { 45, 137, 177, 218, 166, 174, 206, 163, 234, 184, 214 }, + { 47, 117, 167, 218, 166, 176, 206, 164, 234, 182, 229 }, + { 16, 90, 136, 211, 153, 172, 205, 162, 236, 192, 231 }, + { 6, 65, 100, 188, 136, 162, 193, 155, 237, 177, 228 }, + { 1, 37, 58, 137, 113, 150, 166, 134, 229, 167, 234 }, + { 1, 13, 19, 55, 90, 132, 93, 103, 196, 137, 202 } }, { /* Coeff Band 3 */ - { 22, 137, 165, 202, 159, 183, 137, 133, 207, 136, 224 }, - { 53, 123, 158, 206, 167, 176, 175, 178, 180, 171, 238 }, - { 29, 103, 142, 187, 156, 167, 220, 170, 230, 142, 255 }, - { 12, 75, 114, 182, 146, 168, 186, 132, 223, 191, 240 }, - { 5, 42, 59, 140, 110, 149, 173, 138, 218, 173, 214 }, - { 1, 13, 16, 42, 92, 122, 75, 99, 165, 133, 162 } + { 36, 171, 194, 227, 177, 179, 208, 165, 244, 196, 245 }, + { 19, 129, 178, 227, 175, 184, 214, 165, 246, 188, 255 }, + { 5, 90, 139, 217, 158, 174, 213, 166, 246, 198, 255 }, + { 1, 59, 93, 182, 134, 162, 193, 150, 242, 188, 241 }, + { 1, 31, 49, 122, 108, 145, 160, 127, 235, 172, 229 }, + { 1, 10, 18, 54, 89, 132, 101, 99, 213, 144, 217 } }, { /* Coeff Band 4 */ - { 14, 186, 183, 201, 164, 170, 198, 153, 233, 174, 205 }, - { 13, 137, 172, 213, 169, 172, 187, 164, 235, 163, 228 }, - { 2, 86, 128, 201, 151, 174, 198, 152, 221, 186, 192 }, - { 1, 51, 79, 162, 125, 159, 190, 140, 237, 193, 198 }, - { 1, 25, 37, 107, 107, 146, 141, 118, 223, 166, 212 }, - { 1, 8, 11, 38, 85, 126, 78, 99, 180, 131, 190 } + { 37, 197, 210, 233, 187, 186, 216, 172, 250, 202, 255 }, + { 20, 142, 191, 234, 183, 186, 219, 170, 249, 207, 246 }, + { 3, 93, 144, 222, 163, 176, 219, 170, 249, 204, 224 }, + { 1, 56, 88, 179, 130, 159, 199, 148, 246, 197, 243 }, + { 1, 29, 47, 123, 104, 144, 172, 127, 244, 185, 234 }, + { 1, 14, 22, 66, 91, 130, 120, 103, 225, 158, 221 } }, { /* Coeff Band 5 */ - { 7, 224, 213, 235, 191, 183, 222, 170, 241, 212, 241 }, - { 2, 142, 176, 232, 177, 181, 230, 175, 251, 215, 216 }, - { 1, 79, 121, 214, 150, 170, 230, 171, 251, 220, 247 }, - { 1, 44, 70, 168, 117, 151, 211, 148, 251, 211, 238 }, - { 1, 25, 38, 113, 98, 137, 177, 123, 247, 192, 229 }, - { 1, 12, 19, 56, 89, 128, 111, 99, 223, 156, 228 } + { 19, 227, 223, 245, 203, 194, 238, 187, 251, 225, 217 }, + { 6, 152, 192, 242, 189, 190, 241, 190, 253, 225, 255 }, + { 1, 89, 138, 228, 161, 177, 239, 181, 254, 224, 248 }, + { 1, 52, 84, 188, 127, 157, 224, 159, 253, 222, 247 }, + { 1, 29, 47, 132, 102, 140, 196, 132, 251, 208, 244 }, + { 1, 14, 23, 71, 90, 133, 134, 103, 239, 174, 233 } } }, { /* Inter */ { /* Coeff Band 0 */ - { 113, 113, 206, 246, 197, 205, 228, 180, 255, 192, 128 }, - { 8, 110, 179, 248, 197, 204, 215, 190, 245, 211, 255 }, - { 1, 92, 181, 253, 212, 220, 197, 164, 255, 187, 128 } + { 205, 14, 245, 235, 216, 189, 190, 146, 249, 201, 255 }, + { 97, 19, 213, 210, 194, 174, 176, 139, 241, 183, 250 }, + { 31, 20, 144, 183, 160, 167, 171, 132, 240, 184, 253 } }, { /* Coeff Band 1 */ - { 128, 250, 254, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 38, 247, 254, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 20, 239, 255, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 16, 221, 249, 255, 241, 255, 128, 128, 128, 128, 128 }, - { 29, 121, 195, 240, 195, 209, 255, 255, 128, 128, 128 }, - { 18, 48, 95, 175, 128, 146, 236, 149, 255, 255, 128 } + { 137, 182, 245, 254, 221, 216, 255, 160, 128, 128, 128 }, + { 231, 185, 242, 251, 218, 205, 255, 233, 128, 128, 128 }, + { 170, 175, 229, 252, 205, 209, 255, 211, 128, 128, 128 }, + { 107, 157, 213, 250, 199, 205, 251, 207, 255, 255, 128 }, + { 77, 126, 183, 243, 182, 183, 252, 206, 255, 255, 128 }, + { 69, 96, 149, 229, 157, 170, 247, 169, 255, 255, 128 } }, { /* Coeff Band 2 */ - { 14, 225, 235, 255, 236, 255, 128, 128, 128, 128, 128 }, - { 23, 219, 238, 255, 242, 238, 128, 128, 128, 128, 128 }, - { 14, 189, 228, 255, 239, 223, 128, 128, 128, 128, 128 }, - { 20, 144, 194, 251, 206, 211, 255, 224, 128, 128, 128 }, - { 22, 107, 164, 223, 160, 195, 255, 230, 128, 128, 128 }, - { 4, 84, 155, 244, 166, 183, 255, 255, 128, 128, 128 } + { 107, 196, 241, 252, 211, 208, 255, 210, 128, 128, 128 }, + { 92, 162, 221, 249, 203, 195, 255, 199, 128, 128, 128 }, + { 20, 108, 181, 244, 190, 191, 250, 200, 255, 255, 128 }, + { 7, 80, 132, 241, 172, 197, 253, 191, 255, 255, 128 }, + { 2, 43, 75, 219, 122, 150, 255, 203, 128, 128, 128 }, + { 1, 15, 48, 98, 51, 192, 255, 160, 128, 128, 128 } }, { /* Coeff Band 3 */ - { 7, 244, 250, 255, 246, 238, 255, 1, 128, 128, 128 }, - { 9, 201, 231, 255, 243, 245, 255, 255, 128, 128, 128 }, - { 4, 79, 166, 255, 220, 243, 255, 255, 128, 128, 128 }, - { 2, 40, 104, 254, 181, 214, 255, 255, 128, 128, 128 }, - { 1, 29, 17, 221, 133, 149, 255, 255, 128, 128, 128 }, - { 1, 1, 1, 1, 128, 128, 255, 255, 128, 128, 128 } + { 107, 202, 244, 254, 226, 215, 255, 192, 128, 128, 128 }, + { 77, 167, 224, 252, 215, 212, 255, 235, 128, 128, 128 }, + { 14, 117, 179, 249, 191, 196, 255, 212, 128, 128, 128 }, + { 3, 84, 134, 237, 160, 194, 248, 216, 255, 255, 128 }, + { 1, 57, 84, 216, 145, 136, 255, 161, 128, 128, 128 }, + { 1, 1, 1, 255, 128, 255, 128, 128, 128, 128, 128 } }, { /* Coeff Band 4 */ - { 7, 250, 251, 255, 251, 228, 128, 128, 128, 128, 128 }, - { 6, 207, 237, 255, 246, 255, 128, 128, 128, 128, 128 }, - { 1, 79, 158, 255, 229, 242, 128, 128, 128, 128, 128 }, - { 1, 22, 89, 251, 183, 229, 255, 192, 128, 128, 128 }, - { 1, 54, 102, 142, 255, 128, 192, 1, 255, 255, 128 }, - { 1, 1, 1, 255, 1, 255, 128, 128, 128, 128, 128 } + { 88, 219, 248, 255, 239, 225, 255, 255, 128, 128, 128 }, + { 61, 178, 234, 255, 227, 227, 255, 217, 128, 128, 128 }, + { 6, 127, 188, 252, 201, 211, 255, 244, 128, 128, 128 }, + { 1, 83, 130, 248, 173, 197, 255, 175, 128, 128, 128 }, + { 1, 61, 66, 211, 121, 188, 255, 213, 128, 128, 128 }, + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } }, { /* Coeff Band 5 */ - { 34, 251, 193, 247, 183, 192, 255, 225, 255, 255, 128 }, - { 20, 187, 163, 240, 168, 180, 255, 222, 255, 255, 128 }, - { 5, 100, 125, 237, 163, 179, 255, 214, 255, 255, 128 }, - { 1, 90, 105, 232, 153, 178, 255, 204, 255, 255, 128 }, - { 1, 79, 87, 219, 138, 168, 255, 210, 255, 255, 128 }, - { 1, 1, 1, 255, 1, 64, 128, 128, 128, 128, 128 } + { 73, 243, 250, 255, 244, 220, 255, 205, 128, 128, 128 }, + { 42, 197, 242, 255, 237, 227, 242, 166, 255, 255, 128 }, + { 10, 137, 197, 252, 214, 199, 255, 238, 128, 128, 128 }, + { 2, 85, 134, 242, 163, 185, 224, 238, 255, 255, 128 }, + { 1, 70, 69, 199, 110, 64, 255, 213, 128, 128, 128 }, + { 1, 1, 1, 1, 128, 128, 255, 1, 128, 128, 128 } } } } diff --git a/vp9/common/vp9_entropy.c b/vp9/common/vp9_entropy.c index ca55699..1e13861 100644 --- a/vp9/common/vp9_entropy.c +++ b/vp9/common/vp9_entropy.c @@ -42,15 +42,21 @@ DECLARE_ALIGNED(16, const uint8_t, vp9_norm[256]) = { }; // Unified coefficient band structure used by all block sizes -DECLARE_ALIGNED(16, const int, vp9_coef_bands[32]) = { - 0, 1, 2, 3, 3, 3, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 5, +DECLARE_ALIGNED(16, const int, vp9_coef_bands8x8[64]) = { + 0, 1, 2, 3, 4, 4, 5, 5, + 1, 2, 3, 4, 4, 5, 5, 5, + 2, 3, 4, 4, 5, 5, 5, 5, + 3, 4, 4, 5, 5, 5, 5, 5, + 4, 4, 5, 5, 5, 5, 5, 5, + 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; DECLARE_ALIGNED(16, const int, vp9_coef_bands4x4[16]) = { - 0, 1, 2, 3, 3, 3, 4, 4, - 4, 4, 5, 5, 5, 5, 5, 5 + 0, 1, 2, 3, + 1, 2, 3, 4, + 2, 3, 4, 5, + 3, 4, 5, 5 }; DECLARE_ALIGNED(16, const uint8_t, vp9_pt_energy_class[MAX_ENTROPY_TOKENS]) = { diff --git a/vp9/common/vp9_entropy.h b/vp9/common/vp9_entropy.h index 45874e7..ec8cb72 100644 --- a/vp9/common/vp9_entropy.h +++ b/vp9/common/vp9_entropy.h @@ -126,17 +126,20 @@ static INLINE void vp9_reset_sb64_tokens_context(MACROBLOCKD* const xd) { vpx_memset(xd->left_context, 0, sizeof(ENTROPY_CONTEXT_PLANES) * 4); } -extern const int vp9_coef_bands[32]; +extern const int vp9_coef_bands8x8[64]; extern const int vp9_coef_bands4x4[16]; -static int get_coef_band(TX_SIZE tx_size, int coef_index) { +static int get_coef_band(const int *scan, TX_SIZE tx_size, int coef_index) { if (tx_size == TX_4X4) { - return vp9_coef_bands4x4[coef_index]; + return vp9_coef_bands4x4[scan[coef_index]]; } else { - if (coef_index < 32) - return vp9_coef_bands[coef_index]; - else + const int pos = scan[coef_index]; + const int sz = 1 << (2 + tx_size); + const int x = pos & (sz - 1), y = pos >> (2 + tx_size); + if (x >= 8 || y >= 8) return 5; + else + return vp9_coef_bands8x8[y * 8 + x]; } } extern int vp9_get_coef_context(const int *scan, const int *neighbors, diff --git a/vp9/decoder/vp9_detokenize.c b/vp9/decoder/vp9_detokenize.c index 9c168e1..3def217 100644 --- a/vp9/decoder/vp9_detokenize.c +++ b/vp9/decoder/vp9_detokenize.c @@ -65,9 +65,11 @@ static int get_signed(BOOL_DECODER *br, int value_to_sign) { #define INCREMENT_COUNT(token) \ do { \ - coef_counts[type][ref][get_coef_band(txfm_size, c)][pt][token]++; \ + coef_counts[type][ref][get_coef_band(scan, txfm_size, c)] \ + [pt][token]++; \ token_cache[c] = token; \ - pt = vp9_get_coef_context(scan, nb, pad, token_cache, c, default_eob); \ + pt = vp9_get_coef_context(scan, nb, pad, token_cache, \ + c, default_eob); \ } while (0) #if CONFIG_CODE_NONZEROCOUNT @@ -212,10 +214,10 @@ static int decode_coefs(VP9D_COMP *dx, const MACROBLOCKD *xd, if (nzc == nzc_expected) break; #endif - prob = coef_probs[type][ref][get_coef_band(txfm_size, c)][pt]; + prob = coef_probs[type][ref][get_coef_band(scan, txfm_size, c)][pt]; #if CONFIG_CODE_NONZEROCOUNT == 0 fc->eob_branch_counts[txfm_size][type][ref] - [get_coef_band(txfm_size, c)][pt]++; + [get_coef_band(scan, txfm_size, c)][pt]++; if (!vp9_read(br, prob[EOB_CONTEXT_NODE])) break; #endif @@ -231,7 +233,7 @@ SKIP_START: if (!vp9_read(br, prob[ZERO_CONTEXT_NODE])) { INCREMENT_COUNT(ZERO_TOKEN); ++c; - prob = coef_probs[type][ref][get_coef_band(txfm_size, c)][pt]; + prob = coef_probs[type][ref][get_coef_band(scan, txfm_size, c)][pt]; goto SKIP_START; } // ONE_CONTEXT_NODE_0_ @@ -296,7 +298,8 @@ SKIP_START: #if CONFIG_CODE_NONZEROCOUNT == 0 if (c < seg_eob) - coef_counts[type][ref][get_coef_band(txfm_size, c)][pt][DCT_EOB_TOKEN]++; + coef_counts[type][ref][get_coef_band(scan, txfm_size, c)] + [pt][DCT_EOB_TOKEN]++; #endif A0[aidx] = L0[lidx] = c > 0; diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index 4ab8882..f51f4c5 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -662,7 +662,7 @@ static void optimize_b(VP9_COMMON *const cm, t0 = (vp9_dct_value_tokens_ptr + x)->Token; /* Consider both possible successor states. */ if (next < default_eob) { - band = get_coef_band(tx_size, i + 1); + band = get_coef_band(scan, tx_size, i + 1); pt = trellis_get_coeff_context(scan, nb, i, t0, token_cache, pad, default_eob); rate0 += @@ -721,7 +721,7 @@ static void optimize_b(VP9_COMMON *const cm, t0 = t1 = (vp9_dct_value_tokens_ptr + x)->Token; } if (next < default_eob) { - band = get_coef_band(tx_size, i + 1); + band = get_coef_band(scan, tx_size, i + 1); if (t0 != DCT_EOB_TOKEN) { pt = trellis_get_coeff_context(scan, nb, i, t0, token_cache, pad, default_eob); @@ -763,7 +763,7 @@ static void optimize_b(VP9_COMMON *const cm, * add a new trellis node, but we do need to update the costs. */ else { - band = get_coef_band(tx_size, i + 1); + band = get_coef_band(scan, tx_size, i + 1); t0 = tokens[next][0].token; t1 = tokens[next][1].token; /* Update the cost of each path if we're past the EOB token. */ @@ -782,7 +782,7 @@ static void optimize_b(VP9_COMMON *const cm, } /* Now pick the best path through the whole trellis. */ - band = get_coef_band(tx_size, i + 1); + band = get_coef_band(scan, tx_size, i + 1); VP9_COMBINEENTROPYCONTEXTS(pt, *a, *l); rate0 = tokens[next][0].rate; rate1 = tokens[next][1].rate; diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 8ba2220..f68afab 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -565,12 +565,12 @@ static INLINE int cost_coeffs(VP9_COMMON *const cm, MACROBLOCK *mb, nzc += (v != 0); #endif token_cache[c] = t; - cost += token_costs[get_coef_band(tx_size, c)][pt][t]; + cost += token_costs[get_coef_band(scan, tx_size, c)][pt][t]; cost += vp9_dct_value_cost_ptr[v]; #if !CONFIG_CODE_NONZEROCOUNT if (!c || token_cache[c - 1]) cost += vp9_cost_bit(coef_probs[type][ref] - [get_coef_band(tx_size, c)] + [get_coef_band(scan, tx_size, c)] [pt][0], 1); #endif pt = vp9_get_coef_context(scan, nb, pad, token_cache, c, default_eob); @@ -579,8 +579,9 @@ static INLINE int cost_coeffs(VP9_COMMON *const cm, MACROBLOCK *mb, cost += nzc_cost[nzc]; #else if (c < seg_eob) - cost += mb->token_costs[tx_size][type][ref][get_coef_band(tx_size, c)] - [pt][DCT_EOB_TOKEN]; + cost += mb->token_costs[tx_size][type][ref] + [get_coef_band(scan, tx_size, c)] + [pt][DCT_EOB_TOKEN]; #endif } diff --git a/vp9/encoder/vp9_tokenize.c b/vp9/encoder/vp9_tokenize.c index c03970d..c770a5c 100644 --- a/vp9/encoder/vp9_tokenize.c +++ b/vp9/encoder/vp9_tokenize.c @@ -229,7 +229,7 @@ static void tokenize_b(VP9_COMP *cpi, seg_eob = 0; do { - const int band = get_coef_band(tx_size, c); + const int band = get_coef_band(scan, tx_size, c); int token; int v = 0; #if CONFIG_CODE_NONZEROCOUNT