Browse Source

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>
tags/n2.6
Michael Niedermayer 10 years ago
parent
commit
a582705d15
2 changed files with 5 additions and 7 deletions
  1. +4
    -7
      ffmpeg.c
  2. +1
    -0
      tests/ref/fate/sub2video

+ 4
- 7
ffmpeg.c View File

@@ -900,15 +900,12 @@ static void do_video_out(AVFormatContext *s,
if (ost->source_index >= 0) if (ost->source_index >= 0)
ist = input_streams[ost->source_index]; 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 && if (filter->inputs[0]->frame_rate.num > 0 &&
filter->inputs[0]->frame_rate.den > 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 && if (!ost->filters_script &&
!ost->filters && !ost->filters &&


+ 1
- 0
tests/ref/fate/sub2video View File

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


Loading…
Cancel
Save