From a24918037d3d3638ad785bde2a334e29d2a656a1 Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Tue, 17 Nov 2015 19:37:07 +0200 Subject: [PATCH] decoder: vp9: Fix last/golden/altref frame index setting Always fill VADecPictureParameterBufferVP9 last/golden/altref indices based on what ever reference frame indices encoded in frame header. --- gst-libs/gst/vaapi/gstvaapidecoder_vp9.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c b/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c index 3dbc0fb..055ac09 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c @@ -226,17 +226,14 @@ vaapi_fill_ref_frames (GstVaapiDecoderVp9 * decoder, GstVaapiPicture * picture, frame_hdr->ref_frame_indices[GST_VP9_REF_FRAME_LAST - 1]; pic_param->pic_fields.bits.last_ref_frame_sign_bias = frame_hdr->ref_frame_sign_bias[GST_VP9_REF_FRAME_LAST - 1]; - - if (frame_hdr->ref_frame_indices[1]) { - pic_param->pic_fields.bits.golden_ref_frame = - frame_hdr->ref_frame_indices[GST_VP9_REF_FRAME_GOLDEN - 1]; - pic_param->pic_fields.bits.golden_ref_frame_sign_bias = - frame_hdr->ref_frame_sign_bias[GST_VP9_REF_FRAME_GOLDEN - 1]; - pic_param->pic_fields.bits.alt_ref_frame = - frame_hdr->ref_frame_indices[GST_VP9_REF_FRAME_ALTREF - 1]; - pic_param->pic_fields.bits.alt_ref_frame_sign_bias = - frame_hdr->ref_frame_sign_bias[GST_VP9_REF_FRAME_ALTREF - 1]; - } + pic_param->pic_fields.bits.golden_ref_frame = + frame_hdr->ref_frame_indices[GST_VP9_REF_FRAME_GOLDEN - 1]; + pic_param->pic_fields.bits.golden_ref_frame_sign_bias = + frame_hdr->ref_frame_sign_bias[GST_VP9_REF_FRAME_GOLDEN - 1]; + pic_param->pic_fields.bits.alt_ref_frame = + frame_hdr->ref_frame_indices[GST_VP9_REF_FRAME_ALTREF - 1]; + pic_param->pic_fields.bits.alt_ref_frame_sign_bias = + frame_hdr->ref_frame_sign_bias[GST_VP9_REF_FRAME_ALTREF - 1]; } for (i = 0; i < G_N_ELEMENTS (priv->ref_frames); i++) { pic_param->reference_frames[i] = -- 2.7.4