diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2007-01-02 20:32:01 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2007-01-02 20:32:01 +0000 |
commit | 1694118b9b30f20af188a0b79f74edeb8f202b77 (patch) | |
tree | 4a22e8b4ffd8dcd0e07677f0265aa8e63285c3d9 | |
parent | 396a5e6837a233f96772d9f6b3e765749c794467 (diff) | |
download | ffmpeg-1694118b9b30f20af188a0b79f74edeb8f202b77.tar.gz |
nth try of getting the frame rate detecton working
Originally committed as revision 7402 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/utils.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index 9aa97480ad..5483f4c5b9 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1895,14 +1895,14 @@ int av_find_stream_info(AVFormatContext *ic) // if(st->codec->codec_type == CODEC_TYPE_VIDEO) // av_log(NULL, AV_LOG_ERROR, "%f\n", dur); - if(duration_count[index] > 0){ + if(duration_count[index] < 2) + memset(duration_error, 0, sizeof(duration_error)); for(i=1; i<MAX_STD_TIMEBASES; i++){ int framerate= get_std_framerate(i); int ticks= lrintf(dur*framerate/(1001*12)); double error= dur - ticks*1001*12/(double)framerate; duration_error[index][i] += error*error; } - } duration_count[index]++; if(st->codec_info_nb_frames == 0 && 0) @@ -1960,7 +1960,7 @@ int av_find_stream_info(AVFormatContext *ic) if(st->codec->codec_id == CODEC_ID_RAWVIDEO && !st->codec->codec_tag && !st->codec->bits_per_sample) st->codec->codec_tag= avcodec_pix_fmt_to_codec_tag(st->codec->pix_fmt); - if(1 + if(duration_count[i] && (st->codec->time_base.num*101LL <= st->codec->time_base.den || st->codec->codec_id == CODEC_ID_MPEG2VIDEO) /*&& //FIXME we should not special case mpeg2, but this needs testing with non mpeg2 ... st->time_base.num*duration_sum[i]/duration_count[i]*101LL > st->time_base.den*/){ |