ID3D11VideoContext3::D ecoderBeginFrame1 方法 (d3d11_4.h)

启动解码操作以解码视频帧。

语法

HRESULT DecoderBeginFrame1(
  ID3D11VideoDecoder           *pDecoder,
  ID3D11VideoDecoderOutputView *pView,
  UINT                         ContentKeySize,
  const void                   *pContentKey,
  UINT                         NumComponentHistograms,
  const UINT                   *pHistogramOffsets,
  ID3D11Buffer                 * const *ppHistogramBuffers
);

参数

pDecoder

指向 ID3D11VideoDecoder 接口的 指针。 若要获取此指针,请调用 ID3D11VideoDevice::CreateVideoDecoder

pView

指向 ID3D11VideoDecoderOutputView 接口的 指针。 此接口描述将接收解码帧的资源。 若要获取此指针,请调用 ID3D11VideoDevice::CreateVideoDecoderOutputView

ContentKeySize

在 pContentKey 中指定的内容密钥的大小。 如果 pContentKey 为 NULL,请将 ContentKeySize 设置为零。

pContentKey

指向用于加密帧数据的内容密钥的可选指针。 如果未使用任何内容密钥,请将此参数设置为 NULL。 如果调用方提供内容密钥,则调用方必须使用会话密钥来加密内容密钥。

NumComponentHistograms

要为其记录直方图的分量数。 使用 D3D11_FEATURE_VIDEO_DECODE_HISTOGRAM 检查以获取支持。 未录制直方图或不支持该功能时,请使用零。 指定比格式少的组件意味着这些组件未启用直方图记录。 最大组件数定义为 D3D11_4_VIDEO_DECODER_MAX_HISTOGRAM_COMPONENTS

pHistogramOffsets

ppHistogramBuffers 并行数组中的起始缓冲区偏移位置数组。 使用 D3D11_VIDEO_DECODE_HISTOGRAM_COMPONENT 为数组编制索引。 如果未请求组件,请将偏移量指定为零。 偏移量必须对齐 256 字节。

ppHistogramBuffers

用于编写组件直方图的硬件的目标缓冲区数组。 使用 D3D11_VIDEO_DECODE_HISTOGRAM_COMPONENT 为数组编制索引。 禁用或不支持组件直方图时,将此参数设置为 nullptr

返回值

如果成功,则返回 S_OK

注解

为视频解码直方图分配资源时,允许使用以下 D3D11_RESOURCE_MISC 标志。

  • D3D11_RESOURCE_MISC_SHARED
  • D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS
  • D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS
  • D3D11_RESOURCE_MISC_BUFFER_STRUCTURED
  • D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX
  • D3D11_RESOURCE_MISC_SHARED_NTHANDLE
  • D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE
  • D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER

不允许所有其他D3D11_RESOURCE_MISC标志。

要求

要求
最低受支持的客户端 Windows 10内部版本 20348
最低受支持的服务器 Windows 10内部版本 20348
标头 d3d11_4.h