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