[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