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