структура KS_H264VIDEOINFO (ksmedia.h)

В KS_H264VIDEOINFO описываются возможности устройства, которые применяются к текущему типу мультимедиа.

Синтаксис

typedef struct tagKS_H264VIDEOINFO {
  WORD  wWidth;
  WORD  wHeight;
  WORD  wSARwidth;
  WORD  wSARheight;
  WORD  wProfile;
  BYTE  bLevelIDC;
  WORD  wConstrainedToolset;
  DWORD bmSupportedUsages;
  WORD  bmCapabilities;
  DWORD bmSVCCapabilities;
  DWORD bmMVCCapabilities;
  DWORD dwFrameInterval;
  BYTE  bMaxCodecConfigDelay;
  BYTE  bmSupportedSliceModes;
  BYTE  bmSupportedSyncFrameTypes;
  BYTE  bResolutionScaling;
  BYTE  bSimulcastSupport;
  BYTE  bmSupportedRateControlModes;
  WORD  wMaxMBperSecOneResolutionNoScalability;
  WORD  wMaxMBperSecTwoResolutionsNoScalability;
  WORD  wMaxMBperSecThreeResolutionsNoScalability;
  WORD  wMaxMBperSecFourResolutionsNoScalability;
  WORD  wMaxMBperSecOneResolutionTemporalScalability;
  WORD  wMaxMBperSecTwoResolutionsTemporalScalablility;
  WORD  wMaxMBperSecThreeResolutionsTemporalScalability;
  WORD  wMaxMBperSecFourResolutionsTemporalScalability;
  WORD  wMaxMBperSecOneResolutionTemporalQualityScalability;
  WORD  wMaxMBperSecTwoResolutionsTemporalQualityScalability;
  WORD  wMaxMBperSecThreeResolutionsTemporalQualityScalablity;
  WORD  wMaxMBperSecFourResolutionsTemporalQualityScalability;
  WORD  wMaxMBperSecOneResolutionTemporalSpatialScalability;
  WORD  wMaxMBperSecTwoResolutionsTemporalSpatialScalability;
  WORD  wMaxMBperSecThreeResolutionsTemporalSpatialScalablity;
  WORD  wMaxMBperSecFourResolutionsTemporalSpatialScalability;
  WORD  wMaxMBperSecOneResolutionFullScalability;
  WORD  wMaxMBperSecTwoResolutionsFullScalability;
  WORD  wMaxMBperSecThreeResolutionsFullScalability;
  WORD  wMaxMBperSecFourResolutionsFullScalability;
} KS_H264VIDEOINFO, *PKS_H264VIDEOINFO;

Члены

wWidth

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

Значение этого элемента должно быть кратно 2, но оно не должно быть целым числом, кратным 16. Его можно указать с помощью прямоугольника обрезки кадра в активном наборе параметров последовательности (SPS).

wHeight

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

Значение этого элемента должно быть кратно 2. Если используется кодирование полей или адаптивное кодирование кадров или полей, оно должно быть кратно 4. Оно не обязательно должно быть целым числом, кратным 16. Его можно указать с помощью прямоугольника обрезки кадра в активном SPS.

wSARwidth

Указывает ширину пропорций выборки, как определено в приложении H.264 к E.

Она должна быть относительно первичной по отношению к wSARheight.

wSARheight

Указывает высоту пропорций выборки, как определено в приложении Е к H.264.

Он должен быть относительно простым по отношению к bSARwidth.

wProfile

Указывает первые два байта набора параметров последовательности, как описано в profile_idc и флагах ограничений в спецификации H.264.

Этот элемент указывает профиль и применимые ограничения для использования.

Ниже приведены примеры допустимых значений.

Значение Описание
0x4240 Ограниченный базовый профиль.
0x4200 Базовый профиль.
0x4D00 Основной профиль.
0x6400 Высокий профиль.
0x5300 Масштабируемый базовый профиль.
0x5600 Масштабируемый высокий профиль.
0x7600 Multiview High Profile.
0x8000 Стерео высокий профиль.

bLevelIDC

Указывает уровень, описанный флагом level_idc.

Этот элемент указывает минимальный уровень, поддерживающий разрешение, и максимальную скорость передачи для этого дескриптора кадров.

Ниже приведены примеры допустимых значений.

Значение Описание
0x1F Уровень 3.1.
0x28 Уровень 4.0.

wConstrainedToolset

Ограничивает возможности, разрешенные wProfile.

Значение Описание
0 Нет ограничений. Все средства, определенные выбранным wProfile и набором bmSetting, разрешены.
1 Набор инструментов с ограниченным набором инструментов с ограниченными ограничениями связи (UC).
2 UC Scalable Constrained High1.
3 Базовый план масштабирования UC с ограниченными ограничениями1.
От 4 до 65535 Зарезервировано.

bmSupportedUsages

Определяет растровое изображение, указывающее поддерживаемые методы использования.

Bits Описание
D0 Режим реального времени/UCConfig (unified Communication Configuration) 0.
D1 Режим реального времени/UCConfig 1.
D2 Режим реального времени/UCConfig 2Q.
D3 Режим реального времени/UCConfig 2S.
D4 Режим реального времени/UCConfig 3.
D7–D5 Защищены; Для задано значение 0.
D15-D8 Режимы широковещательной трансляции.
D16 Режим хранения файлов с срезами I и P (например, IPPP).
D17 Режим хранения файлов с срезами I, P и B (например, IB... IP).
D18 Режим "все I-кадры" хранилища файлов.
D23-D19 Защищены; Для задано значение 0.
D24 MVC Stereo High Mode.
D25 Режим многопросмотра MVC.
D31-D26 Защищены; Для задано значение 0.

bmCapabilities

Определяет растровое изображение, указывающее возможности для этого дескриптора кадра.

Bits Описание
D0 Только контекстное кодирование адаптивной переменной длины (CAVLC).
D1 Только контекстное адаптивное двоичное арифметическое кодирование (CABAC).
D2 Постоянная частота кадров.
D3 Отдельный QP для luma/chroma.
D4 Отдельный QP для Cb/Cr.
D5 Нет переупорядочения рисунков.
D15-D6 Защищены; значение 0.

bmSVCCapabilities

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

Bits Описание
D2-D0 Максимальное количество темпоральных слоев минус 1.
D3 Поддержка перезаписи.
D6-D4 Максимальное количество слоев грубой масштабируемости (CGS) минус 1.
D9-D7 Максимальное число подслоев средней масштабируемости (MGS).
D10 Дополнительная поддержка масштабируемости SNR на уровнях пространственного расширения.
D13-D11 Максимальное количество пространственных слоев минус 1.
D31-D14 Зарезервировано.

bmMVCCapabilities

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

Bits Описание
D2-D0 Максимальное количество темпоральных слоев минус 1.
D11-D3 Максимальное число компонентов представления минус 1.
D31-D11 Зарезервировано.

dwFrameInterval

Указывает поддерживаемый интервал кадра.

Это самый короткий поддерживаемый интервал кадров с максимальной частотой кадров в единицах 100-наносекунд.

bMaxCodecConfigDelay

Указывает максимальное количество кадров, которое кодировщик принимает для ответа на команду.

bmSupportedSliceModes

Определяет растровое изображение, указывающее режимы среза.

Bits Описание
D0 Режим среза 0.
D1 Режим среза 1.
D7-D2 Зарезервировано.

bmSupportedSyncFrameTypes

Определяет член BYTEbmSupportedSyncFrameTypes.

bResolutionScaling

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

Bits Описание
D0 Кадр мгновенного обновления декодирования (IDR) с заголовками Набор параметров последовательности (SPS) и Набор параметров рисунка (PPS).
D1 Кадр IDR (с заголовками SPS и PPS), который является долгосрочной опорной рамкой.
D2 Фрейм I произвольного доступа (с заголовками SPS и PPS), который может быть кадром IDR.
D3 Кадр P, представляющий собой долгосрочную опорную рамку.
D7-D4 Защищены; значение 0.

bSimulcastSupport

Указывает количество конечных точек потоковой передачи видео H.264 и количество потоков, поддерживаемых этой конечной точкой.

Значение Описание
0 Одна конечная точка и один поток.
1 Одна конечная точка и несколько потоков.

bmSupportedRateControlModes

Определяет растровое изображение, указывающее режимы управления скоростью.

Bits Описание
D0 Переменная скорость передачи (VBR) с допустимым недостаточной скоростью (H.264 low_delay_hrd_flag = 1).
D1 Постоянная скорость (CBR) (H.264 low_delay_hrd_flag = 0).
D2 Постоянный QP.
D3 Глобальный VBR с недополукой разрешен (H.264 low_delay_hrd_flag = 1).
D4 VBR без недостаточного потока (H.264 low_delay_hrd_flag = 0).
D5 Глобальный VBR без недостаточного потока (H.264 low_delay_hrd_flag = 0).
D7-D6 Зарезервировано, задайте значение 0.

wMaxMBperSecOneResolutionNoScalability

Задает максимальную скорость обработки макроблоков, разрешенную для немасштабируемых потоков расширенного видеокодирования (AVC), суммируя по всем слоям, если все слои имеют одинаковое разрешение.

wMaxMBperSecTwoResolutionsNoScalability

Задает максимальную скорость обработки макроблоков, разрешенную для немасштабируемых потоков AVC, суммируя по всем слоям, когда все слои состоят из двух разных разрешений.

wMaxMBperSecThreeResolutionsNoScalability

Задает максимальную скорость обработки макроблоков, разрешенную для немасштабируемых потоков AVC, суммируя данные по всем слоям, если все слои состоят из трех разных разрешений.

wMaxMBperSecFourResolutionsNoScalability

Задает максимальную скорость обработки макроблоков, разрешенную для немасштабируемых потоков AVC, суммируя по всем слоям, когда все слои состоят из четырех разных разрешений.

wMaxMBperSecOneResolutionTemporalScalability

Задает максимальную скорость обработки макроблоков, разрешенную для темпоральных масштабируемых потоков, суммируя по всем слоям, если все слои имеют одинаковое разрешение.

wMaxMBperSecTwoResolutionsTemporalScalablility

Задает максимальную скорость обработки макроблоков, разрешенную для темпоральных масштабируемых потоков, суммируя по всем слоям, когда все слои состоят из двух разных разрешений.

wMaxMBperSecThreeResolutionsTemporalScalability

Задает максимальную скорость обработки макроблоков, разрешенную для темпоральных масштабируемых потоков, суммируя данные по всем слоям, когда все слои состоят из трех разных разрешений.

wMaxMBperSecFourResolutionsTemporalScalability

Указывает максимальную скорость обработки макроблоков, разрешенную для полностью масштабируемых потоков, суммируя по всем слоям, когда все слои состоят из четырех разных разрешений.

wMaxMBperSecOneResolutionTemporalQualityScalability

Задает максимальную скорость обработки макроблоков, допустимую для темпоральных и качественных масштабируемых потоков SVC, суммируя данные по всем слоям, если все слои имеют одинаковое разрешение.

wMaxMBperSecTwoResolutionsTemporalQualityScalability

Указывает максимальную скорость обработки макроблоков, допустимую для темпоральных и качественных масштабируемых потоков SVC, суммируя данные по всем слоям, если все слои состоят из двух разных разрешений.

wMaxMBperSecThreeResolutionsTemporalQualityScalablity

Задает максимальную скорость обработки макроблоков, разрешенную для темпоральных и качественных масштабируемых потоков SVC, суммируя данные по всем слоям, когда все слои состоят из трех разных разрешений.

wMaxMBperSecFourResolutionsTemporalQualityScalability

Задает максимальную скорость обработки макроблоков, допустимую для темпоральных и качественных масштабируемых потоков SVC, суммируя данные по всем слоям, когда все слои состоят из четырех разных разрешений.

wMaxMBperSecOneResolutionTemporalSpatialScalability

Определяет член WORDwMaxMBperSecOneResolutionTemporalSpatialScalability.

wMaxMBperSecTwoResolutionsTemporalSpatialScalability

Определяет член WORDwMaxMBperSecTwoResolutionsTemporalSpatialScalability.

wMaxMBperSecThreeResolutionsTemporalSpatialScalablity

Определяет член WORDwMaxMBperSecThreeResolutionsTemporalSpatialScalablity.

wMaxMBperSecFourResolutionsTemporalSpatialScalability

Определяет член WORDwMaxMBperSecFourResolutionsTemporalSpatialScalability.

wMaxMBperSecOneResolutionFullScalability

Задает максимальную скорость обработки макроблоков, разрешенную для полностью масштабируемых потоков, суммируя по всем слоям, когда все слои имеют одинаковое разрешение.

wMaxMBperSecTwoResolutionsFullScalability

Задает максимальную скорость обработки макроблоков, разрешенную для полностью масштабируемых потоков, суммируя по всем слоям, когда все слои состоят из двух разных разрешений.

wMaxMBperSecThreeResolutionsFullScalability

Задает максимальную скорость обработки макроблоков, разрешенную для полностью масштабируемых потоков, суммируя данные по всем слоям, если все слои состоят из трех разных разрешений.

wMaxMBperSecFourResolutionsFullScalability

Указывает максимальную скорость обработки макроблоков, разрешенную для полностью масштабируемых потоков, суммируя по всем слоям, когда все слои состоят из четырех разных разрешений.

Комментарии

Структура KS_H264VIDEOINFO содержит сведения о кадре и дескрипторе формата.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Верхняя часть ksmedia.h (включая Ksmedia.h)

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

KS_DATAFORMAT_H264VIDEOINFO

KS_DATARANGE_H264_VIDEO