From: Jingning Han Date: Wed, 22 Aug 2018 17:31:18 +0000 (-0700) Subject: Sync prev_frame/last_show_frame update with decoder X-Git-Tag: v1.8.0~390^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1f4c8dcf14533ff5c16281fdd38c8890b77814de;p=libvpx Sync prev_frame/last_show_frame update with decoder Make the encoder side handling of prev_frame and last_show_frame update synchronized with the decoder behavior. Change-Id: I0f265391cba182d7cc266a1c327fe6b92e24ab17 --- diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index a057ecfbb..44683f04b 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -4972,7 +4972,10 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, size_t *size, cm->last_height = cm->height; // reset to normal state now that we are done. - if (!cm->show_existing_frame) cm->last_show_frame = cm->show_frame; + if (!cm->show_existing_frame) { + cm->last_show_frame = cm->show_frame; + cm->prev_frame = cm->cur_frame; + } if (cm->show_frame) { vp9_swap_mi_and_prev_mi(cm); @@ -4981,7 +4984,6 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, size_t *size, ++cm->current_video_frame; if (cpi->use_svc) vp9_inc_frame_in_layer(cpi); } - cm->prev_frame = cm->cur_frame; if (cpi->use_svc) { cpi->svc