Поделиться через


перечисление D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080 (d3d12umddi.h)

Перечисление D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080 перечисляет возможные режимы кодирования кодировки кадра.

Синтаксис

typedef enum D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080 {
  D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_FULL_FRAME = 0,
  D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_BYTES_PER_SUBREGION = 1,
  D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED = 2,
  D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION = 3,
  D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME = 4,
  D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0095_UNIFORM_GRID_PARTITION = 5,
  D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0095_CONFIGURABLE_GRID_PARTITION = 6
} ;

Константы

 
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_FULL_FRAME
Значение: 0
Поддержка вывода полного кадра.
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_BYTES_PER_SUBREGION
Значение: 1
Указывает на поддержку для рамок, которые должны быть заданы в виде числа байтов на каждый подобласти.
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED
Значение: 2
Указывает, что опора для рамки должна быть задана в виде числа квадратных блоков на каждый подобласти. Число квадратных блоков не обязательно должно быть кратным размеру строки в квадратных блоках; т. е. не требуется выравнивание по строкам. Используйте D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION или D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME , если требуется задать выровненное по строкам число квадратных блоков.
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION
Значение: 3
Делит кадр на несколько срезов, определяемых количеством строк на срез. Размер строки (в пикселях) можно вычислить с помощью текущего разрешения и ПараметровBlockPixelsSize для текущего разрешения кадра.
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0080_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME
Значение: 4
Указывает количество срезов, на которые делится кадр.
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0095_UNIFORM_GRID_PARTITION
Значение: 5
Добавлено в Windows 11 версии 24H2 (WDDM 3.2). Позволяет драйверу равномерно секционировать кадр в сетку, при этом входные данные от клиента API будут содержать количество строк и столбцов. Драйвер возвращает высоту и ширину каждой ячейки в секционированной сетке после выполнения команды EncodeFrame в разрешенном буфере метаданных.

Для кодека AV1 это соответствует синтаксису спецификации AV1, uniform_tile_spacing_flag равно 1, при использовании D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_GRID_PARTITION плитки равномерно секционированы, за исключением правого и нижнего краев. Если измерения не могут быть секционированы точно, последняя плитка может иметь меньший размер.
D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_0095_CONFIGURABLE_GRID_PARTITION
Значение: 6
Добавлено в Windows 11 версии 24H2 (WDDM 3.2). Позволяет клиенту API полностью настроить раздел сетки кадра. Клиент API передает список строк и столбцов, а также высоту и ширину каждой ячейки в секционированной сетке в команде EncodeFrame.

Для кодека AV1 это соответствует uniform_tile_spacing_flag равно 0 означает, что размеры плиток кодируются.

Комментарии

Дополнительные сведения о поддержке плиток проверка связанных сведений о поддержке D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_CONFIG.

Общие сведения см. в разделе Кодировка видео D3D12 .

Требования

Требование Значение
Минимальная версия клиента Windows 11 (WDDM 3.0)
Верхняя часть d3d12umddi.h

См. также раздел

D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2

D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC_0082_0