make rdmult adaptive for intra in quantizer RDO
This intends to correct the tendency that VP8 aggressively favors rate on intra coded frames. Experiments tested different numbers in [0, 1] and found 9/16 overall provided about 2-4% gains for all-intra coded clips based on vpx-ssim metric. The impact on regular encoded clips is much smaller but positive overall. Overall impact on psnr is also positive even though very small. Change-Id: If808553aaaa87fdd44691f9787820ac9856d9f8a
This commit is contained in:
Родитель
6adbe09058
Коммит
ef2f27f10e
|
@ -309,8 +309,10 @@ void vp8_optimize_b(MACROBLOCK *mb, int ib, int type,
|
|||
eob = d->eob;
|
||||
|
||||
/* Now set up a Viterbi trellis to evaluate alternative roundings. */
|
||||
/* TODO: These should vary with the block type, since the quantizer does. */
|
||||
rdmult = (mb->rdmult << 2)*err_mult;
|
||||
if(mb->e_mbd.mode_info_context->mbmi.ref_frame==INTRA_FRAME)
|
||||
rdmult = (rdmult * 9)>>4;
|
||||
|
||||
rddiv = mb->rddiv;
|
||||
best_mask[0] = best_mask[1] = 0;
|
||||
/* Initialize the sentinel node of the trellis. */
|
||||
|
|
Загрузка…
Ссылка в новой задаче