提供视频解码功能
如何查询视频解码功能
若要查询用户模式显示驱动程序的视频解码功能 (UMD) ,D3D 运行时使用传递给 GetCaps 的 D3DDDIARG_GETCAPS 结构的 Type 成员中指定的以下请求类型之一调用 UMD 的 GetCaps 函数:
- D3DDDICAPS_GETDECODEGUIDCOUNT
- D3DDDICAPS_GETDECODEGUIDS
- D3DDDICAPS_GETDECODERTFORMATCOUNT
- D3DDDICAPS_GETDECODERTFORMATS
- D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT
- D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO
- D3DDDICAPS_GETDECODECONFIGURATIONCOUNT
- D3DDDICAPS_GETDECODECONFIGURATIONS
GetCaps 返回以下内容:
- D3DDDIARG_GETCAPS pData成员指向的 缓冲区中请求类型的 UMD 功能。 UMD 必须分配一个足够大的缓冲区来容纳这些功能。
- dataSize 中,包含这些功能的缓冲区) 的大小 (字节数。
以下子主题列出了可能的请求类型及其关联的视频解码功能。
D3DDDICAPS_GETDECODEGUIDCOUNT和D3DDDICAPS_GETDECODEGUIDS请求类型
Direct3D 运行时调用 GetCaps 来请求 GUID 的数量,然后再次调用 GetCaps ,并请求支持的 GUID 列表。 UMD 返回以下列表中的数字和 GUID 列表,它支持视频加速 (VA) 解码。 D3DDDIARG_GETCAPS。对于这两种请求类型,pInfo 成员均为 NULL。
DEFINE_GUID(DXVADDI_ModeMPEG2_MoComp, 0xe6a9f44b, 0x61b0, 0x4563,0x9e,0xa4,0x63,0xd2,0xa3,0xc6,0xfe,0x66);
DEFINE_GUID(DXVADDI_ModeMPEG2_IDCT, 0xbf22ad00, 0x03ea, 0x4690,0x80,0x77,0x47,0x33,0x46,0x20,0x9b,0x7e);
DEFINE_GUID(DXVADDI_ModeMPEG2_VLD, 0xee27417f, 0x5e28, 0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);
DEFINE_GUID(DXVADDI_ModeH264_A, 0x1b81be64, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_B, 0x1b81be65, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_C, 0x1b81be66, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_D, 0x1b81be67, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_E, 0x1b81be68, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeH264_F, 0x1b81be69, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV8_A, 0x1b81be80, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV8_B, 0x1b81be81, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV9_A, 0x1b81be90, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV9_B, 0x1b81be91, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeWMV9_C, 0x1b81be94, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeVC1_A, 0x1b81beA0, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeVC1_B, 0x1b81beA1, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeVC1_C, 0x1b81beA2, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_ModeVC1_D, 0x1b81beA3, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
#define DXVADDI_ModeMPEG2_MOCOMP DXVADDI_ModeMPEG2_MoComp
#define DXVADDI_ModeWMV8_PostProc DXVADDI_ModeWMV8_A
#define DXVADDI_ModeWMV8_MoComp DXVADDI_ModeWMV8_B
#define DXVADDI_ModeWMV9_PostProc DXVADDI_ModeWMV9_A
#define DXVADDI_ModeWMV9_MoComp DXVADDI_ModeWMV9_B
#define DXVADDI_ModeWMV9_IDCT DXVADDI_ModeWMV9_C
#define DXVADDI_ModeVC1_PostProc DXVADDI_ModeVC1_A
#define DXVADDI_ModeVC1_MoComp DXVADDI_ModeVC1_B
#define DXVADDI_ModeVC1_IDCT DXVADDI_ModeVC1_C
#define DXVADDI_ModeVC1_VLD DXVADDI_ModeVC1_D
#define DXVADDI_ModeH264_MoComp_NoFGT DXVADDI_ModeH264_A
#define DXVADDI_ModeH264_MoComp_FGT DXVADDI_ModeH264_B
#define DXVADDI_ModeH264_IDCT_NoFGT DXVADDI_ModeH264_C
#define DXVADDI_ModeH264_IDCT_FGT DXVADDI_ModeH264_D
#define DXVADDI_ModeH264_VLD_NoFGT DXVADDI_ModeH264_E
#define DXVADDI_ModeH264_VLD_FGT DXVADDI_ModeH264_F
D3DDDICAPS_GETDECODERTFORMATCOUNT和D3DDDICAPS_GETDECODERTFORMATS请求类型
Direct3D 运行时指定D3DDDIARG_GETCAPSpInfo 成员指向的变量中特定 DirectX VA 解码类型的 GUID。 UMD 返回数字,然后返回它为特定 DirectX VA 解码类型支持的呈现目标格式列表。
D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFOCOUNT和D3DDDICAPS_GETDECODECOMPRESSEDBUFFERINFO请求类型
Direct3D 运行时为D3DDDIARG_GETCAPS的 pInfo 成员指向的变量中的特定 DirectX VA 解码类型指定DXVADDI_DECODEINPUT结构。 UMD 返回加速视频解码所需的压缩缓冲区类型的数量和信息。 UMD 返回D3DDDIARG_GETCAPS 的 pData 成员指定的DXVADDI_DECODEBUFFERINFO结构的数组中有关压缩缓冲区类型的信息。
D3DDDICAPS_GETDECODECONFIGURATIONCOUNT和D3DDDICAPS_GETDECODECONFIGURATIONS请求类型
Direct3D 运行时为 D3DDDIARG_GETCAPS 的 pInfo 成员指向的变量中的特定 DirectX VA 解码类型指定DXVADDI_DECODEINPUT结构。 UMD 返回它支持的特定 DirectX VA 解码类型的数字和加速解码配置列表。 UMD 返回D3DDDIARG_GETCAPS的 pData 成员指定的DXVADDI_CONFIGPICTUREDECODE结构数组中的加速解码配置。