]> granicus.if.org Git - libvpx/commitdiff
Cleaning up vp9_twopass_postencode_update().
authorDmitry Kovalev <dkovalev@google.com>
Tue, 20 May 2014 21:44:02 +0000 (14:44 -0700)
committerDmitry Kovalev <dkovalev@google.com>
Tue, 20 May 2014 21:44:02 +0000 (14:44 -0700)
Change-Id: Id79138f2dd472ee95c784b0eb2781d4037c51dd8

vp9/encoder/vp9_firstpass.c

index c5562d578be506c8948ec570b50b97b44bb935a2..a7c527af4a2f2ecbb2b2c6c94fa519edd044795c 100644 (file)
@@ -2269,6 +2269,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
 }
 
 void vp9_twopass_postencode_update(VP9_COMP *cpi) {
+  TWO_PASS *const twopass = &cpi->twopass;
   RATE_CONTROL *const rc = &cpi->rc;
 #ifdef LONG_TERM_VBR_CORRECTION
   // In this experimental mode, the VBR correction is done exclusively through
@@ -2290,14 +2291,13 @@ void vp9_twopass_postencode_update(VP9_COMP *cpi) {
   // vs. actual bitrate gradually as we progress towards the end of the
   // sequence in order to mitigate this effect.
   const double progress =
-      (double)(cpi->twopass.stats_in - cpi->twopass.stats_in_start) /
-              (cpi->twopass.stats_in_end - cpi->twopass.stats_in_start);
+      (double)(twopass->stats_in - twopass->stats_in_start) /
+              (twopass->stats_in_end - twopass->stats_in_start);
   const int bits_used = (int)(progress * rc->this_frame_target +
                              (1.0 - progress) * rc->projected_frame_size);
 #endif
 
-  cpi->twopass.bits_left -= bits_used;
-  cpi->twopass.bits_left = MAX(cpi->twopass.bits_left, 0);
+  twopass->bits_left = MAX(twopass->bits_left - bits_used, 0);
 
 #ifdef LONG_TERM_VBR_CORRECTION
   if (cpi->common.frame_type != KEY_FRAME &&
@@ -2307,12 +2307,12 @@ void vp9_twopass_postencode_update(VP9_COMP *cpi) {
       vp9_is_upper_layer_key_frame(cpi)) {
     // For key frames kf_group_bits already had the target bits subtracted out.
     // So now update to the correct value based on the actual bits used.
-    cpi->twopass.kf_group_bits += cpi->rc.this_frame_target - bits_used;
+    twopass->kf_group_bits += rc->this_frame_target - bits_used;
   } else {
 #endif
-    cpi->twopass.kf_group_bits -= bits_used;
-    cpi->twopass.gf_group_bits -= bits_used;
-    cpi->twopass.gf_group_bits = MAX(cpi->twopass.gf_group_bits, 0);
+    twopass->kf_group_bits -= bits_used;
+    twopass->gf_group_bits -= bits_used;
+    twopass->gf_group_bits = MAX(twopass->gf_group_bits, 0);
   }
-  cpi->twopass.kf_group_bits = MAX(cpi->twopass.kf_group_bits, 0);
+  twopass->kf_group_bits = MAX(twopass->kf_group_bits, 0);
 }