Account for rate error in GF group Q calculation.
authorpaulwilkins <paulwilkins@google.com>
Fri, 20 Feb 2015 13:41:25 +0000 (13:41 +0000)
committerpaulwilkins <paulwilkins@google.com>
Mon, 23 Feb 2015 10:57:27 +0000 (10:57 +0000)
commit8d7f53f04c59471942aa46b3051495da3e973d0f
treedb59653ad6ded8683a0560e3f414ede3ce0020d2
parentf03627347edfc63fc4127af4cc2aa0f41a32fa91
Account for rate error in GF group Q calculation.

When GF group adaptive maxQ is enabled this patch accounts
somewhat for accumulated error in the rate control.

This improves accuracy quite a bit on many clips especially
when there is  overshoot.

Examples when the overshoot and undershoot command line
parameters are set to 100:

Hall @ 1200 overshoot is reduced from 67-24%.
Akiyo @ 400 undershoot is reduced from 28%-15%.

Setting a lower value for undershoot or overshoot still
reduces the error further.

Impact on metrics is mixed with some gains in average psnr
but generally a little lower (e.g. 0.5%) on overall and ssim.

The GF group adaptation is still off by default in this patch.
Compared to with the head, enabling this mode now gives
big average psnr gains on the YT sets (e.g. YT_HD >11.2%),
a drop in overall PSNR (YT-HD 3.9%) and a smaller drop or
neutral for SSIM.

Change-Id: If4b32cd0740d3fb941317b374f9c2951954eee90
vp9/encoder/vp9_firstpass.c
vp9/vp9_cx_iface.c