D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095 structure (d3d12umddi.h)
The D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095 structure contains the tile layout data for AV1 picture control subregions.
Syntax
typedef struct D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095 {
UINT64 RowCount;
UINT64 ColCount;
UINT64 RowHeights[D3D12DDI_VIDEO_ENCODER_AV1_MAX_TILE_ROWS_0095];
UINT64 ColWidths[D3D12DDI_VIDEO_ENCODER_AV1_MAX_TILE_COLS_0095];
UINT64 ContextUpdateTileId;
} D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095;
Members
RowCount
Number of tile rows in the frame.
ColCount
Number of tile columns in the frame.
RowHeights[D3D12DDI_VIDEO_ENCODER_AV1_MAX_TILE_ROWS_0095]
Array of tile row heights, where each element represents the height of the corresponding tile row in pixels.
ColWidths[D3D12DDI_VIDEO_ENCODER_AV1_MAX_TILE_COLS_0095]
Array of tile column widths, where each element represents the width of the corresponding tile column in pixels.
ContextUpdateTileId
Related to AV1 syntax context_update_tile_id.
Remarks
This structure operates in different ways using different D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080 configurations.
For D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0095_CONFIGURABLE_GRID_PARTITION:
- Input parameters: RowCount, ColCount, RowHeights, ColWidths within the reported tile caps. The integer values must match the AV1 codec standard expectations (ie. power of two, etc).
- The driver honors exactly and copies the exact same structure after EncodeFrame execution.
For D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0095_UNIFORM_GRID_PARTITION:
- Input parameters: RowCount, ColCount. The integer values must match the AV1 codec standard expectations (ie. power of two, etc).
- The driver copies RowCount/ColCount as passed by API Client, and returns also RowHeights, ColWidths after EncodeFrame execution.
For ContextUpdateTileId, is an input parameter from the API Client corresponding to the frame header context_update_tile_id AV1 syntax and if D3D12_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_FLAG_CONTEXT_UPDATE_TILE_ID was reported then the driver is able to overwrite the API client input after EncodeFrame execution, otherwise must be copied by the driver from the input to the post encode values.
Check the limitations for tile configuration returned in D3D12DDI_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG_0095 for AV1 codec.
D3D12DDI_VIDEO_ENCODER_AV1_MAX_TILE_ROWS_0095 and D3D12DDI_VIDEO_ENCODER_AV1_MAX_TILE_COLS_0095 are constants as defined in the AV1 codec specification. For the width and height parameter lists, make sure they fall under these AV1 codec standard-defined dimension limitations. The units of these arrays are measured in block of size D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2.SubregionBlockPixelsSize. For example if ColHeights[0] equals 2 and SubregionBlockPixelsSize equals 64,
then ColHeightInPixels**[0] = ColHeights[0] * SubregionBlockPixelsSize = 2 * 64 = 128
.
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
D3D12DDI_VIDEO_ENCODER_AV1_FRAME_SUBREGION_LAYOUT_CONFIG_SUPPORT_0095
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_0080_2
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for