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


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

Он должен быть относительно простым в отношении wSARheight.

wSARheight

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

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

wProfile

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

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

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

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

bLevelIDC

Задает уровень, как описано флагом level_idc.

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

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

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

wConstrainedToolset

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

Ценность Описание
0 Нет ограничений. Разрешены все средства, определенные выбранным wProfile и набором bmSetting.
1 Ограниченный набор средств для унифицированных коммуникаций (UC).
2 Масштабируемый масштабируемый UC High1.
3 Масштабируемый базовый план UC.
От 4 до 65535 Скрытный.

bmSupportedUsages

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

Биты Описание
D0 Режим 0 в режиме реального времени/UCConfig (конфигурация единой связи).
D1 Режим реального времени/UCConfig 1.
D2 Режим 2Q в режиме реального времени/UCConfig.
D3 Режим 2S в режиме реального времени/UCConfig.
D4 Режим реального времени/UCConfig 3.
D7-D5 Скрытный; Установите значение 0.
D15-D8 Режимы трансляции.
D16 Режим хранения файлов с срезами I и P (например, IPPP).
D17 Режим хранения файлов с срезами I, P и B (например, IB... IP-адрес).
D18 Режим хранилища файлов всех I-frame.
D23-D19 Скрытный; Установите значение 0.
D24 Стереомодум MVC.
D25 Многообзорный режим MVC.
D31-D26 Скрытный; Установите значение 0.

bmCapabilities

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

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

bmSVCCapabilities

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

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

bmMVCCapabilities

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

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

dwFrameInterval

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

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

bMaxCodecConfigDelay

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

bmSupportedSliceModes

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

Биты Описание
D0 Режим среза 0.
D1 Режим среза 1.
D7-D2 Скрытный.

bmSupportedSyncFrameTypes

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

bResolutionScaling

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

Биты Описание
D0 Мгновенное декодирование кадра обновления (IDR) с заголовками набора параметров последовательности (SPS) и набора параметров рисунка (PPS).
D1 Кадр IDR (с заголовками SPS и PPS), который является долгосрочным эталонным кадром.
D2 Случайный доступ к кадру I (с заголовками SPS и PPS), которые могут быть или не могут быть кадром IDR.
D3 Кадр P, который является долгосрочным эталонным кадром.
D7-D4 Скрытный; Установите значение 0.

bSimulcastSupport

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

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

bmSupportedRateControlModes

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

Биты Описание
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 (include Ksmedia.h)

См. также

KS_DATAFORMAT_H264VIDEOINFO

KS_DATARANGE_H264_VIDEO