diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2010-01-18 21:38:39 +0000 |
---|---|---|
committer | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2010-01-18 21:38:39 +0000 |
commit | c9566115271c58aa0e6f0734c9c0c674a583d293 (patch) | |
tree | e70b2c27b9c12a488b148d4a6bd40c3c71628ed2 /libavformat | |
parent | 5d54c12611ec11a02f49574013d83ce148b39347 (diff) | |
download | ffmpeg-c9566115271c58aa0e6f0734c9c0c674a583d293.tar.gz |
move aspect ratio code at the end of the track parsing, fix cathedral-beta2-400extra-crop-avc.mp4
Originally committed as revision 21301 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/mov.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index f662ff9dfd..45e0520e47 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -925,16 +925,6 @@ 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 */ @@ -1662,6 +1652,16 @@ static int mov_read_trak(MOVContext *c, ByteIOContext *pb, MOVAtom atom) } else sc->pb = c->fc->pb; + if (st->codec->codec_type == CODEC_TYPE_VIDEO && + (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; + } + switch (st->codec->codec_id) { #if CONFIG_H261_DECODER case CODEC_ID_H261: |