diff options
-rw-r--r-- | libavformat/mov.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 4921e55c82..b6feb68f82 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1802,13 +1802,10 @@ static int mov_read_trak(MOVContext *c, ByteIOContext *pb, MOVAtom atom) sc->pb = c->fc->pb; if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { - 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; + if (!st->sample_aspect_ratio.num && + (st->codec->width != sc->width || st->codec->height != sc->height)) { + st->sample_aspect_ratio = av_d2q(((double)st->codec->height * sc->width) / + ((double)st->codec->width * sc->height), INT_MAX); } av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den, |