]> granicus.if.org Git - libvpx/commitdiff
Point show frame buffer towards existing frame buffer
authorJingning Han <jingning@google.com>
Tue, 21 Aug 2018 17:16:57 +0000 (10:16 -0700)
committerJingning Han <jingning@google.com>
Tue, 21 Aug 2018 17:29:04 +0000 (10:29 -0700)
When the show_existing_frame mode is on, directly point the new
frame pointer towards the existing reference frame buffer entry.

Change-Id: Ic50b25655fe95ea702fb529afacb7701ec17adcb

vp9/encoder/vp9_encoder.c

index 4862ffdbcaa49e4f932f20da329553b32a07b614..c1a33ec4edd8262cb0d2cd5be8a71d09d999c63c 100644 (file)
@@ -4829,6 +4829,13 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, size_t *size,
     encode_with_recode_loop(cpi, size, dest);
   }
 
+  // TODO(jingning): When using show existing frame mode, we assume that the
+  // current ARF will be directly used as the final reconstructed frame. This is
+  // an encoder control scheme. One could in principle explore other
+  // possibilities to arrange the reference frame buffer and their coding order.
+  if (cm->show_existing_frame)
+    cm->new_fb_idx = cm->ref_frame_map[cpi->alt_fb_idx];
+
   cpi->last_frame_dropped = 0;
   cpi->svc.last_layer_dropped[cpi->svc.spatial_layer_id] = 0;
   // Keep track of the frame buffer index updated/refreshed for the