Commit 39a90bc8 authored by Deb Mukherjee's avatar Deb Mukherjee

Updating the model coef experiment

Cleans up the experiment. Actually uses reduced counts for backward
updates, and reduced number of probabilities in the context.

No change in bitstream when the experiment is on.

Between expt on and off:
derfraw300 is down only -0.062% (which is better than when expts
were run previously).

Change-Id: I55285a049a0c22810bdb42914212ab5a4f8521b5
parent da39272f
......@@ -15,6 +15,692 @@
// 2 or 3 from each row is actually used depending on whether
// UNCONSTRAINDED_NODES is 2 or 3. If this experiment is merged
// the tables below should be shortened accordingly.
#if CONFIG_MODELCOEFPROB
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,},