VP8: Adjust rate correction factor for drop due to overshoot.
authorMarco <marpan@chromium.org>
Thu, 24 Sep 2015 22:15:29 +0000 (15:15 -0700)
committerMarco <marpan@chromium.org>
Thu, 24 Sep 2015 23:40:29 +0000 (16:40 -0700)
Change-Id: Id70ca2e18a46247720eb631ae13a8430bd8b0954

vp8/encoder/ratectrl.c

index f264222..63c8e68 100644 (file)
@@ -1596,6 +1596,10 @@ int vp8_drop_encodedframe_overshoot(VP8_COMP *cpi, int Q) {
       // Drop this frame: advance frame counters, and set force_maxqp flag.
       cpi->common.current_video_frame++;
       cpi->frames_since_key++;
+      // Adjust rate correction factor upwards.
+      cpi->rate_correction_factor *= 2.0;
+      if (cpi->rate_correction_factor > MAX_BPB_FACTOR)
+        cpi->rate_correction_factor = MAX_BPB_FACTOR;
       // Flag to indicate we will force next frame to be encoded at max QP.
       cpi->force_maxqp = 1;
       return 1;