Mercurial > libavformat.hg
diff mov.c @ 5562:5d938dd16b34 libavformat
set average frame rate in mov demuxer
author | bcoudurier |
---|---|
date | Mon, 18 Jan 2010 23:56:04 +0000 |
parents | 067c0af56a4c |
children | 9baa7b82a840 |
line wrap: on
line diff
--- a/mov.c Mon Jan 18 21:38:39 2010 +0000 +++ b/mov.c Mon Jan 18 23:56:04 2010 +0000 @@ -1652,14 +1652,18 @@ } else sc->pb = c->fc->pb; - if (st->codec->codec_type == CODEC_TYPE_VIDEO && - (st->codec->width != sc->width || st->codec->height != sc->height)) { + if (st->codec->codec_type == CODEC_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; + } + + av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den, + sc->time_scale*st->nb_frames, st->duration, INT_MAX); } switch (st->codec->codec_id) {