video: set interlaced flag correctly in frame

We only look at the interlaced buffer flag in mixed mode, in other modes we
always need to set the interlaced flag.
This commit is contained in:
Wim Taymans 2013-03-25 09:59:45 +01:00
parent f18d2a5a9a
commit 052a1d0f1e

View file

@ -107,8 +107,13 @@ gst_video_frame_map_id (GstVideoFrame * frame, GstVideoInfo * info,
/* 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))