• Marton Balint's avatar
    avfilter/vf_framerate: simplify filter · 0c31a387
    Marton Balint authored
    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: 's avatarMarton Balint <cus@passwd.hu>
    0c31a387
Name
Last commit
Last update
..
api Loading commit data...
checkasm Loading commit data...
fate Loading commit data...
filtergraphs Loading commit data...
ref Loading commit data...
.gitignore Loading commit data...
Makefile Loading commit data...
audiogen.c Loading commit data...
audiomatch.c Loading commit data...
base64.c Loading commit data...
copycooker.sh Loading commit data...
extended.ffconcat Loading commit data...
fate-run.sh Loading commit data...
fate-valgrind.supp Loading commit data...
fate.sh Loading commit data...
lavf-regression.sh Loading commit data...
md5.sh Loading commit data...
refcmp-metadata.awk Loading commit data...
reference.pnm Loading commit data...
regression-funcs.sh Loading commit data...
rotozoom.c Loading commit data...
simple1.ffconcat Loading commit data...
simple2.ffconcat Loading commit data...
test.ffmeta Loading commit data...
tiny_psnr.c Loading commit data...
tiny_ssim.c Loading commit data...
utils.c Loading commit data...
videogen.c Loading commit data...