1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

lavf: don't guess r_frame_rate from either stream or codec timebase.

Neither of those is guaranteed to be connected to framerate in any way
(if it even exists).

Fixes bug 56.
This commit is contained in:
Anton Khirnov 2011-11-28 21:57:06 +01:00
parent 13f6917ca9
commit 7929e22bde
2 changed files with 1 additions and 12 deletions

View File

@ -2390,17 +2390,6 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
if (num && (!st->r_frame_rate.num || (double)num/(12*1001) < 1.01 * av_q2d(st->r_frame_rate)))
av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den, num, 12*1001, INT_MAX);
}
if (!st->r_frame_rate.num){
if( st->codec->time_base.den * (int64_t)st->time_base.num
<= st->codec->time_base.num * st->codec->ticks_per_frame * (int64_t)st->time_base.den){
st->r_frame_rate.num = st->codec->time_base.den;
st->r_frame_rate.den = st->codec->time_base.num * st->codec->ticks_per_frame;
}else{
st->r_frame_rate.num = st->time_base.den;
st->r_frame_rate.den = st->time_base.num;
}
}
}else if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
if(!st->codec->bits_per_coded_sample)
st->codec->bits_per_coded_sample= av_get_bits_per_sample(st->codec->codec_id);

View File

@ -118,4 +118,4 @@
0, 48750000, 48750000, 0, 37440, 0xf0fe8c1c
0, 49170000, 49170000, 0, 37440, 0xc0036222
0, 49590000, 49590000, 0, 37440, 0x3058385c
0, 50006672, 50006672, 0, 37440, 0x68141016
0, 49798332, 49798332, 0, 37440, 0x68141016