va: h265dec: Do not add non reference frames into ref list.

The VA's ReferenceFrames should only contain the reference frame, we
should not add the non reference frames into this list.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2414>
This commit is contained in:
He Junyan 2021-07-16 13:21:11 +08:00
parent 26fe552707
commit 6a9f84a2de

View file

@ -754,9 +754,16 @@ gst_va_h265_dec_start_picture (GstH265Decoder * decoder,
/* reference frames */
{
GArray *ref_list = gst_h265_dpb_get_pictures_all (dpb);
for (i = 0; i < 15 && i < ref_list->len; i++) {
GstH265Picture *pic = g_array_index (ref_list, GstH265Picture *, i);
_fill_vaapi_pic (decoder, &pic_param->base.ReferenceFrames[i], pic);
guint j;
i = 0;
for (j = 0; j < 15 && j < ref_list->len; j++) {
GstH265Picture *pic = g_array_index (ref_list, GstH265Picture *, j);
if (pic->ref) {
_fill_vaapi_pic (decoder, &pic_param->base.ReferenceFrames[i], pic);
i++;
}
}
g_array_unref (ref_list);