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)

另请参阅

KS_DATAFORMAT_H264VIDEOINFO

KS_DATARANGE_H264_VIDEO