From b387081a4d77d3da202da72686ab40fb9c83ee1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Fri, 19 Jun 2020 10:44:50 +0200 Subject: [PATCH] libs: decoder: h264, h265: in context at least 16 reference surfaces Registering only stream's DBP size number of surfaces for decoding VA surfaces brings issues for certain streams. This change register all possible number of reference surfaces in a stream, which is 16. Fixes: #94 --- gst-libs/gst/vaapi/gstvaapidecoder_h264.c | 2 +- gst-libs/gst/vaapi/gstvaapidecoder_h265.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_h264.c b/gst-libs/gst/vaapi/gstvaapidecoder_h264.c index 83b05c45e4..7dd7ed7fee 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_h264.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_h264.c @@ -1623,7 +1623,7 @@ ensure_context (GstVaapiDecoderH264 * decoder, GstH264SPS * sps) info.chroma_type = priv->chroma_type; info.width = sps->width; info.height = sps->height; - info.ref_frames = dpb_size; + info.ref_frames = 16; if (!gst_vaapi_decoder_ensure_context (GST_VAAPI_DECODER (decoder), &info)) return GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN; diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_h265.c b/gst-libs/gst/vaapi/gstvaapidecoder_h265.c index 024d71421b..cd718f424d 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_h265.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_h265.c @@ -1201,7 +1201,7 @@ ensure_context (GstVaapiDecoderH265 * decoder, GstH265SPS * sps) info.chroma_type = priv->chroma_type; info.width = sps->width; info.height = sps->height; - info.ref_frames = dpb_size; + info.ref_frames = 16; if (!gst_vaapi_decoder_ensure_context (GST_VAAPI_DECODER (decoder), &info)) return GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN;