From 44a90c196ddce97519d99311983ac04631e43d58 Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Wed, 21 Sep 2016 09:52:21 +0300 Subject: [PATCH] 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 --- gst-libs/gst/vaapi/gstvaapiencoder_vp9.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_vp9.c b/gst-libs/gst/vaapi/gstvaapiencoder_vp9.c index 6006f682db..0069648ce6 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