[vlc-devel] [PATCH v3 00/22] Add support for OpenGL filters

Romain Vimont rom1v at videolabs.io
Mon Jul 6 12:46:53 CEST 2020


Previous versions:
v1: https://mailman.videolan.org/pipermail/vlc-devel/2020-June/134800.html
v2: https://mailman.videolan.org/pipermail/vlc-devel/2020-July/134960.html

Changes since v2:
 - update documentation after changes from v1 to v2 (patch 21)
 - move mock.c to filter_mock.c (for consistency with filter_draw.c) (patch 22)
 - add "msaa" parameter to mock filter (for testing multisampling) (patch 22)

The --gl-filter CLI option is kept to be able to run and test filters as
introduced by this patchset. We plan to remove it once the OpenGL filter_t
implementation is merged (after that, we will be able execute OpenGL filters
using the --video-filter option).

The MR has been updated: https://code.videolan.org/rom1v/vlc/-/merge_requests/12

Romain Vimont (22):
  opengl: introduce OpenGL filter API
  opengl: add filter private part
  opengl: add filters chain
  opengl: use modules for OpenGL filters
  opengl: store video format in sampler
  opengl: add "direct" sampler
  opengl: attach samplers to filters
  opengl: load filters from command-line arguments
  opengl: pass output size to filters
  opengl: add support for renderbuffers API
  opengl: create and bind filters framebuffers
  opengl: use default draw framebuffer
  opengl: add "draw" filter
  opengl: support "blend" filters
  opengl: lazy-load sampler
  opengl: apply viewport on filters
  opengl: pass picture date to filters
  opengl: add support for renderbuffers API
  opengl: init filters framebuffers in a second pass
  opengl: enable multisampling
  opengl: document filters implementation
  opengl: add mock filter

 modules/video_output/caopengllayer.m       |  11 +-
 modules/video_output/ios.m                 |  14 +-
 modules/video_output/macosx.m              |  11 +-
 modules/video_output/opengl/Makefile.am    |  14 +
 modules/video_output/opengl/display.c      |  14 +-
 modules/video_output/opengl/filter.c       | 128 +++++
 modules/video_output/opengl/filter.h       | 115 +++++
 modules/video_output/opengl/filter_draw.c  | 181 +++++++
 modules/video_output/opengl/filter_draw.h  |  36 ++
 modules/video_output/opengl/filter_mock.c  | 407 +++++++++++++++
 modules/video_output/opengl/filter_priv.h  |  83 ++++
 modules/video_output/opengl/filters.c      | 547 +++++++++++++++++++++
 modules/video_output/opengl/filters.h      | 109 ++++
 modules/video_output/opengl/gl_api.c       |  23 +
 modules/video_output/opengl/gl_api.h       |   3 +
 modules/video_output/opengl/gl_common.h    |  35 ++
 modules/video_output/opengl/renderer.c     |  95 ++--
 modules/video_output/opengl/renderer.h     |  38 +-
 modules/video_output/opengl/sampler.c      | 111 ++++-
 modules/video_output/opengl/sampler.h      |   2 +-
 modules/video_output/opengl/sampler_priv.h |  42 +-
 modules/video_output/opengl/vout_helper.c  | 110 ++++-
 modules/video_output/opengl/vout_helper.h  |   6 +-
 modules/video_output/win32/glwin32.c       |  11 +-
 24 files changed, 2040 insertions(+), 106 deletions(-)
 create mode 100644 modules/video_output/opengl/filter.c
 create mode 100644 modules/video_output/opengl/filter.h
 create mode 100644 modules/video_output/opengl/filter_draw.c
 create mode 100644 modules/video_output/opengl/filter_draw.h
 create mode 100644 modules/video_output/opengl/filter_mock.c
 create mode 100644 modules/video_output/opengl/filter_priv.h
 create mode 100644 modules/video_output/opengl/filters.c
 create mode 100644 modules/video_output/opengl/filters.h

-- 
2.27.0



More information about the vlc-devel mailing list