]> granicus.if.org Git - libvpx/commitdiff
Refactor init_gop_frame()
authorJingning Han <jingning@google.com>
Fri, 17 Aug 2018 17:45:46 +0000 (10:45 -0700)
committerJingning Han <jingning@google.com>
Fri, 17 Aug 2018 23:18:32 +0000 (16:18 -0700)
Remove implicit dependency on overlay frame update to break the
gop initialization loop.

Change-Id: I6a6d070cdf22a0e30c298523707bd746fd03f450

vp9/encoder/vp9_encoder.c

index df4fe7fd319c0f426fb34d9d20c0db9f98da1297..771bc0d42d70763cd1b2c3e3529fac10b9fc8492 100644 (file)
@@ -5455,6 +5455,9 @@ void init_gop_frames(VP9_COMP *cpi, GF_PICTURE *gf_picture,
   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 @@ void init_gop_frames(VP9_COMP *cpi, GF_PICTURE *gf_picture,
 
     ++*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;