mpeg2dec: update for new interlaced flags
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 19 Dec 2011 17:20:56 +0000 (18:20 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 19 Dec 2011 17:20:56 +0000 (18:20 +0100)
ext/mpeg2dec/gstmpeg2dec.c

index e74f328..187a8c3 100644 (file)
@@ -499,7 +499,9 @@ handle_sequence (GstMpeg2dec * mpeg2dec, const mpeg2_info_t * info)
   mpeg2dec->frame_period = sequence->frame_period * GST_USECOND / 27;
 
   if (!(sequence->flags & SEQ_FLAG_PROGRESSIVE_SEQUENCE))
-    vinfo.flags |= GST_VIDEO_FLAG_INTERLACED;
+    vinfo.interlace_mode = GST_VIDEO_INTERLACE_MODE_MIXED;
+  else
+    vinfo.interlace_mode = GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
 
   vinfo.chroma_site = GST_VIDEO_CHROMA_SITE_MPEG2;
   vinfo.colorimetry.range = GST_VIDEO_COLOR_RANGE_16_235;
@@ -893,6 +895,9 @@ handle_slice (GstMpeg2dec * mpeg2dec, const mpeg2_info_t * info)
   }
   mpeg2dec->next_time += GST_BUFFER_DURATION (outbuf);
 
+  if (!(picture->flags & PIC_FLAG_PROGRESSIVE_FRAME))
+    GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
+
   if (picture->flags & PIC_FLAG_TOP_FIELD_FIRST)
     GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);