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


структура D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 (d3d12umddi.h)

Если значение D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS отображается для соответствующей структуры, драйвер должен записать значение после выполнения EncodeFrame с изменениями или без изменений (копирование входных данных клиента API), выполненных драйвером. В противном случае драйвер должен скопировать значения из связанных входных данных клиента API при вызове EncodeFrame.

Синтаксис

typedef struct D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 {
  UINT64                                                          CompoundPredictionType;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG_0095        LoopFilter;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG_0095  LoopFilterDelta;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG_0095       Quantization;
  D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG_0095 QuantizationDelta;
  D3D12DDI_VIDEO_ENCODER_AV1_CDEF_CONFIG_0095                     CDEF;
  D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG_0095             SegmentationConfig;
  UINT64                                                          PrimaryRefFrame;
  UINT64                                                          ReferenceIndices[7];
} D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095;

Члены

CompoundPredictionType

Связанный флаг D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_COMPOUND_PREDICTION_MODE.

LoopFilter

Связанный флаг D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER.

LoopFilterDelta

Связанный флаг D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER_DELTA.

Quantization

Связанный флаг D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION.

QuantizationDelta

Связанный флаг D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION_DELTA.

CDEF

Связанный флаг D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CDEF_DATA.

SegmentationConfig

Этот элемент работает в разных режимах в зависимости от выбранного режима сегментации.

  • Если для текущего кадра включена D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_0095_FLAG_ENABLE_FRAME_SEGMENTATION_AUTO , драйвер:
    • Вычисляет и записывает SegmentationConfig, который будет использоваться клиентом API для написания синтаксиса segmentation_params() в заголовке кадра.
    • Вычисляет и записывает данные карты read_segment_id() непосредственно в сжатый битовый поток.
  • Если D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_FLAG_ENABLE_FRAME_SEGMENTATION_CUSTOM включена для текущего кадра, драйвер:
    • Скопируйте сюда объект SegmentationConfig , отправленный клиентом API в параметрах кодирования кадра для клиента API, чтобы закодировать синтаксис segmentation_params() в заголовке кадра.
    • Скопируйте карту read_segment_id(), отправленную клиентом API, в параметры кодирования кадра непосредственно в сжатом битовом потоке.
  • В противном случае (оба режима сегментации отключены):
    • Драйвер должен записать все нули.
    • Клиент API записывает segmentation_enabled = 0 соответствующим образом в разделе segmentation_params() заголовка кадра.

PrimaryRefFrame

Связанный флаг D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_PRIMARY_REF_FRAME. Если флаг установлен, драйвер управляет выбором основной опорной рамки, от которой наследуются идентификаторы сегментов, CDF и т. д.

При использовании вместе с D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAG_AUTO_SEGMENTATION позволяет драйверу принудительно применять значение, отличное от PRIMARY_REF_NONE, если применимо, предоставляя драйверу полный контроль над синтаксисом AV1: segmentation_update_map, segmentation_temporal_update и segmentation_update_data в segmentation_params().

ReferenceIndices[7]

Когда отображается флаг, драйвер может изменить порядок или переназначить (но не изменить количество ссылок) массив ReferenceIndices на основе введенных пользователем D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095. ReferenceIndices. В противном случае драйвер должен скопировать все записи массива этого параметра "как есть" из D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095.ReferenceIndices.

Клиент API записывает заголовок рисунка ref_frame_idx синтаксис AV1 из этого выходного параметра.

Комментарии

Дополнительные сведения см. в разделе Кодирование видео D3D12 AV1 .

Требования

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

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

D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095

D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS