summaryrefslogtreecommitdiffstats
path: root/sys/vdpau
diff options
context:
space:
mode:
authorCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2009-06-05 22:28:02 +0200
committerJan Schmidt <thaytan@noraisin.net>2009-06-20 15:21:44 +0100
commite9f028957d6036c5fc51f6111340e917554d3eff (patch)
treeadabeafe9e7cd980a0e459b01796bd8935965d8d /sys/vdpau
parent8619160ec89ac7c8aed300f1f644fc0f50a294e8 (diff)
downloadgst-plugins-bad-e9f028957d6036c5fc51f6111340e917554d3eff.tar.gz
gst-plugins-bad-e9f028957d6036c5fc51f6111340e917554d3eff.tar.bz2
gst-plugins-bad-e9f028957d6036c5fc51f6111340e917554d3eff.zip
vdpaumpegdec: set GST_BUFFER_FLAG_DELTA_UNIT on non I_FRAME's
Diffstat (limited to 'sys/vdpau')
-rw-r--r--sys/vdpau/gstvdpmpegdec.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/vdpau/gstvdpmpegdec.c b/sys/vdpau/gstvdpmpegdec.c
index b011833e..7eb05afa 100644
--- a/sys/vdpau/gstvdpmpegdec.c
+++ b/sys/vdpau/gstvdpmpegdec.c
@@ -369,8 +369,16 @@ gst_vdp_mpeg_dec_decode (GstVdpMpegDec * mpeg_dec,
GST_BUFFER_OFFSET (outbuf) = mpeg_dec->frame_nr;
GST_BUFFER_SIZE (outbuf) = size;
+ if (info->picture_coding_type == I_FRAME)
+ GST_BUFFER_FLAG_UNSET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT);
+ else
+ GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT);
+
if (info->top_field_first)
GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_TFF);
+ else
+ GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_TFF);
+
if (info->forward_reference != VDP_INVALID_HANDLE &&
info->picture_coding_type != I_FRAME)