Set correct aspect ratio (it's sample aspect, not display aspect)
authorZuxy Meng <zuxy.meng@gmail.com>
Fri, 2 Feb 2007 14:33:25 +0000 (14:33 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Fri, 2 Feb 2007 14:33:25 +0000 (14:33 +0000)
Patch by Zuxy Meng
(mail = `echo "Zuxy Meng" | tr "[A-Z] " "[a-z]." | sed "s/$/@gmail.com/"`)

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

libavformat/asf.c

index 019aac3..81917eb 100644 (file)
@@ -482,11 +482,9 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
         int stream_num= asf->asfid2avid[i];
         if(stream_num>=0 && dar[i].num>0 && dar[i].den>0){
             AVCodecContext *codec= s->streams[stream_num]->codec;
-            codec->sample_aspect_ratio=
-                av_div_q(
-                    dar[i],
-                    (AVRational){codec->width, codec->height}
-                );
+            av_reduce(&codec->sample_aspect_ratio.num,
+                    &codec->sample_aspect_ratio.den,
+                    dar[i].num, dar[i].den, INT_MAX);
 //av_log(NULL, AV_LOG_ERROR, "dar %d:%d sar=%d:%d\n", dar[i].num, dar[i].den, codec->sample_aspect_ratio.num, codec->sample_aspect_ratio.den);
         }
     }