[vlc-devel] [PATCH 08/16] avcodec: vdpau: do not rely on avctx->refs for VP9

Steve Lhomme robux4 at ycbcr.xyz
Fri Oct 25 08:00:33 CEST 2019


On 2019-10-25 7:45, Steve Lhomme wrote:
> On 2019-10-24 21:21, Rémi Denis-Courmont wrote:
>> Le torstaina 24. lokakuuta 2019, 17.20.22 EEST Steve Lhomme a écrit :
>>> It gives one when it should be 8. Other codecs seem to be OK.
>>
>> Isn't that a bug in upstream libavcodec ?
> 
> It might be. But the ffmpeg hardware handlers and ours except for VDPAU 
> rely on the codec ID rather than the AVContext refs to find the number 
> of surfaces needed.
> 
> At least for VP9 it gives a value of 2 even though 8 are needed. 
> Software decoding works but it might be because it can allocate more 
> pictures than originally expected.

Looking deeper in the ffmpeg code, it seems that VDPAU is the only one 
not using this. It's using a dynamic pool, whereas DXVA, VAAPI, NVDEC, 
QSV using preallocated buffers. Sometimes because the API doesn't allow 
anything else. We might do the same since VDPAU allows it.

I'll leave this patch for now.

>> Forcing 2 refs does not seem to match the patch description.
> 
> This also follows other implementations where the default amount needed 
> is 2 (MPEG1/2, VC1, for example).
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list