]> granicus.if.org Git - libvpx/commit
vp9: Allow for overshoot detection for non-screen CBR mode.
authorMarco Paniconi <marpan@google.com>
Wed, 8 Aug 2018 21:01:26 +0000 (14:01 -0700)
committerMarco Paniconi <marpan@google.com>
Fri, 10 Aug 2018 00:38:20 +0000 (17:38 -0700)
commit97848890a99af6604df13ec38c094a01aea40f0e
tree91ac92c7dc42b53e44ac0ac89fbe368b261650a8
parent69e9a3949870cdc3e18b93a4451867c18a3cf8fc
vp9: Allow for overshoot detection for non-screen CBR mode.

For CBR real-time mode: refactor usage of speed feature to
handle overshoot on slide/scene change. Add 2 modes to indicate
how slide/scene change is processed for re-setting Q/rate control.
Keep the speed setting to 1 for speed >= 5, otherwise set to 0.

Video content and screen content are now handled in similar way,
though with different thresholds.

Some fixes to thresholds and reset: correct the reset of the buffer
level to optimal level for each temporal layer, if scene change
frame will be encoded at max_q.

Also increase the min_thresh for video mode (non-screen content):
this is to avoid scene change detection on cases like large
lighting changes, cameras focus. And increase in min_thresh
makes it more robust to sudden increase in noise level.

Change-Id: I256d350da6e92d2ddc09f100fc06ac147cbc1e49
vp9/encoder/vp9_encoder.c
vp9/encoder/vp9_ratectrl.c
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_speed_features.h