shithub: libvpx

Download patch

ref: fe471693acbf0d5bb61018b38ea11bdc342eec08
parent: 93edc3db13c646069fad283caa8fbb0c8d45225a
author: Jingning Han <[email protected]>
date: Tue Oct 23 12:24:28 EDT 2018

Reset frame udpate flags after qp estimate in tpl

After the frame quantizer estimate run in tpl model, reset the
actual value assigned to the current coding frame. This would
avoid certain frame update flags being overwritten by different
frame types' update.

Change-Id: Idde2ba1108f1f68747b14149b211f882965c99f0

--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -1485,6 +1485,8 @@
   int bottom_index, top_index;
   int idx;
   const int gf_index = cpi->twopass.gf_group.index;
+  const int is_src_frame_alt_ref = cpi->rc.is_src_frame_alt_ref;
+  const int refresh_frame_context = cpi->common.refresh_frame_context;
 
   for (idx = 1; idx <= gop_length; ++idx) {
     TplDepFrame *tpl_frame = &cpi->tpl_stats[idx];
@@ -1498,6 +1500,8 @@
   }
   // Reset the actual index and frame update
   cpi->twopass.gf_group.index = gf_index;
+  cpi->rc.is_src_frame_alt_ref = is_src_frame_alt_ref;
+  cpi->common.refresh_frame_context = refresh_frame_context;
   vp9_configure_buffer_updates(cpi, gf_index);
 }