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


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

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

Синтаксис

typedef enum D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAGS {
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_NONE = 0,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION = 0x1,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION_DELTA = 0x2,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER = 0x4,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER_DELTA = 0x8,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CDEF_DATA = 0x10,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CONTEXT_UPDATE_TILE_ID = 0x20,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_COMPOUND_PREDICTION_MODE = 0x40,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_PRIMARY_REF_FRAME = 0x80,
  D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_REFERENCE_INDICES = 0x100
} ;

Константы

 
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_NONE
Значение: 0
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION
Значение: 0x1
Связанные с D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_CONFIG_0095 значениями. Используется для написания кода quantization_params().
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_QUANTIZATION_DELTA
Значение: 0x2
Связанные с D3D12DDI_VIDEO_ENCODER_CODEC_AV1_QUANTIZATION_DELTA_CONFIG_0095 значениями. Используется для написания кода delta_q_params().
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER
Значение: 0x4
Связанные с D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_CONFIG_0095 значениями. Используется для написания кода синтаксиса AV1 loop_filter_params().
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_LOOP_FILTER_DELTA
Значение: 0x8
Связанные с D3D12DDI_VIDEO_ENCODER_CODEC_AV1_LOOP_FILTER_DELTA_CONFIG_0095 значениями. Используется для написания кода синтаксиса AV1 delta_lf_params().
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CDEF_DATA
Значение: 0x10
Связанные с D3D12DDI_VIDEO_ENCODER_AV1_CDEF_CONFIG_0095 значениями. Используется для написания кода синтаксиса AV1 cdef_params().
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_CONTEXT_UPDATE_TILE_ID
Значение: 0x20
Относится к члену ContextUpdateTileId в D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095. Используется для написания синтаксиса элементов AV1 context_update_tile_id в tile_info().
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_COMPOUND_PREDICTION_MODE
Значение: 0x40
Связанные со значениями D3D12DDI_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_0095 .

Если клиент API выбирает D3D12DDI_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_REFERENCE и этот флаг установлен, драйвер возвращает D3D12DDI_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE в значениях после кодирования. Возвращаемое значение должно использоваться для кода синтаксиса reference_select = 0 (SINGLE) или reference_select = 1 (COMPOUND).

Если клиент API выбирает D3D12DDI_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_SINGLE и этот флаг установлен, драйвер возвращает D3D12DDI_VIDEO_ENCODER_AV1_COMP_PREDICTION_TYPE_COMPOUND_SINGLE , а reference_select должен быть закодирован как 0 (SINGLE).
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_PRIMARY_REF_FRAME
Значение: 0x80
Относится к элементу PrimaryRefFrame в D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095. Используется для написания синтаксиса элементов AV1 primary_ref_frame в uncompressed_header().
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095_FLAG_REFERENCE_INDICES
Значение: 0x100
Когда драйвер сообщает о флаге, драйвер может изменить порядок или переназначить (но не изменить количество ссылок) D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095. ReferenceIndices выходные данные массива на основе введенных пользователем D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095. ReferenceIndices. В противном случае драйвер должен скопировать каждую запись массива этого выходного параметра post encode as-is из D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA_0095.ReferenceIndices.

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

Комментарии

Если bitflag имеет значение SET для данной функции, драйвер получает связанные входные данные клиента API и может переопределить все или определенные параметры связанной структуры с заданным флагом отчета, который затем будет записывать обратно в D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 с окончательными значениями для клиента API, чтобы соответствующим образом переупаковать заголовки AV1. Клиент API может сравнить это со связанной структурой входных данных, чтобы определить изменения драйвера, если таковые есть.

Если bitflag не задано для данной функции, драйвер точно учитывает входные данные клиента API и копирует входные значения в D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095. Таким образом, клиент всегда может скопировать значения после кодирования, чтобы упаковать заголовки напрямую.

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

Требования

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

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

D3D12DDI_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT_0095