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


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

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

Синтаксис

typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0 {
  UINT                                                     IntraRefreshFrameIndex;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080        Flags;
  D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0 PictureControlCodecData;
  D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080              ReferenceFrames;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0;

Члены

IntraRefreshFrameIndex

При запросе внутренней волны обновления для IntraRefreshFramesDuration кадры, указав флаг D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_0080_REQUEST_INTRA_REFRESH, это значение указывает для текущего рисунка индекс кадра во внутренней волне обновления. Диапазон значений задается узлом в диапазоне от [0 доIntraRefreshFramesDuration), чтобы указать состояние сеанса внутри обновления драйверу.

Flags

Значение D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS_0080, указывающее флаги дескриптора элемента управления рисунками для текущей операции кодирования кадров.

PictureControlCodecData

Структура D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0, содержащая данные кодека для элемента управления рисунками. В зависимости от выбранного режима управления скоростью значения параметра квантизации (QP) интерпретируются по-разному.

ReferenceFrames

Структура D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080, содержащая восстановленные изображения из прошлых операций кодирования выходных данных.

Замечания

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

Следующие замечания содержат рекомендации по управлению кадрами.

Узел вызывает CodeFrame в порядке кодирования на основе периодической последовательности типа рисунка, настроенной в структуре кодека изображений (GOP) после переупорядочения кадра B при необходимости.

Различные кодеки могут использовать собственные способы индексирования этой структуры и сохранения метаданных состояния. См. параметры рисунка кодека, которые также передаются в операции EncodeFrame, содержащей такие сведения.

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0082_0_RECONSTRUCTED_FRAMES_REQUIRE_CONTIGUOUS_TEXTURE_ARRAYS указывает требование массивов текстур для полей hDrvTexture2Ds и pSubresources полей структуры D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080.

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

При написании темпоральных слоев рисунок можно использовать только в качестве эталонного рисунка на ТемпорЛейерIndex слоев, которые меньше собственного числа слоев. Индексы темпорального слоя указываются в структуре управления рисунками и в дескрипторах эталонных рисунков.

Ограничения оборудования для количества ссылочных рисунков выражаются с точки зрения максимального количества элементов, присутствующих в списках L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) и L1 (MaxL1ReferencesForB) и ограничение на MaxDPBCapacity максимальное количество уникальных индексов в (L0 union L1), которые сопоставляются со значением pReferenceFramesReconPictureDescriptors, предоставленных в D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0.

Нет ограничений на количество декодированных записей буфера рисунков (DPB), передаваемых в pReferenceFramesReconPictureDescriptors, но вместо этого в количестве записей в этом массиве, ссылающихся на списки L0 и L1. Это позволяет пользователю отслеживать состояние DPB в pReferenceFramesReconPictureDescriptors в пределах ограничений, определенных стандартными ограничениями кодека, и использовать только подмножество, ограниченное ограничениями оборудования при вызове EncodeFrame. Например, для кодирования HEVC вызывающий объект может отслеживать последние 15 закодированных изображений в pReferenceFramesReconPictureDescriptors, но использовать только подмножество рисунков, которые попадают в ограничения оборудования, путем назначения ограниченного количества уникальных индексов в списках L0 и L1.

Обратите внимание, что запрос на мгновенное обновление декодера (IDR) будет выступать в качестве барьера между ссылками на кадры и буфером DPB, а его состояние может потребоваться соответствующим образом промыть узлом.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11 (WDDM 3.0)
заголовка d3d12umddi.h

См. также

D3D12DDI_VIDEO_ENCODER_ENCODEFRAME_INPUT_STREAM_ARGUMENTS_0082_0

D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_0082_0

D3D12DDI_VIDEO_ENCODER_RATE_CONTROL_MODE_0080

D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080

D3D12DDI_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS_0082_0

D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAGS_0083_0

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0