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 | 立体声高调。 |
bLevelIDC
指定level_idc标志所描述的级别。
此成员指示支持此帧描述符的分辨率和最大比特率的最低级别。
下面是允许值的示例:
价值 | 描述 |
---|---|
0x1F | 级别 3.1。 |
0x28 | 级别 4.0。 |
wConstrainedToolset
约束 wProfile允许的功能。
价值 | 描述 |
---|---|
0 | 无约束。 允许所选 wProfile 和 bmSetting 集定义的所有工具。 |
1 | 统一通信 (UC) 约束高工具集。 |
2 | UC 可缩放约束的高 1。 |
3 | UC 可缩放约束基线 1。 |
4 到 65535 | 保留。 |
bmSupportedUsages
定义指定支持的用法的位图。
位 | 描述 |
---|---|
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
定义指定此帧描述符功能的位图。
位 | 描述 |
---|---|
D0 | 仅基于上下文的自适应变量长度编码(CAVLC)。 |
D1 | 仅基于上下文的自适应二进制算术编码(CABAC)。 |
D2 | 常量帧速率。 |
D3 | 用于 luma/chroma 的单独 QP。 |
D4 | 适用于 Cb/Cr 的单独 QP。 |
D5 | 没有图片重新排序。 |
D15-D6 | 保留;设置为 0。 |
bmSVCCapabilities
定义指定可缩放视频编码 (SVC) 功能的位图。
位 | 描述 |
---|---|
D2-D0 | 临时层的最大数目减去 1。 |
D3 | 重写支持。 |
D6-D4 | 粗粒度可伸缩性层的最大数量减 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
定义 BYTE 成员 bmSupportedSyncFrameTypes。
bResolutionScaling
定义指定同步帧类型的位图。
位 | 描述 |
---|---|
D0 | 具有序列参数集(SPS)和图片参数集(PPS)标头的即时解码刷新(PPI)帧。 |
D1 | 使用 SPS 和 PPS 标头(具有长期参考帧)的 PPI 帧。 |
D2 | 随机访问 I 帧(包含 SPS 和 PPS 标头),该标头可以是或可能不是一个 PPI 帧。 |
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
定义 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) |