From f6518e51b8ed9909bb70ddeae24cff2a15bfa391 Mon Sep 17 00:00:00 2001 From: Matthieu Bouron Date: Wed, 22 Jul 2015 15:29:42 +0200 Subject: [PATCH] lavf/mxfdec: support segmented frame layout as separate fields layout According to S377M, segmented frame layout is identical to separate field layout except that the two fields are taken from a single scan of the incoming image, ie: they are coincident in time. Thus the resulting frame is progressive. Signed-off-by: Michael Niedermayer --- libavformat/mxfdec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 2e46b0eaec..2d921dbd68 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -2002,10 +2002,6 @@ static int mxf_parse_structural_metadata(MXFContext *mxf) st->codec->width = descriptor->width; st->codec->height = descriptor->height; /* Field height, not frame height */ switch (descriptor->frame_layout) { - case SegmentedFrame: - /* This one is a weird layout I don't fully understand. */ - av_log(mxf->fc, AV_LOG_INFO, "SegmentedFrame layout isn't currently supported\n"); - break; case FullFrame: st->codec->field_order = AV_FIELD_PROGRESSIVE; break; @@ -2017,6 +2013,8 @@ static int mxf_parse_structural_metadata(MXFContext *mxf) It's also for compatibility with the old behavior. */ case MixedFields: break; + case SegmentedFrame: + st->codec->field_order = AV_FIELD_PROGRESSIVE; case SeparateFields: switch (descriptor->field_dominance) { case MXF_TFF: