Commit 9c8ad79f authored by Fritz Koenig's avatar Fritz Koenig

Set refresh_alt_ref_frame on keyframe encode.

On a keyframe alt ref and golden are refreshed.  The flag was
not being set and so on the frame after a keyframe, motion
search would occur on the alt ref frame.  This is not necessary
because the alt ref frame identical to the last frame in this
scenario.

Handle corner case where a forward alt-ref frame is put
directly after a keyframe.

Change-Id: I9be4cf290d694f8cf2f9a31852014b5ccf1504d3
parent fd9f9dc0
......@@ -4583,7 +4583,7 @@ static void encode_frame_to_data_rate
}
else
{
if (cpi->oxcf.play_alternate && cpi->common.refresh_alt_ref_frame)
if (cpi->oxcf.play_alternate && cpi->common.refresh_alt_ref_frame && (cpi->common.frame_type != KEY_FRAME))
// Update the alternate reference frame and stats as appropriate.
update_alt_ref_frame_and_stats(cpi);
else
......
......@@ -326,6 +326,7 @@ void vp8_setup_key_frame(VP8_COMP *cpi)
cpi->frames_till_gf_update_due = cpi->goldfreq;
cpi->common.refresh_golden_frame = TRUE;
cpi->common.refresh_alt_ref_frame = TRUE;
}
void vp8_calc_auto_iframe_target_size(VP8_COMP *cpi)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment