In mov demuxer, only set sar if not already set, patch by Andrew Wason,
authorAndrew Wason <rectalogic@rectalogic.com>
Thu, 1 Jul 2010 23:18:27 +0000 (23:18 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 1 Jul 2010 23:18:27 +0000 (23:18 +0000)
rectalogic at rectalogic dot com
Fixes issue #1754

Originally committed as revision 23948 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 4921e55..b6feb68 100644 (file)
@@ -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) {
         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,
         }
 
         av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,