diff options
author | Nicolas George <george@nsup.org> | 2016-08-30 15:28:41 +0200 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2016-11-13 10:41:16 +0100 |
commit | 183ce55b0de0a597b838d08bbac67f54c27ed42f (patch) | |
tree | ffd40aaf4f522d18b6b87b35e1b49f276cff913d /libavfilter/vf_decimate.c | |
parent | 22aa649c13b452f11353958a51f073f5fbc3bcaa (diff) | |
download | ffmpeg-183ce55b0de0a597b838d08bbac67f54c27ed42f.tar.gz |
lavfi: split frame_count between input and output.
AVFilterLink.frame_count is supposed to count the number of frames
that were passed on the link, but with min_samples, that number is
not always the same for the source and destination filters.
With the addition of a FIFO on the link, the difference will become
more significant.
Split the variable in two: frame_count_in counts the number of
frames that entered the link, frame_count_out counts the number
of frames that were sent to the destination filter.
Diffstat (limited to 'libavfilter/vf_decimate.c')
-rw-r--r-- | libavfilter/vf_decimate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavfilter/vf_decimate.c b/libavfilter/vf_decimate.c index 39c3331425..1fb242a3ae 100644 --- a/libavfilter/vf_decimate.c +++ b/libavfilter/vf_decimate.c @@ -223,7 +223,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) av_frame_free(&frame); frame = dm->clean_src[i]; } - frame->pts = av_rescale_q(outlink->frame_count, dm->ts_unit, (AVRational){1,1}) + + frame->pts = av_rescale_q(outlink->frame_count_in, dm->ts_unit, (AVRational){1,1}) + (dm->start_pts == AV_NOPTS_VALUE ? 0 : dm->start_pts); ret = ff_filter_frame(outlink, frame); if (ret < 0) |