summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_ratectrl.c
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2018-08-03 09:20:55 -0700
committerMarco Paniconi <marpan@google.com>2018-08-03 09:29:16 -0700
commit89d23138d2a67a3e518d1026f87cdd5a9e1bee78 (patch)
treefac012814b86e1cf78dc6f47e745f3554e1cb377 /vp9/encoder/vp9_ratectrl.c
parent5f914dd902b8414d7d4d8c21d0be96059f2c5103 (diff)
downloadlibvpx-89d23138d2a67a3e518d1026f87cdd5a9e1bee78.tar
libvpx-89d23138d2a67a3e518d1026f87cdd5a9e1bee78.tar.gz
libvpx-89d23138d2a67a3e518d1026f87cdd5a9e1bee78.tar.bz2
libvpx-89d23138d2a67a3e518d1026f87cdd5a9e1bee78.zip
vp9: Adjust qp_thresh on slide change overshoot detection
For real-time screen-content mode: increase the qp_thresh for max_Q setting on slide changes. This will make bitrate spikes less likely on slide changes. Change-Id: Ie13524a06490214456b1c9c042a864ea0d0750c5
Diffstat (limited to 'vp9/encoder/vp9_ratectrl.c')
-rw-r--r--vp9/encoder/vp9_ratectrl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index 47669a049..1ec696517 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -2820,7 +2820,7 @@ int vp9_encodedframe_overshoot(VP9_COMP *cpi, int frame_size, int *q) {
// If this decision is not based on an encoded frame size but just on
// scene/slide change detection (i.e., re_encode_overshoot_rt = 0), adjust the
// qp_thresh and skip the (frame_size > thresh_rate) condition in this case.
- if (!sf->re_encode_overshoot_rt) thresh_qp = rc->worst_quality >> 1;
+ if (!sf->re_encode_overshoot_rt) thresh_qp = 3 * (rc->worst_quality >> 2);
if ((!sf->re_encode_overshoot_rt || frame_size > thresh_rate) &&
cm->base_qindex < thresh_qp) {
double rate_correction_factor =