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


Перечисление D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080 (d3d12umddi.h)

Перечисление D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080 задает флаги для управления скоростью.

Синтаксис

typedef enum D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAGS_0080 {
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_NONE = 0x0,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_DELTA_QP = 0x1,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_FRAME_ANALYSIS = 0x2,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE = 0x4,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_INITIAL_QP = 0x8,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_MAX_FRAME_SIZE = 0x10,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES = 0x20,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_EXTENSION1_SUPPORT = 0x40,
  D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_QUALITY_VS_SPEED = 0x80
} ;

Константы

 
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_NONE
Значение: 0x0
Флаги контроля скорости отсутствуют.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_DELTA_QP
Значение: 0x1
Если выбранный режим управления скоростью D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP, этот флаг не действует, так как значения QP в поле pRateControlQPMap используются в качестве абсолютных значений QP.

Для других режимов управления скоростью этот флаг позволяет интерпретировать pRateControlQPMap как разностную карту QP, которая будет использоваться для текущей операции кодирования кадра. Значения, предоставленные на карте, увеличиваются или уменьшаются поверх значений QP, определяемых алгоритмом управления скоростью, или базовой константой QP, заданной в режиме CQP.

Использование разностной корректировки QP вместе с некоторыми режимами управления активной скоростью может нарушить ограничения скорости, так как оно явно изменяет значения QP, выбранные алгоритмом бюджетирования управления скоростью.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_FRAME_ANALYSIS
Значение: 0x2
Если в D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS указана поддержка, этот флаг позволяет алгоритму управления скоростью оптимизировать использование скорости путем выбора значений QP на основе статистики, собранной путем анализа кадров при первом проходе.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_QP_RANGE
Значение: 0x4
Если задано значение , используйте значения MinQp и MaxQp в качестве диапазона для алгоритма управления скоростью.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_INITIAL_QP
Значение: 0x8
Если задано значение , используйте значения InitialQP в качестве диапазона для алгоритма управления скоростью.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_ENABLE_MAX_FRAME_SIZE
Значение: 0x10
Если поддерживается D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0083_0_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE , алгоритм управления скоростью должен ограничивать максимальный размер кадра указанным параметром в конфигурации управления скоростью.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0080_1_ENABLE_VBV_SIZES
Значение: 0x20
Если этот параметр задан, включите использование VBVCapacity и InitialVBVFullness.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_EXTENSION1_SUPPORT
Значение: 0x40
Требуется задать D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT. См. заметки.
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_QUALITY_VS_SPEED
Значение: 0x80
Требуется D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_EXTENSION1_SUPPORT и D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_QUALITY_VS_SPEED_AVAILABLE. Если этот параметр включен, указывает на использование QualityVsSpeed в структуре управления скоростью.

Комментарии

Если D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_FLAG_0096_ENABLE_EXTENSION1_SUPPORT включен, это означает, что структуры управления скоростью, расширенные для кодирования AV1, будут использоваться в D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS.pConfiguration_Xxx, как показано в следующей таблице.

Режим управления скоростью при включенном флаге Тип D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS DataSize
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_ABSOLUTE_QP_MAP)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP1 sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP1)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR1 sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR1)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1 sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR1)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1 sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR1)

В противном случае устаревшие структуры будут использоваться при отключении, как показано в следующей таблице.

Режим управления скоростью при отключении флага Тип D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS DataSize
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP NULL 0
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CQP)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR)
D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR sizeof(D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR)

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

Требования

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

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

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_0080_2

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_CBR_0080

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_QVBR_0080_2

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_VBR_0080

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0