D3D12_VIDEO_DECODER_HEAP_DESC structure (d3d12video.h)

Describes a ID3D12VideoDecoderHeap. Pass this structure into ID3D12VideoDevice::CreateVideoDecoderHeap to create an instance of ID3D12VideoDecoderHeap.


typedef struct D3D12_VIDEO_DECODER_HEAP_DESC {
  UINT                             NodeMask;
  UINT                             DecodeWidth;
  UINT                             DecodeHeight;
  DXGI_FORMAT                      Format;
  DXGI_RATIONAL                    FrameRate;
  UINT                             BitRate;
  UINT                             MaxDecodePictureBufferCount;



The node mask specifying the physical adapter on which the video processor will be used. For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node, i.e. the device's physical adapter, to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set.


A D3D12_VIDEO_DECODE_CONFIGURATION structure specifying the configuration of the video decoder.


The decode width of the bitstream to be decoded.


The decode height of the bitstream to be decoded.


A DXGI_FORMAT structure specifying the format of the bitstream to be decoded.


The frame rate of the input video stream. For more information, see the Remarks section.


The average bits per second data compression rate for the compressed video stream. For more information, see the Remarks section.


The maximum number of decode picture buffers this stream can have.


The BitRate and FrameRate parameters may be used by drivers to inform heuristics such as intermediate allocation sizes. Decoding a frame may fail if these values are insufficient for the video stream. Use D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS to determine if the video decode succeeded. If decode fails due to insufficient BitRate and FrameRate parameters, the Status field of this query is set to D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED. This query also returns new BitRate and FrameRate values that would succeed.

The BitRate and FrameRate parameters may also be set to zero. Drivers make worst-case assumptions when these values are used which may result in higher memory consumption with some adapters.


Header d3d12video.h