From ff5ab5c8c9b87908639861a6d29d6cf330c4ed56 Mon Sep 17 00:00:00 2001 From: Andrew Wason Date: Thu, 14 Jan 2010 00:32:36 +0000 Subject: [PATCH] set stream aspect from mov tkhd width/height, patch by Andrew Wason, rectalogic at rectalogic dot com Fixes issue 671. Originally committed as revision 21210 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mov.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 50a5e789ca..f662ff9dfd 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -925,6 +925,16 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOVAtom atom) st->codec->width = get_be16(pb); /* width */ st->codec->height = get_be16(pb); /* height */ + if (st->codec->width != sc->width || st->codec->height != sc->height) { + AVRational r = av_d2q( + ((double)st->codec->height * sc->width) / + ((double)st->codec->width * sc->height), INT_MAX); + if (st->sample_aspect_ratio.num) + st->sample_aspect_ratio = av_mul_q(st->sample_aspect_ratio, r); + else + st->sample_aspect_ratio = r; + } + get_be32(pb); /* horiz resolution */ get_be32(pb); /* vert resolution */ get_be32(pb); /* data size, always 0 */