diff options
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapidecoder_vp9.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c b/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c index 0f6a300f..134a0317 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_vp9.c @@ -303,11 +303,7 @@ vaapi_fill_ref_frames (GstVaapiDecoderVp9 * decoder, GstVaapiPicture * picture, GstVaapiDecoderVp9Private *const priv = &decoder->priv; guint i; - if (frame_hdr->frame_type == GST_VP9_KEY_FRAME) { - for (i = 0; i < G_N_ELEMENTS (priv->ref_frames); i++) - pic_param->reference_frames[i] = picture->surface_id; - - } else { + if (frame_hdr->frame_type != GST_VP9_KEY_FRAME) { pic_param->pic_fields.bits.last_ref_frame = frame_hdr->ref_frame_indices[GST_VP9_REF_FRAME_LAST - 1]; pic_param->pic_fields.bits.last_ref_frame_sign_bias = @@ -321,6 +317,7 @@ vaapi_fill_ref_frames (GstVaapiDecoderVp9 * decoder, GstVaapiPicture * picture, 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] = priv->ref_frames[i] ? priv->ref_frames[i]->surface_id : VA_INVALID_SURFACE; |