You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +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:
@@ -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);
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user