[vlc-devel] [PATCH 00/12] Generalize the use of decoder device

Steve Lhomme robux4 at ycbcr.xyz
Mon Dec 2 14:26:07 CET 2019


This patchset adds support for the decoder device in the following cases:
- decoder used to decode an image
- decoder used by the transcoder (later will be shared with the encoder)
- filters used for transcode
- decoder used in a mosaic bridge
- decoder used for SDI

Some decoder device will not be created if they are not attached to a window_t
but most of them should be usable. The --dec-dev option can force which device
type should be preferred rather than relying on module priorities.

After these patches the get_device callback of decoder owners is mandatory,
even if it returns NULL (no decoder device).

A branch with these patches can be found at
https://code.videolan.org/robUx4/vlc/tree/push/device/1

Steve Lhomme (12):
  decoder: use an object to create the decoder device
  decoder device: allow modules to create a decoder device
  transcode: video: implement the get_device to provide a decoder device
    to the decoder
  image: use a function to release the decoder
  image: implement the get_device to provide a decoder device to the
    decoder
  mosaic_bridge: use a function to release the decoder
  mosaic_bridge: implement the get_device to provide a decoder device to
    the decoder
  sout: sdi: add a method to release the decoder
  sout: sdi: implement the get_device to provide a decoder device to the
    decoder
  decoder: make the get_device callback mandatory
  mosaic_bridge: implement the hold_device for filters
  transcode: implement the hold_device for filters

 include/vlc_codec.h                      | 10 ++---
 modules/stream_out/mosaic_bridge.c       | 41 ++++++++++++++++++--
 modules/stream_out/sdi/SDIStream.cpp     | 48 +++++++++++++++++++-----
 modules/stream_out/sdi/SDIStream.hpp     |  3 ++
 modules/stream_out/transcode/transcode.h |  1 +
 modules/stream_out/transcode/video.c     | 24 +++++++++++-
 src/input/decoder_helpers.c              |  7 ++--
 src/libvlccore.sym                       |  1 +
 src/misc/image.c                         | 31 +++++++++++++--
 src/video_output/video_output.c          |  2 +-
 10 files changed, 141 insertions(+), 27 deletions(-)

-- 
2.17.1



More information about the vlc-devel mailing list