[vlc-devel] [vlc-commits] decoder: make decoder_Clean() public

Rémi Denis-Courmont remi at remlab.net
Wed Feb 20 12:30:42 CET 2019


We agreed that each decoder will have its own picture buffer management, a.k.a. pool. I don't think we said that the decoder core would take care of it; in fact, I'm pretty sure we said it wouldn't, at least not always.

Le 20 février 2019 13:17:37 GMT+02:00, Steve Lhomme <robux4 at ycbcr.xyz> a écrit :
>On 20/02/2019 11:23, Rémi Denis-Courmont wrote:
>> Hi,
>>
>> I don't think that there is a question whether there should always be
>
>> a pool, because it now depends on the decoder plugin. 
>
>That's not the direction I took. I thought we agreed on the previous 
>workshop that decoders will have their own pool. Each of them.
>
>
>> We don't know what the decoder does or does not do internally, so 
>> there are no ways to generically allocate a pool outside on a 
>> systematic basis.
>
>I agree, except we live fine with that for now with a pool "large" 
>enough that handled elsewhere, just by providing the DPB size and 
>i_extra_picture_buffers. I don't think we're planning to get rid of 
>these for now.
>
>Also the current decoder_NewPicture taping in the pool from the vout,
>is 
>using picture_pool_Wait() meaning if it has used more than its DBP + 
>extra pictures, it will wait for new pictures. This allows a kind of 
>rate control for the decoder and avoid allocating all the memory of the
>
>system if the decoder is faster to decode than the vout can handle. I 
>think we should keep that safety for all decoders.
>
>Also we agreed that the format (metadata) change will now be handled by
>
>signaling a change downstream, not by resetting everything. That will 
>impact how a potential pool would be used but that handling can be 
>centralized in decoder_UpdateVideoFormat(), rather than leaving each of
>
>the 26 decoders deal with it. All they do is call 
>decoder_UpdateVideoFormat, decoder_NewPicture and decoder_QueueVideo. 
>They don't have to be changed at all for the change to push.
>
>>
>> And it would be insane to allocate a whole pool for image decoders, 
>> especially considering that pictures tend to be larger than video 
>> frames. Image decoders should allocate their picture explicitly.
>>
>> No, the first question is what would the determinant be to allocate a
>
>> pool for the decoder or let the decoder manage its pool.
>>
>> Le 20 février 2019 12:01:52 GMT+02:00, Steve Lhomme
><robux4 at ycbcr.xyz> 
>> a écrit :
>>
>>     On 20/02/2019 09:56, Thomas Guillem wrote:
>>
>>         Please, send future decoder patches on the ML first. 
>>
>>
>>     BTW do we agree on my 13+1 patchset, generalizing the work on the
>output
>>     format passed to update_format() ?
>>
>>     Later this format will be the one used for the decoder pool. And
>>     possibly set on dec->fmt_out.video, although in my branch I kept
>a
>>     separate one to check the pool format against it.
>>    
>------------------------------------------------------------------------
>>     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é.
>>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>
>_______________________________________________
>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/20190220/3b76e8e7/attachment.html>


More information about the vlc-devel mailing list