]> granicus.if.org Git - libvpx/commitdiff
Fix file input pointer bug in allocate_gf_group_bits().
authorpaulwilkins <paulwilkins@google.com>
Tue, 6 Feb 2018 13:54:25 +0000 (13:54 +0000)
committerpaulwilkins <paulwilkins@google.com>
Tue, 6 Feb 2018 14:02:33 +0000 (14:02 +0000)
The stats input pointer, when passed in, already points to the
frame after the golden frame so should not be advanced here.

This fix has a small mostly positive effect on results in our test sets
(tested using corpus vbr settings) and gives a gain of almost 0.5%
in overall psnr (plus slightly smaller gains on other metrics) for the
4K set.

The bug also caused a crash in calculate_group_score() in another
patch which allows coding of slides in a slide show as a single
long KF group without ARFs or GFs.

Change-Id: I57a3a24baf442ce55dbc91fba05e056697c63a6f

vp9/encoder/vp9_firstpass.c

index feff319eec8d94c3805e988e8e776cbf7bee8a86..b049c5eb2f92def3e4e620b9c93c417a19d9ec50 100644 (file)
@@ -2237,9 +2237,6 @@ static void allocate_gf_group_bits(VP9_COMP *cpi, int64_t gf_group_bits,
     }
     gf_group->arf_update_idx[0] = arf_buffer_indices[0];
     gf_group->arf_ref_idx[0] = arf_buffer_indices[0];
-
-    // Step over the golden frame / overlay frame
-    if (EOF == input_stats(twopass, &frame_stats)) return;
   }
 
   // Deduct the boost bits for arf (or gf if it is not a key frame)