Mercurial > libavformat.hg
changeset 4278:5bf611a311b9 libavformat
reduce display aspect ratio
author | bcoudurier |
---|---|
date | Fri, 23 Jan 2009 20:20:36 +0000 |
parents | a5e558f1a64f |
children | 2402eb8c37ff |
files | mxfenc.c |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mxfenc.c Fri Jan 23 20:15:46 2009 +0000 +++ b/mxfenc.c Fri Jan 23 20:20:36 2009 +0000 @@ -558,6 +558,7 @@ { ByteIOContext *pb = s->pb; int stored_height = (st->codec->height+15)/16*16; + AVRational dar; mxf_write_generic_desc(pb, st, mxf_mpegvideo_descriptor_key); @@ -567,9 +568,14 @@ mxf_write_local_tag(pb, 4, 0x3202); put_be32(pb, stored_height); + av_reduce(&dar.num, &dar.den, + st->codec->width*st->codec->sample_aspect_ratio.num, + st->codec->height*st->codec->sample_aspect_ratio.den, + 1024*1024); + mxf_write_local_tag(pb, 8, 0x320E); - put_be32(pb, st->codec->height * st->sample_aspect_ratio.den); - put_be32(pb, st->codec->width * st->sample_aspect_ratio.num); + put_be32(pb, dar.num); + put_be32(pb, dar.den); } static void mxf_write_wav_desc(AVFormatContext *s, AVStream *st)