shithub: libvpx

Download patch

ref: a925173da0244d81db91c98f603751c951fdf547
parent: 19de4d9408b0ccc8af888c4537e421529648c954
author: Marco <[email protected]>
date: Wed Jan 20 12:44:02 EST 2016

vp9-aqmode=3: Reduce condition below which we turn off delta-qp.

Add TODO to consider turning-off more smoothly.

Change-Id: Id6dd4c5c515f5b09c388af965eb27dbe24924362

--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -60,6 +60,8 @@
 }
 
 // Check if we should turn off cyclic refresh based on bitrate condition.
+// TODO(marpan): May be better in some cases to just reduce the amount/delta-qp
+// instead of completely shutting off.
 static int apply_cyclic_refresh_bitrate(const VP9_COMMON *cm,
                                         const RATE_CONTROL *rc) {
   // Turn off cyclic refresh if bits available per frame is not sufficiently
@@ -67,10 +69,10 @@
   // with number of seg blocks, so compare available bits to number of blocks.
   // Average bits available per frame = avg_frame_bandwidth
   // Number of (8x8) blocks in frame = mi_rows * mi_cols;
-  const float factor = 0.25;
+  const float factor = 0.15;
   const int number_blocks = cm->mi_rows  * cm->mi_cols;
   // The condition below corresponds to turning off at target bitrates:
-  // (at 30fps), ~12kbps for CIF, 36kbps for VGA, 100kps for HD/720p.
+  // (at 30fps), ~8kbps for CIF, 20kbps for VGA, 60kps for HD/720p.
   // Also turn off at very small frame sizes, to avoid too large fraction of
   // superblocks to be refreshed per frame. Threshold below is less than QCIF.
   if (rc->avg_frame_bandwidth < factor * number_blocks ||