[vlc-devel] [PATCH 17/17] video_output: restart display after filter change

Alexandre Janniaux ajanni at videolabs.io
Thu Nov 26 11:20:40 CET 2020


On Thu, Nov 26, 2020 at 08:31:25AM +0100, Steve Lhomme wrote:
> On 2020-11-25 19:47, Rémi Denis-Courmont wrote:
> > There are several problems with changing the pixel format:
> > 1) Currently, it affects the probing. We'd have to audit all displays not to
> > succeed/fail based on the input pixel format first.
> > 2) For the sake of GPU filters, we have some, and will need more, CPU->GPU
> > pixel format converters. Duplicating the conversion code in display plugins is
> > undesirable.
>
> I 100% agree. For example in D3D11/9 I'd like the GPU upload to be done
> outside of the display and only accept D3D11/9 textures.

I'd like that for OpenGL too, but that's actually much harder
than just «converting» into a texture name. Texture makes no
sense without the context it has been created into, and the
context is dependant on the vlc_gl_t provider used, which
means that we need the context from the display, but given
that we have access to it, there's no guarantee we can
actually use it because it might be used in another thread.

So we would need a new sharegroup concept, a way to send what
would be some kind of video context backward, etc.

It's really because «OpenGL textures» means nothing (OpenGL
is not an allocation API) that we have interop modules and
output native buffers in the OpenGL filters design.

Regards,
--
Alexandre Janniaux
Videolabs


More information about the vlc-devel mailing list