[vlc-devel] [RFC 0/6] libvlc rendering to Direct3D surfaces

Steve Lhomme robux4 at ycbcr.xyz
Tue Apr 30 11:38:24 CEST 2019


On 4/30/2019 11:34 AM, Steve Lhomme wrote:
> These patches gradually add support for rendering to D3D surfaces in libvlc,
> allowing all kinds of things to integrate the video in a 3D engine (or Qt).

The patchset is missing changes done in vlc_vout_display.h to add the 
D3D callbacks and related structures. That's where the static_assert 
checks come from.
>
> Unlike OpenGL it uses a single callback on the host size, passing different
> controls to it. There's an input const pointer and an output pointer of pointer
> to write into. Most calls ignore the output.
>
> The second patch adds 10+ bits support as it's not originally supported by the
> current callback API's found in D3D modules.
>
> To support proper positioning of the video in the host area, a window_t is
> created. It receives size changes reported by the host and forwards it to the
> core. This is not possible with the wdummy currently in use.

This should also be used by the opengl rendering callbacks.

>
>
> Steve Lhomme (6):
>    libvlc: add rendering callbacks for D3D11 and D3D9
>    libvlc: handle more than 8 bits output in external D3D rendering
>    libvlc: handle the input colorimetry on the surface callbacks
>    libvlc: add support for HDR10 metadata during the START_RENDERING
>    libvlc: add an API entry to set the new video area size
>    libvlc:vout: add a custom vout window module that can change the
>      display size
>
>   include/vlc/libvlc_media_player.h  | 219 +++++++++++++++++++++++++++++
>   lib/libvlc.sym                     |   2 +
>   lib/media_player.c                 | 100 +++++++++++++
>   modules/video_output/Makefile.am   |   2 +
>   modules/video_output/host_window.c | 103 ++++++++++++++
>   5 files changed, 426 insertions(+)
>   create mode 100644 modules/video_output/host_window.c
>
> -- 
> 2.17.1
>
> _______________________________________________
> 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