[vlc-devel] [PATCH v2 00/20] Add draining support to filters

Steve Lhomme robux4 at ycbcr.xyz
Wed Oct 14 14:39:00 CEST 2020


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

This patchset plus a few other patches can be found at 
https://code.videolan.org/robUx4/vlc/-/commits/filters/refactor-ops/2

Steve Lhomme (20):
  filter: add a drain callback for video filters
  d3d11_surface: make sure the converter doesn't expect draining calls
  dxa9: make sure the converter doesn't expect draining calls
  vout_subpictures: make sure the scaler/converter doesn't expect
    draining calls
  ci_filters: make sure converters doesn't expect draining calls
  image: make sure the converter doesn't expect draining calls
  fps: only set the start date if there wasn't one set
  fps: implement draining of extra pictures
  deinterlace: implement draining of extra pictures
  vaapi: implement draining of extra pictures in x2 deinterlacer
  vdpau: implement draining of extra pictures in deinterlacer
  mmal/deinterlace: implement draining of extra pictures in deinterlacer
  transcode: video: don't drain the secondary filters
  transcode: video: reindent code
  filter_chain: separate the picture filtering from filter draining
  filters: drain filter chains after the regular picture filtering
  filters: drain internal filter chains when draining
  transcode: video: drain all filter chains sequentially until they're
    dry
  filter_chain: do not drain pictures inside filter_chain_VideoFilter()
  filter_chain: rework filter_chain_VideoDrain()

 include/vlc_filter.h                          |  25 ++-
 modules/hw/d3d11/d3d11_deinterlace.c          |  12 ++
 modules/hw/d3d11/d3d11_surface.c              |   3 +
 modules/hw/d3d9/dxa9.c                        |   3 +
 modules/hw/d3d9/dxva2_deinterlace.c           |   7 +
 modules/hw/mmal/deinterlace.c                 |  37 +++--
 modules/hw/vaapi/filters.c                    | 106 +++++++-----
 modules/hw/vdpau/deinterlace.c                |  61 ++++---
 modules/stream_out/mosaic_bridge.c            |  13 ++
 modules/stream_out/sdi/SDIStream.cpp          |  12 +-
 modules/stream_out/transcode/video.c          |  49 +++---
 modules/video_chroma/chain.c                  |   9 +-
 modules/video_chroma/cvpx.c                   |   7 +
 modules/video_filter/canvas.c                 |   8 +-
 modules/video_filter/ci_filters.m             |   2 +
 modules/video_filter/deinterlace/common.c     | 152 +++++++++---------
 modules/video_filter/deinterlace/common.h     |   5 +
 .../video_filter/deinterlace/deinterlace.c    |   7 +
 modules/video_filter/edgedetection.c          |  27 +++-
 modules/video_filter/fps.c                    |  58 +++----
 src/libvlccore.sym                            |   1 +
 src/misc/filter_chain.c                       |  47 +++---
 src/misc/image.c                              |   2 +
 src/video_output/video_output.c               |   2 +-
 src/video_output/vout_subpictures.c           |   2 +
 25 files changed, 420 insertions(+), 237 deletions(-)

-- 
2.26.2



More information about the vlc-devel mailing list