summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_ratectrl.c
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2017-09-29 11:34:00 -0700
committerMarco <marpan@google.com>2017-10-03 16:27:17 -0700
commitab2bd340ace0e02285a821207e4080cbf0bbdce8 (patch)
treed0d9bf981f4d6802b2441dc9ddd25521dcaba223 /vp9/encoder/vp9_ratectrl.c
parent66b6b87471620a9eba2e7fb5e687b8f0e630be66 (diff)
downloadlibvpx-ab2bd340ace0e02285a821207e4080cbf0bbdce8.tar
libvpx-ab2bd340ace0e02285a821207e4080cbf0bbdce8.tar.gz
libvpx-ab2bd340ace0e02285a821207e4080cbf0bbdce8.tar.bz2
libvpx-ab2bd340ace0e02285a821207e4080cbf0bbdce8.zip
vp9: 1 pass vbr: Limit qpdelta on high_source_sad.
For 1 pass vbr: when significant content/scene change is detected (high_source_sad = 1) reduce/turnoff the additional qdelta on the active_worst_quality. This helps somewhat to reduce the occurrence of large frame sizes and large encode times. Allow it only when use_altef_onepass is enabled. Neutral/no change on metrics. Change-Id: I1dd97dd2ab892d65f707b841b27a5de300b714ea
Diffstat (limited to 'vp9/encoder/vp9_ratectrl.c')
-rw-r--r--vp9/encoder/vp9_ratectrl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index 716eb1bc8..e796b66e0 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -1004,6 +1004,7 @@ static int rc_pick_q_and_bounds_one_pass_vbr(const VP9_COMP *cpi,
qdelta = vp9_compute_qdelta_by_rate(
&cpi->rc, cm->frame_type, active_worst_quality, 1.75, cm->bit_depth);
}
+ if (rc->high_source_sad && cpi->sf.use_altref_onepass) qdelta = 0;
*top_index = active_worst_quality + qdelta;
*top_index = (*top_index > *bottom_index) ? *top_index : *bottom_index;
}