shithub: libvpx

Download patch

ref: eb327e418ed05d4e6df23701c514607a940a9ca0
parent: 5226940ef2ae65ea324c82859557ebb39b023bae
author: Jingning Han <jingning@google.com>
date: Fri Aug 17 06:45:46 EDT 2018

Refactor init_gop_frame()

Remove implicit dependency on overlay frame update to break the
gop initialization loop.

Change-Id: I6a6d070cdf22a0e30c298523707bd746fd03f450

--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -5455,6 +5455,9 @@
   RefCntBuffer *frame_bufs = cm->buffer_pool->frame_bufs;
   int recon_frame_index[REFS_PER_FRAME + 1] = { -1, -1, -1, -1 };
 
+  // TODO(jingning): To be used later for gf frame type parsing.
+  (void)gf_group;
+
   for (i = 0; i < FRAME_BUFFERS && frame_idx < REFS_PER_FRAME + 1; ++i) {
     if (frame_bufs[i].ref_count == 0) {
       alloc_frame_mvs(cm, i);
@@ -5508,7 +5511,8 @@
 
     ++*tpl_group_frames;
     lst_index = frame_idx;
-    if (gf_group->update_type[frame_idx] == OVERLAY_UPDATE) break;
+
+    if (frame_idx == cpi->rc.baseline_gf_interval + 1) break;
   }
 
   gld_index = frame_idx;