[vlc-devel] [PATCH] decoder device: allow modules to create a decoder device

Thomas Guillem thomas at gllm.fr
Wed Jul 10 08:37:45 CEST 2019


Even on Linux the "decoder device" is not necessarily tied to a window, that is the case with VAAPI via DRM.

On Wed, Jul 10, 2019, at 08:32, Steve Lhomme wrote:
> On 2019-07-09 16:30, Rémi Denis-Courmont wrote:
> > Le tiistaina 9. heinäkuuta 2019, 10.04.32 EEST Steve Lhomme a écrit :
> >> Like the transcoder or the mosaic bridge.
> > 
> > There are no windows in those cases, so I don't see how exposing this specific
> > function helps for the stated purpose.
> 
> A decoder device may not be tied to a window. At least with Direct3D 
> ones, the window is not used. We still need a way for the transcoder 
> (not sure about mosaic) to tell the decoder what GPU adapter + Direct3D 
> flavor it's using so the decoder is compatible. (I know this is at least 
> needed for QSV).
> 
> Even in a "pure push" scenario where the decoder will pick the GPU and 
> then push it to the encoder, that decoder still needs to create a 
> decoder device. Note this is not how the transcoder initiates the 
> encoder+decoder and I'm not sure this will change much.
> 
> >> ---
> >>   include/vlc_codec.h | 2 +-
> >>   src/libvlccore.sym  | 1 +
> >>   2 files changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/include/vlc_codec.h b/include/vlc_codec.h
> >> index 85d7c0ff23..2a92a4523f 100644
> >> --- a/include/vlc_codec.h
> >> +++ b/include/vlc_codec.h
> >> @@ -587,7 +587,7 @@ typedef void
> >> (*vlc_decoder_device_Close)(vlc_decoder_device *device); * This function
> >> will be hidden in the future. It is now used by opengl vout * module as a
> >> transition.
> >>    */
> >> -VLC_USED vlc_decoder_device *
> >> +VLC_API vlc_decoder_device *
> >>   vlc_decoder_device_Create(vout_window_t *window);
> >>
> >>   /**
> >> diff --git a/src/libvlccore.sym b/src/libvlccore.sym
> >> index 686ef13265..bf3a6a91fe 100644
> >> --- a/src/libvlccore.sym
> >> +++ b/src/libvlccore.sym
> >> @@ -83,6 +83,7 @@ decoder_AbortPictures
> >>   decoder_NewAudioBuffer
> >>   decoder_UpdateDecoderDevice
> >>   decoder_UpdateVideoOutput
> >> +vlc_decoder_device_Create
> >>   vlc_decoder_device_Hold
> >>   vlc_decoder_device_Release
> >>   demux_PacketizerDestroy
> > 
> > 
> > -- 
> > Rémi Denis-Courmont
> > http://www.remlab.net/
> > 
> > 
> > 
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> > 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list