diff options
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapidecoder_vc1.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_vc1.c b/gst-libs/gst/vaapi/gstvaapidecoder_vc1.c index fb72920a..0234c5c9 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_vc1.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_vc1.c @@ -797,7 +797,11 @@ fill_picture(GstVaapiDecoderVC1 *decoder, GstVaapiPicture *picture) case GST_VAAPI_PICTURE_TYPE_B: if (priv->next_picture) pic_param->backward_reference_picture = priv->next_picture->surface_id; - // fall-through + if (priv->prev_picture) + pic_param->forward_reference_picture = priv->prev_picture->surface_id; + else if (!priv->closed_entry) + GST_VAAPI_PICTURE_FLAG_SET(picture, GST_VAAPI_PICTURE_FLAG_SKIPPED); + break; case GST_VAAPI_PICTURE_TYPE_P: if (priv->prev_picture) pic_param->forward_reference_picture = priv->prev_picture->surface_id; |