PFND3DDDI_DECODEEXTENSIONEXECUTE回调函数 (d3dumddi.h)
DecodeExtensionExecute 函数使用给定的 DirectX 视频加速器(DXVA)非标准解码扩展设备执行解码作。
语法
PFND3DDDI_DECODEEXTENSIONEXECUTE Pfnd3dddiDecodeextensionexecute;
HRESULT Pfnd3dddiDecodeextensionexecute(
HANDLE hDevice,
const D3DDDIARG_DECODEEXTENSIONEXECUTE *unnamedParam2
)
{...}
参数
hDevice
显示设备的句柄(图形上下文)。
unnamedParam2
pData [in, out]
指向描述要执行的 DXVA 解码作的 D3DDDIARG_DECODEEXTENSIONEXECUTE 结构的指针。
返回值
DecodeExtensionExecute 返回以下值之一:
返回代码 | 描述 |
---|---|
S_OK | 已成功执行 DirectX VA 解码作。 |
E_OUTOFMEMORY | DecodeExtensionExecute 无法为其分配所需的内存来完成。 |
言论
用户模式显示驱动程序(UMD)可以实现 DecodeExtensionExecute 函数,以支持标准解码类型的扩展(即非标准解码 GUID)。 这些非标准解码类型可用于配置加密和其他其他增强功能。
当 DirectX VA 2.0 解码器需要非标准扩展时,将调用 DecodeExtensionExecute。
为了与可能需要这些非标准的扩展的 DirectX VA 1.0 解码器兼容, 每当 DirectX VA 1.0 解码器发出执行调用时,只要 DirectX VA 1.0 解码器执行调用,任何大于 4 的bDXVA_Func值都会在 D3DDDIARG_DECODEEXTENSIONEXECUTE 结构的 函数 成员的最重要 8 位中设置。 每当 DirectX VA 1.0 解码器进行配置调用时,也会调用 decodeExtensionExecute,其中除 DXVA_QUERYORREPLYFUNCFLAG_DECODER_PROBE_QUERY (0xFFFFF1) 或 DXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY (0xFFFFF5) 标志之外的任何DXVA_ConfigQueryOrReplyFunc标志都设置在最重要的 24 位 函数中。 有关 函数位设置的含义的详细信息,请参阅 DXVA_ConfigQueryOrReplyFlag 和DXVA_ConfigQueryorReplyFunc变量 和 bDXVA_Func 变量 主题。
由于 DirectX VA 1.0 解码器的兼容性问题,这些解码器可能会在DXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY之前进行此类配置调用,因此这些解码器也可以在创建解码设备之前进行此类配置调用。 如果在创建解码设备之前进行此类配置调用,hDecodeD3DDDIARG_DECODEEXTENSIONEXECUTE 结构的成员,pData 参数指向的值为 NULL。 在这种情况下,如果驱动程序不支持独立于解码设备的情况,则可能需要驱动程序返回错误(例如,E_FAIL)。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
目标平台 | 桌面 |
标头 | d3dumddi.h (包括 D3dumddi.h) |