diff options
author | Andrew Wason <rectalogic@rectalogic.com> | 2010-07-01 23:18:27 +0000 |
---|---|---|
committer | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2010-07-01 23:18:27 +0000 |
commit | 525fcb2798bf61d7850a56e9d92412a798c66b9a (patch) | |
tree | 5cd2a1d0d675af49855381038b09304f55717252 /libavformat | |
parent | 7d6096e42e2ee0794cc8eaeb27eba164ba0782a2 (diff) | |
download | ffmpeg-streaming-525fcb2798bf61d7850a56e9d92412a798c66b9a.zip ffmpeg-streaming-525fcb2798bf61d7850a56e9d92412a798c66b9a.tar.gz |
In mov demuxer, only set sar if not already set, patch by Andrew Wason,
rectalogic at rectalogic dot com
Fixes issue #1754
Originally committed as revision 23948 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-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 4921e55..b6feb68 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, |