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