summaryrefslogtreecommitdiff
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2009-12-13 15:52:11 +0000
committerMichael Niedermayer <michaelni@gmx.at>2009-12-13 15:52:11 +0000
commit02b398ef4957ec5d8278043218977a3ecccd9297 (patch)
tree9a01210d1e1dd956404e388b2978267a9a9e6766 /libavformat/utils.c
parent1261b07f5f3965cbaf2562ebfa71ed951140bd7c (diff)
Add avg_frame_rate.
Originally committed as revision 20826 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r--libavformat/utils.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 98f391658a..d55b0c52ce 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2223,6 +2223,10 @@ int av_find_stream_info(AVFormatContext *ic)
}
for(i=0;i<ic->nb_streams;i++) {
st = ic->streams[i];
+ if(codec_info_nb_frames[i]>2)
+ av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
+ (codec_info_nb_frames[i]-2)*(int64_t)st->time_base.den,
+ codec_info_duration[i] *(int64_t)st->time_base.num, 60000);
if (st->codec->codec_type == CODEC_TYPE_VIDEO) {
if(st->codec->codec_id == CODEC_ID_RAWVIDEO && !st->codec->codec_tag && !st->codec->bits_per_coded_sample)
st->codec->codec_tag= avcodec_pix_fmt_to_codec_tag(st->codec->pix_fmt);
@@ -2900,6 +2904,8 @@ static void dump_stream_format(AVFormatContext *ic, int i, int index, int is_out
display_aspect_ratio.num, display_aspect_ratio.den);
}
if(st->codec->codec_type == CODEC_TYPE_VIDEO){
+ if(st->avg_frame_rate.den && st->avg_frame_rate.num)
+ print_fps(av_q2d(st->avg_frame_rate), "fps");
if(st->r_frame_rate.den && st->r_frame_rate.num)
print_fps(av_q2d(st->r_frame_rate), "tbr");
if(st->time_base.den && st->time_base.num)