[vlc-devel] [PATCH v2 5/5] dav1d: add DXVA 4:2:0 decoding support

Steve Lhomme robux4 at ycbcr.xyz
Fri Sep 11 17:50:11 CEST 2020


On 2020-09-11 17:30, Thomas Guillem wrote:
> 
> 
> On Fri, Sep 11, 2020, at 17:21, Rémi Denis-Courmont wrote:
>> Le perjantaina 11. syyskuuta 2020, 12.46.09 EEST Steve Lhomme a écrit :
>>> Tested on NVIDIA 3090 GPU and Intel Iris Xe Graphics on 8-bit sources.
>>>
>>> The DXVA decoding is only enabled if the decoder device is set to D3D11VA or
>>> DXVA2. If the hardware decoder is not found, we fallback to software
>>> decoding. The profile needs to be known on open to use hardware decoding
>>> as it requires using a single frame thread, so fallback to software after
>>> the open would have impact on performance.
>>>
>>> It's using an "nvdec_pool" for hardware buffer pools, directly from the
>>> nvdec folder.
>>>
>>> Some code could be shared (in a library) with the other DXVA modules.
>>> ---
>>>   modules/codec/Makefile.am |   11 +
>>>   modules/codec/dav1d.c     | 1250 +++++++++++++++++++++++++++++++++++++
>>
>> It's very disturbing that this takes twice as much code as the dav1d patch.
>> You'd think a lot of the code should actually be in dav1d, rather than
>> duplicated in every dav1d reverse dependency.
>>
>> And it's only DX. I don't know about VDPAU and NVDEC status, but there's also
>> VA with AV-1 support.
> 
> And the DXVA support should be in a submodule (like avcodec's hw decoders).
> 
> For example, on Linux, you don't want a plugin linked with VDPAU, VAAPU, NVDEC, X11, WL..

True. That can be easily extracted if/when needed.


More information about the vlc-devel mailing list