[vlc-devel] [PATCH v3 00/14] libvlc: Disable GPU rendering/Select hardware decoder

Steve Lhomme robux4 at ycbcr.xyz
Thu Feb 13 16:44:41 CET 2020


This patchset adds new APIs to select the hardware decoder engine to use,
independently of the rendering method selected. It also applies to other forms
or embedded rendering like when providing a HWND.

Changes since v2:
- the default "vout-cb-type" is stored in libvlc, like the "window" variable.
- libvlc_video_engine_none has been renamed libvlc_video_engine_disable
- when disabling the output callbacks, the "window" variable is reset
- "vout-cb-type" is never inherited
- "dec-dev" is not forced anymore when setting a window host
- "dec-dev" is not forced anymore when outputting to memory

You can find the patches on this branch:
https://code.videolan.org/robUx4/vlc/tree/callbacks/29

Steve Lhomme (14):
  libvlc: rename libvlc_video_direct3d_engine_d3d11
  libvlc: rename libvlc_video_direct3d_engine_d3d9
  libvlc: add a way to disable the GPU callback engine
  libvlc: don't force the hardware decoder type with the callback output
  direct3d11: rename the decoder device to "d3d11"
  direct3d9: rename the decoder device to "dxva2"
  mmal: rename the decoder device to "mmal"
  nvdec: rename the decoder device to "nvdec"
  libvlc: allow selecting the video hardware acceleration
  doc: d3d9_player: select the DXVA2 hardware decoder by default
  libvlc: don't force "dec-dev" with libvlc_media_player_set_nsobject()
  libvlc: don't force "dec-dev" with libvlc_media_player_set_xwindow()
  libvlc: don't force "dec-dev" with libvlc_media_player_set_hwnd()
  libvlc: don't force "dec-dev" with libvlc_video_set_callbacks()

 doc/libvlc/d3d11_player.cpp       |  2 +-
 doc/libvlc/d3d9_player.c          |  4 +-
 include/vlc/libvlc_media_player.h | 69 +++++++++++++++++++++++++++----
 lib/libvlc.sym                    |  1 +
 lib/media_player.c                | 42 +++++++++++++++----
 modules/hw/d3d11/d3d11_filters.c  |  2 +-
 modules/hw/d3d9/d3d9_filters.c    |  2 +-
 modules/hw/mmal/decoder_device.c  |  2 +-
 modules/hw/nvdec/nvdec.c          |  2 +-
 modules/video_chroma/d3d11_fmt.c  | 12 ++++--
 modules/video_chroma/d3d9_fmt.c   | 13 ++++--
 modules/video_output/vgl.c        |  5 +++
 src/libvlc.c                      |  2 +
 13 files changed, 131 insertions(+), 27 deletions(-)

-- 
2.17.1



More information about the vlc-devel mailing list