set stream aspect from mov tkhd width/height, patch by Andrew Wason, rectalogic at rectalogic dot com

Fixes issue 671.

Originally committed as revision 21210 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Andrew Wason 2010-01-14 00:32:36 +00:00 committed by Baptiste Coudurier
parent 49544546b0
commit ff5ab5c8c9
1 changed files with 10 additions and 0 deletions

View File

@ -925,6 +925,16 @@ 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 */