структура 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 .
Следующие замечания содержат рекомендации по управлению кадрами.
Узел вызывает EncodeFrame в порядке кодирования на основе периодической последовательности типа рисунка, настроенной в структуре группы кодеков изображений (GOP), после переупорядочения B-кадра с помощью POC, если это необходимо.
Различные кодеки могут использовать собственные способы индексирования этой структуры и сохранения метаданных состояния. Обратитесь к параметрам изображения кодека, которые также передаются в операции EncodeFrame , которые содержат такие сведения.
D3D12DDI_VIDEO_ENCODER_SUPPORT_FLAG_0082_0_RECONSTRUCTED_FRAMES_REQUIRE_CONTIGUOUS_TEXTURE_ARRAYS указывает требование к массивам текстур для полей hDrvTexture2Ds и pSubresourcesструктуры D3D12DDI_VIDEO_ENCODE_REFERENCE_FRAMES_0080 .
Выходные данные операции кодирования для заданного кадра должны также возвращать восстановленный рисунок, если он помечен для использования в качестве ссылки в следующих кадрах. Клиент передает восстановленные изображения в будущих командах EncodeFrame .
При кодировании темпоральных слоев рисунок можно использовать только в качестве эталонного рисунка на слоях TemporalLayerIndex , которые меньше, чем его собственный номер слоя. Индексы темпорального слоя указываются в структуре элемента управления изображением и в дескрипторах эталонных рисунков.
Аппаратные ограничения для количества эталонных изображений выражаются в терминах максимального количества элементов, присутствующих в списках 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по