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 附件 E 中定义的样本纵横比高度。
对于 bSARwidth,它必须是相对质的。
wProfile
指定序列参数集的前两个字节,如 H.264 规范中的profile_idc和约束标志所述。
此成员指示要使用的配置文件和适用的约束。
下面是允许值的示例:
值 | 说明 |
---|---|
0x4240 | 受约束的基线配置文件。 |
0x4200 | 基线配置文件。 |
0x4D00 | 主配置文件。 |
0x6400 | 高调。 |
0x5300 | 可缩放基线配置文件。 |
0x5600 | 可缩放的高配置文件。 |
0x7600 | 多视图高配置文件。 |
0x8000 | Stereo High Profile。 |
bLevelIDC
指定level_idc标志所述的级别。
此成员指示支持此帧描述符的分辨率和最大比特率的最小级别。
下面是允许值的示例:
值 | 说明 |
---|---|
0x1F | 级别 3.1。 |
0x28 | 级别 4.0。 |
wConstrainedToolset
约束 wProfile 允许的功能。
值 | 说明 |
---|---|
0 | 无约束。 允许由所选 wProfile 和 bmSetting 集定义的所有工具。 |
1 | 统一通信 (UC) 约束的高工具集。 |
2 | UC 可缩放约束的 High1。 |
3 | UC 可缩放约束基线 1。 |
4 到 65535 | 保留。 |
bmSupportedUsages
定义指定支持的用法的位图。
Bits | 说明 |
---|---|
D0 | 实时/UCConfig (统一通信配置) 模式 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 立体声高模式。 |
D25 | MVC 多视图模式。 |
D31-D26 | 保留;设置为 0。 |
bmCapabilities
定义位图,该位图指定此帧描述符的功能。
Bits | 说明 |
---|---|
D0 | 基于上下文的自适应可变长度编码 (CAVLC 仅 ) 。 |
D1 | 基于上下文的自适应二进制算术编码 (CABAC 仅) 。 |
D2 | 恒定帧速率。 |
D3 | 单独的 QP 用于 luma/chroma。 |
D4 | 针对 Cb/Cr 的单独 QP。 |
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
定义 BYTE 成员 bmSupportedSyncFrameTypes。
bResolutionScaling
定义指定同步帧类型的位图。
Bits | 说明 |
---|---|
D0 | 具有序列参数集 (SPS) 和图片参数集 (PPS) 标头的即时解码刷新 (IDR) 帧。 |
D1 | 具有 SPS 和 PPS 标头) (长期参考帧)的IDR帧 (。 |
D2 | 具有 SPS 和 PPS 标头的随机访问 I 帧 () ,这可以是也可能不是一个印尼盾帧。 |
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
定义 WORD 成员 wMaxMBperSecOneResolutionTemporalSpatialScalability。
wMaxMBperSecTwoResolutionsTemporalSpatialScalability
定义 WORD 成员 wMaxMBperSecTwoResolutionsTemporalSpatialScalability。
wMaxMBperSecThreeResolutionsTemporalSpatialScalablity
定义 WORD 成员 wMaxMBperSecThreeResolutionsTemporalSpatialScalablity。
wMaxMBperSecFourResolutionsTemporalSpatialScalability
定义 WORD 成员 wMaxMBperSecFourResolutionsTemporalSpatialScalability。
wMaxMBperSecOneResolutionFullScalability
指定完全可缩放的流允许的最大宏块处理速率,当所有层具有相同的分辨率时,跨所有层求和。
wMaxMBperSecTwoResolutionsFullScalability
指定完全可缩放的流允许的最大宏块处理速率,当所有层包含两个不同的分辨率时,跨所有层求和。
wMaxMBperSecThreeResolutionsFullScalability
指定完全可缩放的流允许的最大宏块处理速率,当所有层包含三个不同的分辨率时,跨所有层求和。
wMaxMBperSecFourResolutionsFullScalability
指定完全可缩放的流允许的最大宏块处理速率,当所有层包含四个不同的分辨率时,跨所有层求和。
注解
KS_H264VIDEOINFO 结构包含框架和格式描述符信息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 |
最低受支持的服务器 | Windows Server 2012 |
标头 | ksmedia.h (包括 Ksmedia.h) |