Mercurial > libavformat.hg
changeset 5546:4f6eb8fc81ec libavformat
set stream aspect from mov tkhd width/height, patch by Andrew Wason, rectalogic at rectalogic dot com
Fixes issue 671.
author | bcoudurier |
---|---|
date | Thu, 14 Jan 2010 00:32:36 +0000 |
parents | 3a5082b94ab3 |
children | ba6b1ac2bab6 |
files | mov.c |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mov.c Wed Jan 13 23:33:29 2010 +0000 +++ b/mov.c Thu Jan 14 00:32:36 2010 +0000 @@ -925,6 +925,16 @@ 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 */