Correct bit allocation when the alternative reference frame
authorPaul Wilkins <paulwilkins@google.com>
Tue, 25 May 2010 13:26:26 +0000 (14:26 +0100)
committerPaul Wilkins <paulwilkins@google.com>
Tue, 25 May 2010 13:26:26 +0000 (14:26 +0100)
is constructed from multiple source frames

Change-Id: I2e026c10d02b071b401c9fe8ab8dcfc0ac306103

vp8/encoder/ratectrl.c

index 7ab9605..23a2d1a 100644 (file)
@@ -1118,8 +1118,9 @@ void vp8_calc_pframe_target_size(VP8_COMP *cpi)
                     cpi->this_frame_target = (baseline_bits_at_q(1, Q, cpi->common.MBs) * cpi->last_boost) / 100;
 
             }
-            // If there is an active ARF at this location use the minimum bits on this frame
-            else
+            // If there is an active ARF at this location use the minimum
+            // bits on this frame unless it was a contructed arf.
+            else if (cpi->oxcf.arnr_max_frames == 0)
             {
                 cpi->this_frame_target = 0;           // Minimial spend on gf that is replacing an arf
             }