write display height/width tags
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 2 Feb 2009 03:35:09 +0000 (03:35 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 2 Feb 2009 03:35:09 +0000 (03:35 +0000)
Originally committed as revision 16927 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mxfenc.c

index ab05e00..b560fb9 100644 (file)
@@ -178,6 +178,8 @@ static const MXFLocalTagPair mxf_local_tag_batch[] = {
     { 0x320D, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x03,0x02,0x05,0x00,0x00,0x00}}, /* Video Line Map */
     { 0x3203, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x02,0x02,0x00,0x00,0x00}}, /* Stored Width */
     { 0x3202, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x02,0x01,0x00,0x00,0x00}}, /* Stored Height */
+    { 0x3209, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x01,0x0C,0x00,0x00,0x00}}, /* Display Width */
+    { 0x3208, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x01,0x0B,0x00,0x00,0x00}}, /* Display Height */
     { 0x320E, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x01,0x01,0x01,0x00,0x00,0x00}}, /* Aspect Ratio */
     { 0x3201, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x04,0x01,0x06,0x01,0x00,0x00,0x00,0x00}}, /* Picture Essence Coding */
     // Generic Sound Essence Descriptor
@@ -593,7 +595,7 @@ static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st)
     AVRational dar;
     int f1, f2;
 
-    mxf_write_generic_desc(pb, st, mxf_mpegvideo_descriptor_key, 133);
+    mxf_write_generic_desc(pb, st, mxf_mpegvideo_descriptor_key, 149);
 
     mxf_write_local_tag(pb, 4, 0x3203);
     put_be32(pb, st->codec->width);
@@ -601,6 +603,12 @@ static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st)
     mxf_write_local_tag(pb, 4, 0x3202);
     put_be32(pb, stored_height>>sc->interlaced);
 
+    mxf_write_local_tag(pb, 4, 0x3209);
+    put_be32(pb, st->codec->width);
+
+    mxf_write_local_tag(pb, 4, 0x3208);
+    put_be32(pb, st->codec->height>>sc->interlaced);
+
     // frame layout
     mxf_write_local_tag(pb, 1, 0x320C);
     put_byte(pb, sc->interlaced);