From 0c31a3876d9a522add43ab62a9bcd3d857b28436 Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Tue, 19 Dec 2017 23:49:41 +0100 Subject: avfilter/vf_framerate: simplify filter The framerate filter was quite convoluted with some filter_frame / request_frame logic bugs. It seemed easier to rewrite the whole filter_frame / request_frame part and also the frame interpolation ratio calculation part in one step. Notable changes: - The filter now only stores 2 frames instead of 3 - filter_frame outputs all the frames it can to be able to handle consecutive filter_frame calls which previously caused early drops of buffered frames. - because of this, request_frame is largely simplified and it only outputs frames on flush. Previously consecuitve request_frame calls could cause the filter to think it is in flush mode filling its buffer with the same frames causing a "ghost" effect on the output. - PTS discontinuities are handled better - frames with unknown PTS values are now dropped Fixes ticket #4870. Probably fixes ticket #5493. Signed-off-by: Marton Balint --- tests/ref/fate/filter-framerate-12bit-up | 1 + 1 file changed, 1 insertion(+) (limited to 'tests/ref/fate/filter-framerate-12bit-up') diff --git a/tests/ref/fate/filter-framerate-12bit-up b/tests/ref/fate/filter-framerate-12bit-up index 686fe8e..ef709a8 100644 --- a/tests/ref/fate/filter-framerate-12bit-up +++ b/tests/ref/fate/filter-framerate-12bit-up @@ -62,3 +62,4 @@ 0, 56, 56, 1, 307200, 0x8cf55128 0, 57, 57, 1, 307200, 0x4e740b42 0, 58, 58, 1, 307200, 0x8e7e705c +0, 59, 59, 1, 307200, 0xe73f29ef -- cgit v1.1