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


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

Структура D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095 содержит параметры поддержки конфигурации для кодирования AV1.

Синтаксис

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;

Члены

SupportedFeatureFlags

Выходной параметр. Перечисление D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS , указывающее, какие функции поддерживаются для кодека. Поддерживаемые функции могут быть заданы клиентом API или нет.

RequiredFeatureFlags

Выходной параметр. Перечисление D3D12DDI_VIDEO_ENCODER_AV1_FEATURE_0095_FLAGS , указывающее, какие функции, необходимые драйверу, должны быть заданы клиентом API.

SupportedInterpolationFilters

Выходной параметр. Перечисление D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS_0095_FLAGS , указывающее, какие значения можно выбрать в качестве входных параметров типа D3D12DDI_VIDEO_ENCODER_AV1_INTERPOLATION_FILTERS.

SupportedRestorationParams[3]

Выходной параметр. Перечисление D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_0095_FLAGS , указывающее, какие значения можно выбрать в качестве входных параметров для FrameRestorationType и LoopRestorationPixelSize в D3D12DDI_VIDEO_ENCODER_AV1_RESTORATION_CONFIG_0095.

Первое индексирование массива соответствует типу фильтра восстановления.

Индекс i в SupportedRestorationParams[i][j] Тип фильтра
0 ПЕРЕКЛЮЧАЕМАЯ
1 ВИНЕР
2 SGRPROJ

Обратите внимание, что индексирование типов фильтров соответствует D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE минус 1 (пропуская D3D12_VIDEO_ENCODER_AV1_RESTORATION_TYPE_DISABLED).

Второе индексирование массива соответствует плоскостям.

Index j в SupportedRestorationParams[i][j] Плоскости
0 Плоскость Y
1 Плоскость U
2 V плоскость

Значение, возвращаемое в SupportedRestorationParams[i][j], представляет собой маску битовых отложений, указывающую, является ли i-й фильтр в j-й плоскости либо:

  • Не поддерживается, указан параметр SupportedRestorationParams[i][j] = D3D12_VIDEO_ENCODER_AV1_RESTORATION_SUPPORT_FLAG_NOT_SUPPORTED.
  • Поддерживается с любым из D3D12_VIDEO_ENCODER_AV1_RESTORATION_TILESIZE, как указано флагами комбинируемых битов в SupportedRestorationParams[i][j].

SupportedSegmentationModes

Выходной параметр. Перечисление D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_MODE_0095_FLAGS , указывающее, какие режимы сегментации можно выбрать в D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_CONFIG_0095.

SupportedTxModes[4]

Выходной параметр. Массив D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095_FLAGS значений, указывающий, какие значения режима преобразования можно выбрать в качестве входных параметров типа D3D12DDI_VIDEO_ENCODER_AV1_TX_MODE_0095 для каждого D3D12DDI_VIDEO_ENCODER_AV1_FRAME_TYPE_0095. Драйвер должен поддерживать по крайней мере один режим для каждого типа кадра; то есть значение маски не может быть равно 0.

SegmentationBlockSize

Выходной параметр. Перечисление D3D12DDI_VIDEO_ENCODER_AV1_SEGMENTATION_BLOCK_SIZE_0095 , указывающее размер блока для карты сегментов. Это как для входных блоков в D3D12_VIDEO_ENCODER_AV1_SEGMENTATION_MAP_0095 для пользовательской сегментации, так и для размера блока карты сегментов, записанной драйвером в сжатом битовом потоке при автоматической сегментации.

PostEncodeValuesFlags

Перечисление D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS , указывающее, какие функции кодирования AV1 базовый кодировщик может переопределить связанные значения синтаксиса AV1 для или принять точно настраиваемые входные данные клиента API.

MaxTemporalLayers

Указывает максимальное количество поддерживаемых темпоральных слоев. Сообщаемые значения должны находиться в диапазоне [1..MaxTemporalIdSupported + 1]. Сообщаемое значение 1. Темпоральная масштабируемость не поддерживается.

MaxSpatialLayers

Задает максимальное количество поддерживаемых пространственных слоев. Сообщаемые значения должны находиться в диапазоне [1..MaxSpatialIdSupported + 1]. Сообщаемое значение 1. Поддержка пространственной масштабируемости отсутствует.

Комментарии

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

Требования

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

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

D3D12DDICAPS_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_DATA_0083_0