From ad6150f7697ce486630c75cb53fa607928ced4c7 Mon Sep 17 00:00:00 2001 From: Paul Wilkins Date: Mon, 22 Nov 2010 13:17:35 +0000 Subject: [PATCH] Recalibration of bits per MB tables The baseline bits per MB prediction tables have been re calibrated based on the assumption that bits per mb is inversely proportional to the quantizer level. Change-Id: Ibd355c7acac4b8053dda1baf1032fe35f11da7f7 --- vp8/encoder/ratectrl.c | 72 ++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/vp8/encoder/ratectrl.c b/vp8/encoder/ratectrl.c index dd324f435..c05e80e4b 100644 --- a/vp8/encoder/ratectrl.c +++ b/vp8/encoder/ratectrl.c @@ -45,46 +45,48 @@ extern int inter_b_modes[10]; // Bits Per MB at different Q (Multiplied by 512) #define BPER_MB_NORMBITS 9 +// Work in progress recalibration of baseline rate tables based on +// the assumption that bits per mb is inversely proportional to the +// quantizer value. const int vp8_bits_per_mb[2][QINDEX_RANGE] = { - // (Updated 19 March 08) Baseline estimate of INTRA-frame Bits Per MB at each Q: + // Intra case 450000/Qintra { - 674781, 606845, 553905, 524293, 500428, 452540, 435379, 414719, - 390970, 371082, 359416, 341807, 336957, 317263, 303724, 298402, - 285688, 275237, 268455, 262560, 256038, 248734, 241087, 237615, - 229247, 225211, 219112, 213920, 211559, 202714, 198482, 193401, - 187866, 183453, 179212, 175965, 171852, 167235, 163972, 160560, - 156032, 154349, 151390, 148725, 145708, 142311, 139981, 137700, - 134084, 131863, 129746, 128498, 126077, 123461, 121290, 117782, - 114883, 112332, 108410, 105685, 103434, 101192, 98587, 95959, - 94059, 92017, 89970, 87936, 86142, 84801, 82736, 81106, - 79668, 78135, 76641, 75103, 73943, 72693, 71401, 70098, - 69165, 67901, 67170, 65987, 64923, 63534, 62378, 61302, - 59921, 58941, 57844, 56782, 55960, 54973, 54257, 53454, - 52230, 50938, 49962, 49190, 48288, 47270, 46738, 46037, - 45020, 44027, 43216, 42287, 41594, 40702, 40081, 39414, - 38282, 37627, 36987, 36375, 35808, 35236, 34710, 34162, - 33659, 33327, 32751, 32384, 31936, 31461, 30982, 30582, + 1125000,900000, 750000, 642857, 562500, 500000, 450000, 450000, + 409090, 375000, 346153, 321428, 300000, 281250, 264705, 264705, + 250000, 236842, 225000, 225000, 214285, 214285, 204545, 204545, + 195652, 195652, 187500, 180000, 180000, 173076, 166666, 160714, + 155172, 150000, 145161, 140625, 136363, 132352, 128571, 125000, + 121621, 121621, 118421, 115384, 112500, 109756, 107142, 104651, + 102272, 100000, 97826, 97826, 95744, 93750, 91836, 90000, + 88235, 86538, 84905, 83333, 81818, 80357, 78947, 77586, + 76271, 75000, 73770, 72580, 71428, 70312, 69230, 68181, + 67164, 66176, 65217, 64285, 63380, 62500, 61643, 60810, + 60000, 59210, 59210, 58441, 57692, 56962, 56250, 55555, + 54878, 54216, 53571, 52941, 52325, 51724, 51136, 50561, + 49450, 48387, 47368, 46875, 45918, 45000, 44554, 44117, + 43269, 42452, 41666, 40909, 40178, 39473, 38793, 38135, + 36885, 36290, 35714, 35156, 34615, 34090, 33582, 33088, + 32608, 32142, 31468, 31034, 30405, 29801, 29220, 28662, }, - - // (Updated 19 March 08) Baseline estimate of INTER-frame Bits Per MB at each Q: + // Inter case 285000/Qinter { - 497401, 426316, 372064, 352732, 335763, 283921, 273848, 253321, - 233181, 217727, 210030, 196685, 194836, 178396, 167753, 164116, - 154119, 146929, 142254, 138488, 133591, 127741, 123166, 120226, - 114188, 111756, 107882, 104749, 102522, 96451, 94424, 90905, - 87286, 84931, 82111, 80534, 77610, 74700, 73037, 70715, - 68006, 67235, 65374, 64009, 62134, 60180, 59105, 57691, - 55509, 54512, 53318, 52693, 51194, 49840, 48944, 46980, - 45668, 44177, 42348, 40994, 39859, 38889, 37717, 36391, - 35482, 34622, 33795, 32756, 32002, 31492, 30573, 29737, - 29152, 28514, 27941, 27356, 26859, 26329, 25874, 25364, - 24957, 24510, 24290, 23689, 23380, 22845, 22481, 22066, - 21587, 21219, 20880, 20452, 20260, 19926, 19661, 19334, - 18915, 18391, 18046, 17833, 17441, 17105, 16888, 16729, - 16383, 16023, 15706, 15442, 15222, 14938, 14673, 14452, - 14005, 13807, 13611, 13447, 13223, 13102, 12963, 12801, - 12627, 12534, 12356, 12228, 12056, 11907, 11746, 11643, + 712500, 570000, 475000, 407142, 356250, 316666, 285000, 259090, + 237500, 219230, 203571, 190000, 178125, 167647, 158333, 150000, + 142500, 135714, 129545, 123913, 118750, 114000, 109615, 105555, + 101785, 98275, 95000, 91935, 89062, 86363, 83823, 81428, + 79166, 77027, 75000, 73076, 71250, 69512, 67857, 66279, + 64772, 63333, 61956, 60638, 59375, 58163, 57000, 55882, + 54807, 53773, 52777, 51818, 50892, 50000, 49137, 47500, + 45967, 44531, 43181, 41911, 40714, 39583, 38513, 37500, + 36538, 35625, 34756, 33928, 33139, 32386, 31666, 30978, + 30319, 29687, 29081, 28500, 27941, 27403, 26886, 26388, + 25909, 25446, 25000, 24568, 23949, 23360, 22800, 22265, + 21755, 21268, 20802, 20357, 19930, 19520, 19127, 18750, + 18387, 18037, 17701, 17378, 17065, 16764, 16473, 16101, + 15745, 15405, 15079, 14766, 14467, 14179, 13902, 13636, + 13380, 13133, 12895, 12666, 12445, 12179, 11924, 11632, + 11445, 11220, 11003, 10795, 10594, 10401, 10215, 10035, } }; -- 2.50.1