[FFmpeg-devel] MXF : default fied dominance is TFF
Gaullier Nicolas
nicolas.gaullier at arkena.com
Mon Sep 8 11:57:33 CEST 2014
The field dominance is an optional property in the MXF specifications. It shall be assumed to be 1 (top field first) if not present.
----
Nicolas
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 7a4633f..7517285 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -152,6 +152,7 @@ typedef struct {
#define MXF_TFF 1
#define MXF_BFF 2
int field_dominance;
+ int field_dominance_present;
int channels;
int bits_per_sample;
unsigned int component_depth;
@@ -872,6 +873,7 @@ static int mxf_read_generic_descriptor(void *arg, AVIOContext *pb, int tag, int
break;
case 0x3212:
descriptor->field_dominance = avio_r8(pb);
+ descriptor->field_dominance_present = 1;
break;
case 0x3301:
descriptor->component_depth = avio_rb32(pb);
@@ -1595,6 +1597,8 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
case MixedFields:
break;
case SeparateFields:
+ if (!descriptor->field_dominance_present)
+ descriptor->field_dominance = MXF_TFF;
switch (descriptor->field_dominance) {
case MXF_TFF:
st->codec->field_order = AV_FIELD_TT;
More information about the ffmpeg-devel
mailing list