PFND3D11_1DDI_VIDEODECODERBEGINFRAME回调函数 (d3d10umddi.h)
启动 DirectX 视频加速 (DXVA) 解码作以解码视频帧。
语法
PFND3D11_1DDI_VIDEODECODERBEGINFRAME Pfnd3d111DdiVideodecoderbeginframe;
HRESULT Pfnd3d111DdiVideodecoderbeginframe(
D3D10DDI_HDEVICE unnamedParam1,
D3D11_1DDI_HDECODE unnamedParam2,
const D3D11_1DDIARG_VIDEODECODERBEGINFRAME *unnamedParam3
)
{...}
参数
unnamedParam1
hDevice [in]
显示设备的句柄(图形上下文)。
unnamedParam2
hDecoder [in]
通过调用 CreateVideoDecoder 函数创建的视频解码器对象的句柄。
unnamedParam3
pBeginFrame [in]
指向 D3D11_1DDIARG_VIDEODECODERBEGINFRAME 结构的指针。 有关详细信息,请参阅“备注”部分。
返回值
VideoDecoderBeginFrame 返回以下值之一:
返回代码 | 描述 |
---|---|
S_OK | 解码作已成功启动。 |
E_OUTOFMEMORY | 内存无法完成作。 |
言论
如果 VideoDecoderBeginFrame 返回 S_OK,则 Microsoft Direct3D 运行时调用 VideoDecoderSubmitBuffers 函数来执行解码作。 执行所有解码作后,运行时将调用 VideoDecoderEndFrame 函数来停止视频帧上的解码作。
注释VideoDecoderBeginFrame 的每个调用都必须具有对 VideoDecoderEndFrame的匹配调用,并且无法嵌套 VideoDecoderBeginFrame 调用。
- 将接收解密和解码数据的资源。
-
用于加密视频帧数据的内容密钥。
如果此结构的 pContentKey 成员未设置为 NULL,则此成员引用的缓冲区包含每帧内容键。 此密钥必须用于解密数据,而不是使用会话密钥。
注意 如果 pContentKey 成员未设置为 NULL,则此成员引用的缓冲区将使用会话密钥和 AES-ECB 算法进行加密。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8 |
支持的最低服务器 | Windows Server 2012 |
目标平台 | 桌面 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |