структура D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0 (d3d12umddi.h)
Структура D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0 описывает элементы управления на уровне рисунка для связанной команды EncodeFrame для кодирования H.264.
Синтаксис
typedef struct D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0 {
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS_0080 Flags;
D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_H264_0080 FrameType;
UINT pic_parameter_set_id;
UINT idr_pic_id;
UINT PictureOrderCountNumber;
UINT FrameDecodingOrderNumber;
UINT TemporalLayerIndex;
UINT List0ReferenceFramesCount;
UINT *pList0ReferenceFrames;
UINT List1ReferenceFramesCount;
UINT *pList1ReferenceFrames;
UINT ReferenceFramesReconPictureDescriptorsCount;
D3D12DDI_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264_0080 *pReferenceFramesReconPictureDescriptors;
UCHAR adaptive_ref_pic_marking_mode_flag;
UINT RefPicMarkingOperationsCommandsCount;
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION_0082_0 *pRefPicMarkingOperationsCommands;
UINT List0RefPicModificationsCount;
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0 *pList0RefPicModifications;
UINT List1RefPicModificationsCount;
D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0 *pList1RefPicModifications;
UINT QPMapValuesCount;
INT8 *pRateControlQPMap;
} D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_0082_0;
Члены
Flags
Значение D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS_0080 , указывающее флаги конфигурации для закодированного кадра. Флаги можно объединять.
FrameType
Значение D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_H264_0080 , которое задает тип рисунка. Прежде чем выбирать значение, убедитесь, что флаги кодека поддерживают тип.
Примечание
FrameType должен быть синхронизирован с конфигурацией структуры группы изображений (GOP), заданной узлом. GOP определяется в порядке отображения. Выбор типа рисунка должен соответствовать GOP, но в порядке кодирования.
pic_parameter_set_id
Значение, используемое в заголовках среза текущего кадра для ссылки на набор параметров рисунка (PPS).
idr_pic_id
Если кадр имеет тип D3D12DDI_VIDEO_ENCODER_FRAME_TYPE_H264_0080_IDR_FRAME, idr_pic_id определяет кадр мгновенного обновления декодера (IDR), который будет использоваться во всех заголовках срезов, присутствующих в кадре.
PictureOrderCountNumber
Порядок отображения текущего кадра.
FrameDecodingOrderNumber
Порядок декодирования кадра с семантикой, обозначенной заголовком среза frame_num элементом, который увеличивается после каждого эталонного рисунка.
TemporalLayerIndex
Номер слоя рисунка в темпоральной иерархии. Проверьте D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_0082_0 максимальное количество слоев.
List0ReferenceFramesCount
Количество прошлых ссылок на кадр, используемых для этого кадра. Это значение должно быть согласовано с тем, что было предоставлено в D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_0082_0.
pList0ReferenceFrames
Указатель на список прошлых опорных кадров, используемых для этого кадра. Каждое целочисленное значение в этом массиве индексируется в pReferenceFramesReconPictureDescriptors для ссылки на изображения, хранящиеся в декодированном буфере рисунков (DPB).
List1ReferenceFramesCount
Количество будущих ссылок на кадры, которые будут использоваться для этого кадра. Это значение должно быть согласовано с тем, что было предоставлено в D3D12DDI_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_0082_0.
pList1ReferenceFrames
Указатель на список будущих опорных кадров фрейма, которые будут использоваться для этого кадра. Каждое целочисленное значение в этом массиве индексирует в pReferenceFramesReconPictureDescriptors для ссылки на изображения, хранящиеся в DPB.
ReferenceFramesReconPictureDescriptorsCount
Количество записей в pReferenceFramesReconPictureDescriptors.
pReferenceFramesReconPictureDescriptors
Указатель на структуру D3D12DDI_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264_0080 , которая описывает текущее состояние буфера DPB, хранящееся в D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames. Индексы списков L0/L1 сопоставляют с прошлыми и будущими ссылками в массив дескрипторов.
В свою очередь, этот массив дескрипторов сопоставляет эталонный рисунок для этого кадра с индексом ресурсов в массиве восстановленных изображений D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames . Кроме того, для каждого эталонного рисунка он указывает порядковый номер кодирования и отображения, а также указывает, является ли он долгосрочной ссылкой.
Размер этого массива соответствует D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_DESC_0082_0.ReferenceFrames.NumTextures для связанной команды EncodeFrame .
adaptive_ref_pic_marking_mode_flag
Определяет семантический режим для обработки ссылок на кадры. Этот флаг может быть одним из следующих значений.
Значение | Режим маркировки эталонного рисунка |
---|---|
0 | Режим маркировки эталонных рисунков в скользящем окне. Режим маркировки, предоставляющий механизм первого выхода для краткосрочных эталонных рисунков. |
1 | Режим маркировки адаптивных эталонных рисунков. Режим маркировки эталонного рисунка, предоставляющий элементы синтаксиса для указания маркировки эталонных рисунков как "неиспользуемых для ссылок" и назначения долгосрочных индексов кадров. |
RefPicMarkingOperationsCommandsCount
Количество ссылочных рисунков, связанных с текущим кадром. Для этого элемента требуется, чтобы adaptive_ref_pic_marking_mode_flag иметь значение 1.
pRefPicMarkingOperationsCommands
Указатель на D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION_0082_0 структуру, содержащую список ссылочных рисунков RefPicMarkingOperationsCommandsCount , связанных с текущим кадром. Для этого элемента требуется, чтобы adaptive_ref_pic_marking_mode_flag иметь значение 1.
Операции, описанные в этом списке, должны соответствующим образом отражаться в дескрипторах DPB во время сеанса кодирования.
List0RefPicModificationsCount
Количество изменений списка для списка L0.
pList0RefPicModifications
Указатель на структуру D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0 , содержащую команды list0RefPicModificationsCount для списка L0.
List1RefPicModificationsCount
Количество изменений списка для списка L1.
pList1RefPicModifications
Указатель на структуру D3D12DDI_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION_0082_0 , содержащую команды list1RefPicModificationsCount для списка L1.
QPMapValuesCount
Количество элементов, присутствующих в массиве, на который указывает pRateControlQPMap . Это значение должно соответствовать количеству блоков кодирования в кадре, округляя разрешение кадра до ближайших выровненных значений.
pRateControlQPMap
Указатель на массив, содержащий в порядке сканирования строки или столбца значения параметров квантования (QP) для использования в каждой квадратной области для этого кадра. Измерения карты QP можно вычислить с помощью текущего разрешения и D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2.QPMapRegionPixelsSize , передавая размеры квадратной области.
Комментарии
Если текущий кадр помечен как эталонный рисунок, выходные данные должны содержать восстановленный рисунок вместе с битовой, чтобы узел помещал его в будущие команды в списке ссылок на восстановленные изображения. Обратите внимание, что некоторые типы кадров могут быть помечены как ссылки, поэтому проверка поддержку функций перед установкой этих значений.
Общие сведения см. в разделе Кодировка видео D3D12 .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 11 (WDDM 3.0) |
Верхняя часть | d3d12umddi.h |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по