структура 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