D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM structure (d3d12video.h)

Represents the histogram output buffer for a single component.

Syntax

typedef struct D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM {
  UINT64         Offset;
  ID3D12Resource *pBuffer;
} D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM;

Members

Offset

The offset location in pBuffer to write the component histogram. Must be 256-byte aligned. Set to zero when a component is disabled.

pBuffer

And ID3D12Resource representing the target buffer for hardware to write the components histogram. Set to a nullptr when the component histogram is disabled.

Remarks

Histogram output buffers are provided in the Histograms field of the D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 structure.

The following D3D12_HEAP_FLAGS are allowed when allocating heaps for video decode histograms.

  • D3D12_HEAP_FLAG_SHARED
  • D3D12_HEAP_FLAG_ALLOW_DISPLAY
  • D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER
  • D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES
  • D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
  • D3D12_HEAP_FLAG_HARDWARE_PROTECTED
  • D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH

The following D3D12_HEAP_FLAGS are not allowed when allocating heaps for video decode histograms.

  • D3D12_HEAP_FLAG_DENY_BUFFERS

The following D3D12_RESOURCE_FLAGS are allowed when allocating resources for video decode histograms.

  • D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
  • D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
  • D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
  • D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
  • D3D12_RESOURCE_FLAG_ALLOW_TEXTURE_DATA_INHERITANCE

The following D3D12_RESOURCE_FLAGS are not allowed when allocating resources for video decode histograms.

  • D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
  • D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
  • D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY
  • D3D12_RESOURCE_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURE_PLACEMENT
  • D3D12_RESOURCE_FLAG_ALLOW_ONLY_RT_DS_TEXTURE_PLACEMENT

Requirements

Requirement Value
Header d3d12video.h