encoder: vp9: Fix refresh frame flag setting

While doing the mode-1 referece picture selection,
the circular buffer logic was not correctly setting the
refresh frame flags as per VP9 spec.
Make sure refresh_flag[0] get updated correclty after
each cycle of GST_VP9_REF_FRAMES.

https://bugzilla.gnome.org/show_bug.cgi?id=771507
This commit is contained in:
Sreerenj Balachandran 2016-09-21 09:52:21 +03:00
parent 9afa0ce471
commit 44a90c196d

View file

@ -228,7 +228,7 @@ get_ref_indices (guint ref_pic_mode, guint ref_list_idx, guint * last_idx,
*gf_idx = (last_filled_idx - 1) & (GST_VP9_REF_FRAMES - 1); *gf_idx = (last_filled_idx - 1) & (GST_VP9_REF_FRAMES - 1);
*arf_idx = (last_filled_idx - 2) & (GST_VP9_REF_FRAMES - 1); *arf_idx = (last_filled_idx - 2) & (GST_VP9_REF_FRAMES - 1);
*refresh_frame_flags = 1 << (*last_idx + 1); *refresh_frame_flags = 1 << ((*last_idx + 1) % GST_VP9_REF_FRAMES);
} }
GST_LOG GST_LOG