Merge "bug fix check frame buffer index before copy"

This commit is contained in:
John Koleszar 2011-05-27 12:35:06 -07:00 committed by Code Review
commit 4a4ade6dc8

View File

@ -3103,15 +3103,21 @@ void update_reference_frames(VP8_COMMON *cm)
if (cm->copy_buffer_to_arf == 1) if (cm->copy_buffer_to_arf == 1)
{ {
yv12_fb[cm->lst_fb_idx].flags |= VP8_ALT_FLAG; if(cm->alt_fb_idx != cm->lst_fb_idx)
yv12_fb[cm->alt_fb_idx].flags &= ~VP8_ALT_FLAG; {
cm->alt_fb_idx = cm->lst_fb_idx; yv12_fb[cm->lst_fb_idx].flags |= VP8_ALT_FLAG;
yv12_fb[cm->alt_fb_idx].flags &= ~VP8_ALT_FLAG;
cm->alt_fb_idx = cm->lst_fb_idx;
}
} }
else /* if (cm->copy_buffer_to_arf == 2) */ else /* if (cm->copy_buffer_to_arf == 2) */
{ {
yv12_fb[cm->gld_fb_idx].flags |= VP8_ALT_FLAG; if(cm->alt_fb_idx != cm->gld_fb_idx)
yv12_fb[cm->alt_fb_idx].flags &= ~VP8_ALT_FLAG; {
cm->alt_fb_idx = cm->gld_fb_idx; yv12_fb[cm->gld_fb_idx].flags |= VP8_ALT_FLAG;
yv12_fb[cm->alt_fb_idx].flags &= ~VP8_ALT_FLAG;
cm->alt_fb_idx = cm->gld_fb_idx;
}
} }
} }
@ -3129,15 +3135,21 @@ void update_reference_frames(VP8_COMMON *cm)
if (cm->copy_buffer_to_gf == 1) if (cm->copy_buffer_to_gf == 1)
{ {
yv12_fb[cm->lst_fb_idx].flags |= VP8_GOLD_FLAG; if(cm->gld_fb_idx != cm->lst_fb_idx)
yv12_fb[cm->gld_fb_idx].flags &= ~VP8_GOLD_FLAG; {
cm->gld_fb_idx = cm->lst_fb_idx; yv12_fb[cm->lst_fb_idx].flags |= VP8_GOLD_FLAG;
yv12_fb[cm->gld_fb_idx].flags &= ~VP8_GOLD_FLAG;
cm->gld_fb_idx = cm->lst_fb_idx;
}
} }
else /* if (cm->copy_buffer_to_gf == 2) */ else /* if (cm->copy_buffer_to_gf == 2) */
{ {
yv12_fb[cm->alt_fb_idx].flags |= VP8_GOLD_FLAG; if(cm->alt_fb_idx != cm->gld_fb_idx)
yv12_fb[cm->gld_fb_idx].flags &= ~VP8_GOLD_FLAG; {
cm->gld_fb_idx = cm->alt_fb_idx; yv12_fb[cm->alt_fb_idx].flags |= VP8_GOLD_FLAG;
yv12_fb[cm->gld_fb_idx].flags &= ~VP8_GOLD_FLAG;
cm->gld_fb_idx = cm->alt_fb_idx;
}
} }
} }
} }