/* buffer flags enhance the frame flags */
if (GST_VIDEO_INFO_IS_INTERLACED (info)) {
- if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_INTERLACED))
+ if (GST_VIDEO_INFO_INTERLACE_MODE (info) == GST_VIDEO_INTERLACE_MODE_MIXED) {
+ if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_INTERLACED)) {
+ frame->flags |= GST_VIDEO_FRAME_FLAG_INTERLACED;
+ }
+ } else
frame->flags |= GST_VIDEO_FRAME_FLAG_INTERLACED;
+
if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_TFF))
frame->flags |= GST_VIDEO_FRAME_FLAG_TFF;
if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_RFF))