summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2009-05-05 18:45:07 +0200
committerJan Schmidt <thaytan@noraisin.net>2009-06-20 15:21:38 +0100
commit42d90ddfa3b25222ed9b37d7e0ba2030715ee8be (patch)
treea676f98657cf219ce43fd52f3964dae0ca1ed960 /sys
parente416f5f5e095300d41d7bd22cdc517df29924bf4 (diff)
downloadgst-plugins-bad-42d90ddfa3b25222ed9b37d7e0ba2030715ee8be.tar.gz
gst-plugins-bad-42d90ddfa3b25222ed9b37d7e0ba2030715ee8be.tar.bz2
gst-plugins-bad-42d90ddfa3b25222ed9b37d7e0ba2030715ee8be.zip
vdpaumpegdec: don't add forward_reference if the frame is an I_FRAME
Diffstat (limited to 'sys')
-rw-r--r--sys/vdpau/gstvdpmpegdecoder.c3
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)