• M
    avfilter/vf_framerate: simplify filter · 0c31a387
    Marton Balint 提交于
    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: NMarton Balint <cus@passwd.hu>
    0c31a387
vf_framerate.c 20.5 KB