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 */