[vlc-devel] [PATCH v3] Add draining support to filters

Steve Lhomme robux4 at ycbcr.xyz
Tue Oct 20 13:04:05 CEST 2020


I'm not sending the 35 patches to the ML (too big) but the individual 
patches can be found at
https://code.videolan.org/robUx4/vlc/-/tree/filters/refactor-ops/13

Changes since v2:
- rebased on master + epileptic filter support + picture dropping filters
- "full" draining of filters is supported in the vout, transcode, 
mosaic, SDI
- a flag to the drain callback of filters is added to tell them they 
should not only sending the delayed pictures they may have left to send 
but also anything else based on the source pictures they were given. No 
more pictures will be given until a flush or a deletion of the filters.
- for now no filters give extra pictures, this is left to implement per 
filter, in addition of the drain callback they already have
- the filter chain doesn't store "pending" pictures anymore. When a 
filter_chain_VideoFilter() is done without (enough) draining before, it 
starts draining all filters first. This is how the filter chain worked 
so far. They were stored in pending and if nothing drying the pending 
chain, they were released in the next filter_chain_VideoFilter() call.

Changes since v1:
- fix misc compilation issues
- rework the fps code so that the extra pictures can actually be added
- rework the fps draining with more explanation. Using the 
p_sys->p_previous_pic->date
   was incorrect as it was shifted already.
- keep the reference date for VDPAU x2 deinterlacing draining
- add truncated commit text in last patch



More information about the vlc-devel mailing list