D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095 structure (d3d12umddi.h)
The D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095 structure contains configuration support parameters for AV1 encoding.
Syntax
typedef struct D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095 {
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS SupportedFeatureFlags;
D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS RequiredFeatureFlags;
D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_0095_FLAGS SupportedInterpolationFilters;
D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_0095_FLAGS SupportedRestorationParams[3][3];
D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_0095_FLAGS SupportedSegmentationModes;
D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095_FLAGS SupportedTxModes[4];
D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_0095 SegmentationBlockSize;
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS PostEncodeValuesFlags;
UINT MaxTemporalLayers;
UINT MaxSpatialLayers;
} D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095;
Members
SupportedFeatureFlags
Output parameter. A D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS enumeration that indicates which features are supported for the codec. Supported features can be set or not by the API Client.
RequiredFeatureFlags
Output parameter. A D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS enumeration that indicates which features the driver requires to be set by the API Client.
SupportedInterpolationFilters
Output parameter. A D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_0095_FLAGS enumeration that indicates which values can be selected as input parameters of type D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS.
SupportedRestorationParams[3]
Output parameter. A D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_0095_FLAGS enumeration that indicates which values can be selected as input parameters for FrameRestorationType and LoopRestorationPixelSize in D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_CONFIG_0095.
The first array indexing corresponds to the restoration filter type.
Index i in SupportedRestorationParams[i][j] | Filter type |
---|---|
0 | SWITCHABLE |
1 | WIENER |
2 | SGRPROJ |
Note the indexing of the filter types corresponds to D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE minus 1 (skipping D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED).
The second array indexing corresponds to the planes.
Index j in SupportedRestorationParams[i][j] | Plane |
---|---|
0 | Y plane |
1 | U plane |
2 | V plane |
The value returned in SupportedRestorationParams[i][j] is a bitflag mask indicating whether the i-th filter in the j-th plane is either:
- Not supported indicated by SupportedRestorationParams[i][j] = D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED.
- Supported with any of the D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE as indicated by the combinable bit flags in SupportedRestorationParams[i][j].
SupportedSegmentationModes
Output parameter. A D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_0095_FLAGS enumeration that indicates which segmentation modes can be selected in D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG_0095.
SupportedTxModes[4]
Output parameter. An array of D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095_FLAGS values that indicates which transform mode values can be selected as input parameters of type D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095 for each different D3D12DDI_VIDEO_ENCODER_AV1_FRAME_TYPE_0095. The driver must support at least 1 mode for each frame type; that is, the mask value can't be 0.
SegmentationBlockSize
Output parameter. A D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_0095 enumeration that indicates the block size for the segment map. This is both for the input blocks in D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP_0095 for custom segmentation or the block size of the segment map written in the compressed bitstream by the driver in auto segmentation.
PostEncodeValuesFlags
A D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS enumeration that specifies which AV1 encoding features the underlying encoder is able to override the associated AV1 syntax values for or accept API Client configurable input exactly.
MaxTemporalLayers
Specifies the maximum number of temporal layers that can be supported. The reported values must be in the range [1..MaxTemporalIdSupported + 1]. A reported value 1, there is no temporal scalability support.
MaxSpatialLayers
Specifies the maximum number of spatial layers that can be supported. The reported values must be in the range [1..MaxSpatialIdSupported + 1]. A reported value 1, there is no spatial scalability support.
Remarks
See D3D12 AV1 video encoding for more information.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 11, version 24H2 (WDDM 3.2) |
Header | d3d12umddi.h |
See also
D3D12DDICAPS_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_DATA_0083_0