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

Nikolay Sivov nsivov at codeweavers.com
Tue Nov 24 23:51:43 CST 2020


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.

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



More information about the wine-devel mailing list