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);
}