wine-devel Digest, Vol 184, Issue 284

Steve Lhomme robux4 at ycbcr.xyz
Wed Nov 25 03:27:00 CST 2020


> Date: Wed, 25 Nov 2020 08:51:43 +0300
> From: Nikolay Sivov <nsivov at codeweavers.com>
> To: wine-devel at winehq.org
> Subject: Re: [PATCH] include: add AV1 support to dxva.h
> Message-ID: <aa27d182-49e8-d3ec-eef1-15d4aeaf02b9 at codeweavers.com>
> Content-Type: text/plain; charset=utf-8
> 
> 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.

Yes, it's Windows Insider SDKs that can be found here:
https://docs.microsoft.com/en-us/windows-insider/flight-hub/

>>
>> The GUIDs were present in previous SDKs as well.
>> ---
>>   include/dxva.h | 279 +++++++++++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 279 insertions(+)
>>
>> diff --git a/include/dxva.h b/include/dxva.h
>> index 4f18f2e60da..b474bd87111 100644
>> --- a/include/dxva.h
>> +++ b/include/dxva.h
>> @@ -563,6 +563,285 @@ typedef struct _DXVA_Status_VPx
>>       USHORT wNumMbsAffected;
>>   } DXVA_Status_VPx, *LPDXVA_Status_VPx;
>>   
>> +
>> +#define _DIRECTX_AV1_VA_
>> +
>> +/* AV1 decoder GUIDs */
>> +DEFINE_GUID(DXVA_ModeAV1_VLD_Profile0,           0xb8be4ccb, 0xcf53, 0x46ba, 0x8d, 0x59, 0xd6, 0xb8, 0xa6, 0xda, 0x5d, 0x2a);
>> +DEFINE_GUID(DXVA_ModeAV1_VLD_Profile1,           0x6936ff0f, 0x45b1, 0x4163, 0x9c, 0xc1, 0x64, 0x6e, 0xf6, 0x94, 0x61, 0x08);
>> +DEFINE_GUID(DXVA_ModeAV1_VLD_Profile2,           0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8);
>> +DEFINE_GUID(DXVA_ModeAV1_VLD_12bit_Profile2,     0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0);
>> +DEFINE_GUID(DXVA_ModeAV1_VLD_12bit_Profile2_420, 0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8);
> Adding GUIDs is fine, since they are indeed present in current versions.
>> +
>> +/* AV1 picture entry data structure */
>> +typedef struct _DXVA_PicEntry_AV1 {
>> +    UINT width;
>> +    UINT height;
>> +
>> +    // Global motion parameters
>> +    INT wmmat[6];
>> +    union {
>> +        struct {
>> +            UCHAR wminvalid : 1;
>> +            UCHAR wmtype : 2;
>> +            UCHAR Reserved : 5;
>> +        };
>> +        UCHAR GlobalMotionFlags;
>> +    };
>> +    UCHAR Index;
>> +    USHORT Reserved16Bits;
>> +} DXVA_PicEntry_AV1, *LPDXVA_PicEntry_AV1;
> For that I think we should wait for released SDK.

OK. It may not even be in 20H2 though. Drivers from Intel, NVIDIA and 
AMD can all understand those structures, even on Windows 20H1.



More information about the wine-devel mailing list