D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT structure (d3d12video.h)
Provides data for calls to ID3D12VideoDevice::CheckFeatureSupport when the feature specified is D3D12_FEATURE_VIDEO_ENCODER_SUPPORT. Retrieves values indicating support for the specified video encoding features and configuration values.
Syntax
typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT {
UINT NodeIndex;
D3D12_VIDEO_ENCODER_CODEC Codec;
DXGI_FORMAT InputFormat;
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration;
D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence;
D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl;
D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh;
D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding;
UINT ResolutionsListCount;
const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *pResolutionList;
UINT MaxReferenceFramesInDPB;
D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags;
D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags;
D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile;
D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel;
D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport;
} D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT;
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 support is being queried.
InputFormat
A D3D12_VIDEO_ENCODER_PROFILE_DESC structure specifying the profile for which support is being queried.
CodecConfiguration
A D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION structure representing the codec configuration for which support is being queried.
CodecGopSequence
A D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE structure representing the GOP structure for which support is being queried.
RateControl
A D3D12_VIDEO_ENCODER_RATE_CONTROL representing the rate control settings for which support is being queried.
IntraRefresh
A member of the D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE enumeration specifying the intra refresh mode for which support is being queried.
SubregionFrameEncoding
A member of the D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE enumeration, specifying the subregion layout mode for which support is being queried.
ResolutionsListCount
A UINT specifying the number of resolutions provided in the pResolutionList field.
pResolutionList
A pointer to an array of D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC specifying the picture resolutions for which support is being queried.
MaxReferenceFramesInDPB
A UINT specifying Maximum number of previous reference frames to be used when calling EncodeFrame for inter-frames. This value is used to calculate the suggested level returned in the SuggestedLevel field.
ValidationFlags
Receives a bitwise OR combination of flags from the D3D12_VIDEO_ENCODER_VALIDATION_FLAGS enumeration that provide additional details if the D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK flag is not set in the SupportFlags field. See Remarks for more information.
SupportFlags
Receives a bitwise OR combination of flags from the D3D12_VIDEO_ENCODER_SUPPORT_FLAGS enumeration specifying support details for the specified encoder features and configuration values.
SuggestedProfile
Receives a D3D12_VIDEO_ENCODER_PROFILE_DESC specifying the recommended profile for the specified encoder features and configuration values.
SuggestedLevel
Receives a D3D12_VIDEO_ENCODER_LEVEL_SETTING specifying the recommended profile for the specified encoder features and configuration values. The recommended level assumes the maximum resolution from the list provided in pResolutionList.
pResolutionDependentSupport
Receives a pointer to an array of D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS structures specifying resolution-dependent support limits corresponding to the resolutions provided in pResolutionList.
Remarks
The support granted or rejected by this query indicates simultaneous support for all the features selected to be used in the same encoding session. There can be features that are supported individually when queried with individual query calls but not supported simultaneously.
For example, there can be support for intra refresh when checking D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE and there can be support for B frames when checking D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264.MaxL1ReferencesForB > 0. But it can be the case that intra refresh and B frames are not supported simultaneously. In this case, querying D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT with CodecGopSequence containing B frames and intra refresh row-based mode, the D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK flag will be set off.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Build 22000 |
Minimum supported server | Windows Build 22000 |
Header | d3d12video.h |