From: Sreerenj Balachandran Date: Wed, 21 Sep 2016 06:52:21 +0000 (+0300) Subject: encoder: vp9: Fix refresh frame flag setting X-Git-Tag: 1.19.3~503^2~1254 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=44a90c196ddce97519d99311983ac04631e43d58;p=platform%2Fupstream%2Fgstreamer.git 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 --- diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_vp9.c b/gst-libs/gst/vaapi/gstvaapiencoder_vp9.c index 6006f68..0069648 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_vp9.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_vp9.c @@ -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); *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