1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-03 06:53:23 +02:00

ffmpeg: Favor filter graph based duration over ost->frame_rate in fps code

The fate change adds a last frame with a subtitle not displayed in the previous

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2015-01-16 20:43:57 +01:00
parent bf8bcd3b2b
commit a582705d15
2 changed files with 5 additions and 7 deletions

View File

@ -900,15 +900,12 @@ static void do_video_out(AVFormatContext *s,
if (ost->source_index >= 0)
ist = input_streams[ost->source_index];
if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->st->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num)
duration = 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base));
// We take the conservative approuch here and take the minimum even though
// this should be correct on its own but a value too small is harmless, one
// too big can lead to errors
if (filter->inputs[0]->frame_rate.num > 0 &&
filter->inputs[0]->frame_rate.den > 0)
duration = FFMIN(duration, 1/(av_q2d(filter->inputs[0]->frame_rate) * av_q2d(enc->time_base)));
duration = 1/(av_q2d(filter->inputs[0]->frame_rate) * av_q2d(enc->time_base));
if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->st->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num)
duration = FFMIN(duration, 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base)));
if (!ost->filters_script &&
!ost->filters &&

View File

@ -52,6 +52,7 @@
0, 47, 47, 1, 518400, 0xde69683f
0, 48, 48, 1, 518400, 0x7df08fba
0, 49, 49, 1, 518400, 0xbab197ea
0, 50, 50, 1, 518400, 0x902285d9
1, 15355, 15355, 4733, 2094, 0x3c171425, F=0x0
1, 48797, 48797, 2560, 2480, 0x7c0edf21, F=0x0
1, 51433, 51433, 2366, 3059, 0xc95b8a05, F=0x0