]> granicus.if.org Git - libvpx/commitdiff
Set refresh_frame_context flag off in show_existing_frame mode
authorJingning Han <jingning@google.com>
Wed, 22 Aug 2018 16:36:12 +0000 (09:36 -0700)
committerJingning Han <jingning@google.com>
Wed, 22 Aug 2018 16:36:12 +0000 (09:36 -0700)
Match the decoder expectation, set off refresh_fame_context flag
in show_existing_frame mode.

Change-Id: I5258635b715ea04f41a4a087178709f707449b71

vp9/encoder/vp9_ratectrl.c

index c7ccec49218ca10085ffa78a9610831d5df45d82..4e2fc3e3f9480e594898ef70c5fd6a9d40230f8b 100644 (file)
@@ -1421,9 +1421,11 @@ int vp9_rc_pick_q_and_bounds(const VP9_COMP *cpi, int *bottom_index,
 }
 
 void vp9_configure_buffer_updates(VP9_COMP *cpi, int gf_group_index) {
+  VP9_COMMON *cm = &cpi->common;
   TWO_PASS *const twopass = &cpi->twopass;
 
   cpi->rc.is_src_frame_alt_ref = 0;
+  cm->show_existing_frame = 0;
   switch (twopass->gf_group.update_type[gf_group_index]) {
     case KF_UPDATE:
       cpi->refresh_last_frame = 1;
@@ -1451,6 +1453,8 @@ void vp9_configure_buffer_updates(VP9_COMP *cpi, int gf_group_index) {
       cpi->refresh_golden_frame = 0;
       cpi->refresh_alt_ref_frame = 0;
       cpi->rc.is_src_frame_alt_ref = 1;
+      cm->show_existing_frame = 1;
+      cm->refresh_frame_context = 0;
       break;
     default:
       assert(twopass->gf_group.update_type[gf_group_index] == ARF_UPDATE);