Improved 1-pass CBR rate control
authorJohn Koleszar <jkoleszar@google.com>
Wed, 29 Jun 2011 15:41:50 +0000 (11:41 -0400)
committerJohn Koleszar <jkoleszar@google.com>
Mon, 18 Jul 2011 15:48:05 +0000 (11:48 -0400)
commitb5ea2fbc2c1554769848774c836aad262af95072
tree049ad49c51cdfdfa11d4c958c88797eddcb8e56f
parent74ad25a4c6224b04cb85256ba0b81a5fc9b03041
Improved 1-pass CBR rate control

This patch attempts to improve the handling of CBR streams with
respect to the short term buffering requirements. The "buffer level"
is changed to be an average over the rc buffer, rather than a long
running average. Overshoot is also tracked over the same interval
and the golden frame targets suppressed accordingly to correct for
overly aggressive boosting.

Testing shows that this is fairly consistently positive in one
metric or another -- some clips that show significant decreases
in quality have better buffering characteristics, others show
improvenents in both.

Change-Id: I924c89aa9bdb210271f2e03311e63de3f1f8f920
vp8/common/onyxd.h
vp8/encoder/firstpass.c
vp8/encoder/onyx_if.c
vp8/encoder/onyx_int.h
vp8/encoder/ratectrl.c