[vlc-devel] [PATCH 0/6] WIP libvlc surface rendering size update
Rémi Denis-Courmont
remi at remlab.net
Mon Jan 28 10:09:15 CET 2019
Hi,
I don't think anyone will object if you split D3D in two layers, with the inner one D3D-specific. We already have 2+ layers for OpenGL and for Windows Audio Session. I am also considering splitting X11 as uploading vs rendering.
Le 28 janvier 2019 10:57:04 GMT+02:00, Steve Lhomme <robux4 at ycbcr.xyz> a écrit :
>On 27/01/2019 10:45, Rémi Denis-Courmont wrote:
>> Changing the chroma asynchronously, outside a display configuration
>> change
>>>> control, is out of question. That is a "privilege" of the upstream
>>>> pipeline, currently the decoder.
>>> I disagree.
>> Chroma (pixel format) cannot change downstream. That has already been
>> determined in the context of asynchronous decoding, and especially
>> asynchronous hardware decoding failure.
>
>OK. I don't think changing the chroma dynamically is needed here.
>
>>
>> I am not interested in reopening the topic since decoder-imposed
>constraints
>> have not changed/relaxed in any way.
>>
>>
>>>> As such LibVLC would not be able to control them, at least not with
>any
>>>> of the existing window provider plugins, including but not limited
>to the
>>>> dummy one.
>>> Technically it doesn't belong in the "window" which is just a host
>for the
>>> video rendering but doesn't know about it. Right now this kind of
>property
>>> is handled internally in the display modules.
>> The window is an abstraction of the windowing system, not just a
>window. It
>> has other responsibilities, notably tracking potential fullscreen
>targets.
>>
>> Compare the audio output which abstracts the audio system. It does
>not just
>> play sound, but also tracks available devices, volume and mute even
>if there
>> is no audio track.
>
>I'm still uneasy with this whole thing. Maybe the name window doesn't
>work well. In the case of "surface rendering" it's not a window in the
>windowing system term, but it still close to what we get from our
>window.
>
>In the longer run I think we need more work in that area. For example
>the d3d11 module is just a rendering engine specialized in rendering to
>
>a D3D11 SwapChain. But the exact same engine can be done to render to a
>
>D3D11 context. Same with D3D9. It seems that it could be split in 2
>layers. The swapchain probably belonging to the window, but they're not
>
>compatible between D3D11/D3D9.
>
>>
>>> It could be possible for wdummy to listen on a structure (which I
>added in a
>>> patch) and when it changes (via libvlc) it pushes these changes to
>the vout
>>> thread. Just like with ReportSize().
>> No. That is not in scope of the dummy plugin or the dummy type. Dummy
>is, as
>> the name implies, a placeholder for when there really is no window
>and none of
>> the abstracted window properties are relevant to the display.
>Legitimate users
>> include splitters and the dummy output. Border line users include
>KMS,
>> FrameBuffer, and maybe MMAL and iOS.
>>
>> For backward compatibility with unmaintained crap like the ASCII art
>output,
>> we do pass the size on, but that's pretty much it.
>>
>> If you need to define a new windowing type/protocol, use a different
>type. I am
>> pretty damn sure that I already pointed out that out when the OpenGL
>callbacks
>> were being added...
>
>Or maybe another window module that's specialized for OpenGL rendering
>(and possibly others). "wdummy" is currently forced by the OpenGL
>callback, so it could be set to something else that would listen to
>special variables. Not too sure how to signal these variables though...
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel
--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190128/70602bd5/attachment.html>
More information about the vlc-devel
mailing list