[vlc-devel] [PATCH 00/15] filter cleaning
Steve Lhomme
robux4 at ycbcr.xyz
Fri Jul 19 15:32:04 CEST 2019
While working on the push handling I struggled with the filter code which is
IMO a bit messy. So here are some patches cleaning the code, renaming, moving
things, created some default behaviour (which will make it easier to adapt in
one place for all the filters).
The filter chain was particularly messy, with two "filter owner" at creation.
In the end it's possible to remove some things because it was used for a
particular case in video.
It's currently not possible to make a generic function to create a video filter
because the filter chain (which creates most) also uses the same code path to
create SPU filters.
Steve Lhomme (15):
vlc_filter: rename filter_chain_New() to filter_chain_NewSPU()
filters: pass the owner sys to the buffer_new callback
filter: allow the owner not to provide a buffer callback
ci filters: remove default buffer callback implementation
image: remove default buffer callback implementation
vout blend: remove default buffer callback implementation
vout_subpictures: remove default buffer callback implementation
filter_chain: don't use a filter_owner_t for local-only variables
filter_chain: rename some variables and add some comments
filter_chain.c: use the NULL picture log for all buffer allocations
filter_chain: rename internal owner to downstream
filters: add an function to create new output pictures with forced
callbacks
filter_chain: allocate pictures using filter_NewOwnerPicture()
filter: allow the filter to provide a callback to get output pictures
filter_chain: add a default implementation for the video_allocator
include/vlc_filter.h | 37 ++++++++--
modules/hw/d3d11/d3d11_surface.c | 7 +-
modules/hw/d3d9/dxa9.c | 7 +-
modules/stream_out/mosaic_bridge.c | 6 +-
modules/stream_out/sdi/SDIStream.cpp | 3 +-
modules/stream_out/transcode/video.c | 3 +-
modules/video_chroma/chain.c | 5 +-
modules/video_filter/canvas.c | 7 +-
modules/video_filter/ci_filters.m | 12 ----
modules/video_filter/edgedetection.c | 9 ++-
src/misc/filter_chain.c | 100 +++++++++++++--------------
src/misc/image.c | 11 ---
src/video_output/display.c | 4 +-
src/video_output/video_output.c | 23 ++----
src/video_output/vout_subpictures.c | 17 +----
15 files changed, 119 insertions(+), 132 deletions(-)
--
2.17.1
More information about the vlc-devel
mailing list