diff options
-rw-r--r-- | sys/vdpau/gstvdpmpegdecoder.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vdpau/gstvdpmpegdecoder.c b/sys/vdpau/gstvdpmpegdecoder.c index 838b4e5a..cf8bfe54 100644 --- a/sys/vdpau/gstvdpmpegdecoder.c +++ b/sys/vdpau/gstvdpmpegdecoder.c @@ -183,7 +183,8 @@ gst_vdp_mpeg_decoder_decode (GstVdpMpegDecoder * mpeg_dec, outbuf = gst_vdp_video_buffer_new (dec->device, VDP_CHROMA_TYPE_420, dec->width, dec->height); GST_BUFFER_TIMESTAMP (outbuf) = timestamp; - if (mpeg_dec->vdp_info.forward_reference != VDP_INVALID_HANDLE) + if (mpeg_dec->vdp_info.forward_reference != VDP_INVALID_HANDLE && + mpeg_dec->vdp_info.picture_coding_type != I_FRAME) gst_vdp_video_buffer_add_reference (outbuf, GST_VDP_VIDEO_BUFFER (mpeg_dec->f_buffer)); if (mpeg_dec->vdp_info.backward_reference != VDP_INVALID_HANDLE) |