D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS structure (d3d12video.h)

Provides data for calls to ID3D12VideoDevice::CheckFeatureSupport when the feature specified is D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS. Retrieves values indicating resource requirements for video encoding with the specified encoding configuration.

Syntax

typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS {
  UINT                                        NodeIndex;
  D3D12_VIDEO_ENCODER_CODEC                   Codec;
  D3D12_VIDEO_ENCODER_PROFILE_DESC            Profile;
  DXGI_FORMAT                                 InputFormat;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution;
  BOOL                                        IsSupported;
  UINT                                        CompressedBitstreamBufferAccessAlignment;
  UINT                                        EncoderMetadataBufferAccessAlignment;
  UINT                                        MaxEncoderOutputMetadataBufferSize;
} D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS;

Members

NodeIndex

In multi-adapter operation, this indicates which physical adapter of the device this operation applies to.

Codec

A member of the D3D12_VIDEO_ENCODER_CODEC enumeration specifying the codec for which resource requirements are being queried.

Profile

A D3D12_VIDEO_ENCODER_PROFILE_DESC structure specifying the profile for which resource requirements are being queried.

InputFormat

A DXGI_FORMAT structure representing the input format for which resource requirements are being queried.

PictureTargetResolution

A D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC structure representing the resolution for which resource requirements are being queried.

IsSupported

Receives a boolean value indicating if the specified parameters are supported.

CompressedBitstreamBufferAccessAlignment

Receives a UINT indicating the alignment required in bytes for the resource to be passed in D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM.pBuffer and D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM.Offset. If no alignment is required, 1 should is returned to indicate 1 byte (trivial) alignment.

EncoderMetadataBufferAccessAlignment

Receives a UINT indicating the alignment required in bytes for the resource to be passed in D3D12_VIDEO_ENCODER_OUTPUT_ARGUMENTS.pEncoderOutputMetadata. If no alignment required, 1 should be reported to convey 1 byte (trivial) alignment.

MaxEncoderOutputMetadataBufferSize

Receives a UINT indicating the maximum size in bytes needed for the ID3D12Resource that will be allocated by the host and used as output in the EncodeFrame for output encoder metadata based on the input arguments.

Requirements

Requirement Value
Minimum supported client Windows Build 22000
Minimum supported server Windows Build 22000
Header d3d12video.h

See also

DXGI_FORMAT

ID3D12Resource

EncodeFrame