From: Marco Paniconi Date: Fri, 3 Aug 2018 16:20:55 +0000 (-0700) Subject: vp9: Adjust qp_thresh on slide change overshoot detection X-Git-Tag: v1.8.0~452^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=89d23138d2a67a3e518d1026f87cdd5a9e1bee78;p=libvpx 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 --- 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 =