[PATCH] include: add AV1 support to dxva.h

Steve Lhomme robux4 at ycbcr.xyz
Fri Jul 2 01:14:24 CDT 2021

On 2021-06-30 13:51, Jan Ekström wrote:
>>> On 11/20/20 3:37 PM, Steve Lhomme wrote:
>>> Based on the DXVA AV1 specs
>>> https://www.microsoft.com/en-us/download/details.aspx?id=101577
>>> The structures and the associated define are available in Windows SDK
>>> since at least 10.0.20231.0.
>> Is this something pre-released? Latest one I see is 10.0.19041.0,
>> corresponding to Windows 10 2004.
>> It does not have the types.
> Hi,
> Sorry for the out-of-the-blue outsider comment onto an old thread (hopefully the In-Reply-To header will work from the archive URL), but as various OSS multimedia projects would like these definitions to be in wine/mingw-w64, I can inform you that:
> 1. Since mid-May the structures have been officially defined in what was previously called MSDN: https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/dxva/ns-dxva-dxva_status_av1
> 2. MS seemingly today (?) released a stable SDK 10.0.20348.0 which finally is a non-insider SDK that defines these structures. It is not currently available in the VS installer, but it is available as a "server" SDK at https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk/ .
> I hope this should enable these structures to be verified, and pulled in.


Nice catch. I checked last week and there was still nothing. At least 
putting the structures in MSDN makes it a lot easier. The GUIDs were 
already found in the D3D12 doc [1].

There seem to be bugs in their doc on 
DXVA_PicParams_AV1.cdef.uv_strengths and 
DXVA_PicParams_AV1.segmentation.feature_mask as the union names are 

Some other changes:
- the Reserved16Bits fields are now a UINT16.
- fields in DXVA_Status_AV1 have lost their 'b' and 'w' prefix.

The original patch submitted got this build job 
But it seems gone from the database (too old?).

I'll submit a revised version. It still builds when used in libavcodec [2].

> Best regards,
> Jan

[2] https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/dxva2_av1.c

More information about the wine-devel mailing list