<html><head></head><body>Hi,<br><br>NULL means that there is no video context and the filter knows if it needs one or not. There are no distinctions to be made between none and missing.<br><br>And I stopped reading at vout allocating pictures. Vout displays do not allocate pictures anymore, except internally as an implementation detail.<br><br><div class="gmail_quote">Le 31 juillet 2019 09:37:07 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-07-30 18:52, 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 tiistaina 30. heinäkuuta 2019, 9.57.24 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;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;">If all GPU filters are using the video context, it means that you can't<br>have<br></blockquote>All filters have a video context, even if it's a "CPU" video context. A<br>NULL video context will not be allowed. It wouldn't make sense, just<br>like an empty video format doesn't make sense. It's also the best<br>candidate to carry the decoder device along the whole filter chain (see<br>previous answer).<br></blockquote>Sure it makes sense. Regular RAM has no reason to have a video context, except<br>maybe for convenience.<br></blockquote><br>Except you can't tell if NULL means it's a CPU video context or it's <br>simply missing because the code couldn't create it in the first place.<br><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;">Yes, at the very least the last filter in a chain must get pictures from<br>the outside, not create its own.<br></blockquote>I completely disagree, and that's not how push model was designed.<br><br>Push model means filters and converters allocate their *output* picture, just<br>like decoders do. Nothing else makes sense - the downstream has to handle the<br>case that there are no filters and the decoders pushes its pictures, so it<br>might as well do the same with filters.<br></blockquote><br>And by what magic do you think it can accept any video format+context <br>it's given ? By using filters which will have to adapt for both the <br>input and the output format+context. And there are plenty of vout that <br>won't accept pictures they did not allocate. So the last filter will <br>have to handle the pictures from the outside/downstream (which is what <br>they do now).<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>