<html><head></head><body>Hi,<br><br>The MMAL plugins are unmaintained. By definition, if the implementation that actually sees users and updates is another one, then ours is unmaintained.<br><br>And the point is that I don't want to change the core for a misdesigned plugin. I have not seen any technically valid justification for adding yet another way to allocate pictures, nor how this would work.<br><br>You cannot expect software decoders and filters to allocate pictures from decoder device or video context. That's complete denial of everything that was agreed upon, and reintroduces a whole lot of problems that push was supposed to fix.<br><br><div class="gmail_quote">Le 9 août 2019 08:50:43 GMT+03:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On 2019-08-08 18:27, Rémi Denis-Courmont wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">Le torstaina 8. elokuuta 2019, 15.29.30 EEST Steve Lhomme a écrit :<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;">Any opinion ?<br></blockquote>I don't see why we should mess the architecture for a hardware-specific<br>implementation-specific unmaintained module.<br></blockquote><br>It's not unmaintained, I was planning to revive it to make sure that the <br>default player on Raspberry Pi remains VLC when we release 4.0. It seems <br>there's a different implementation so I'll adapt that one.<br><br>One reason for that is to make sure our new push architecture is sound <br>and can adapt to many use cases. Supporting SoC architectures should <br>still be possible with the new architecture. Allocating all buffers once <br>in the display was making this easy and efficient (in terms of copy, not <br>memory usage). We should aim for the same level of efficiency.<br><br>Also let me remind you the VLC motto: "VLC plays everything and runs <br>everywhere".<br><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">Even when the GPU uses the same RAM as the CPU, it typically uses different<br>pixel format, tile format and/or memory coherency protocol, or it might simply<br>not have a suitable IOMMU. As such, VLC cannot render directly in it.<br><br>And if it could, then by definition, it implies that the decoder and filters can<br>allocate and *reference* picture buffers as they see fit, regardless of the<br>hardware. Which means the software on CPU side is doing the allocation. If so,<br>then there are no good technical reasons why push cannot work - misdesigning<br>the display plugin is not a good reason.<br></blockquote><br>I haven't proposed any design change to the display plugin, other than <br>already discussed. What I proposed is a way to allocate CPU pictures <br>from the GPU. My current solution involves creating a video context <br>optionally when the decoder doesn't provide one.<br><br>It could even be used on desktop. For example on Intel platform it's <br>possible to do it without much performance penalty. I used to do it in <br>D3D11 until I realized it sucked for separate GPU memory. But I had no <br>way to know exactly the impact of the switch because the code was quite <br>different. Now it might be possible to tell. I have a feeling on Intel <br>it may actually be better to decode in "GPU" buffers directly. The <br>driver can take shortcuts that we can't. It may do the copy more <br>efficiently if it needs one (or maybe it doesn't need one). It can do <br>the copy asynchronously (as every command sent to a ID3D11DeviceContext) <br>as long as it's ready when it needs to be displayed.<hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>