summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2019-01-31 15:19:45 -0800
committerMarco Paniconi <marpan@google.com>2019-01-31 15:26:53 -0800
commit63ceb97c0e4c0f23bd79f560bb703b698cf5899e (patch)
tree1b3e682c10ce0d4776a1a075885e626d0eabf921 /vp9
parent7593588eb1c7e786b62c5f21c081a4bfb1d00d4f (diff)
downloadlibvpx-63ceb97c0e4c0f23bd79f560bb703b698cf5899e.tar
libvpx-63ceb97c0e4c0f23bd79f560bb703b698cf5899e.tar.gz
libvpx-63ceb97c0e4c0f23bd79f560bb703b698cf5899e.tar.bz2
libvpx-63ceb97c0e4c0f23bd79f560bb703b698cf5899e.zip
vp9: Tune qp_thresh to disable cyclic refresh for screen
For screen-content mode, with aq-mode=3: increase the qp thresh for disabling the cyclic refresh. Improves bitrate convergence for content that has been static for long period. Change-Id: Ica63a741402923a611ab1b86c0900f75d2d5f941
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_aq_cyclicrefresh.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_aq_cyclicrefresh.c b/vp9/encoder/vp9_aq_cyclicrefresh.c
index a2a742493..ef8cd46b4 100644
--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -479,7 +479,8 @@ void vp9_cyclic_refresh_update_parameters(VP9_COMP *const cpi) {
double weight_segment_target = 0;
double weight_segment = 0;
int thresh_low_motion = (cm->width < 720) ? 55 : 20;
- int qp_thresh = VPXMIN(20, rc->best_quality << 1);
+ int qp_thresh = VPXMIN((cpi->oxcf.content == VP9E_CONTENT_SCREEN) ? 35 : 20,
+ rc->best_quality << 1);
cr->apply_cyclic_refresh = 1;
if (frame_is_intra_only(cm) || cpi->svc.temporal_layer_id > 0 ||
is_lossless_requested(&cpi->oxcf) ||