wine-devel Digest, Vol 184, Issue 284

Nikolay Sivov nsivov at codeweavers.com
Wed Nov 25 05:45:31 CST 2020



On 11/25/20 12:27 PM, Steve Lhomme wrote:
>> 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/

I think it's better to wait until it's available through regular public
releases.

>
>>>
>>> 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