va: h265dec: Fix a crash because of missing reference frame.

Some problematic H265 stream may miss the reference frame in the DPB,
and get some message like: "No short term reference picture for xxx".
So there may be empty entries in ref_pic_list0/1 when passing to
decode_slice() function of sub class. We need to check the NULL pointer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2647>
This commit is contained in:
He Junyan 2022-03-24 21:39:30 +08:00 committed by Tim-Philipp Müller
parent c77e8c1407
commit 3d160f4c9b

View file

@ -315,6 +315,9 @@ _get_reference_index (GstH265Decoder * decoder, GstH265Picture * picture)
GstVaH265Dec *self = GST_VA_H265_DEC (decoder);
guint8 i;
if (!picture)
return 0xFF;
for (i = 0; i < 15; i++) {
VAPictureHEVC *ref_va_pic = &self->pic_param.base.ReferenceFrames[i];