KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE 是一个动态控件,它通过原始帧速率的小数位数来降低视频的帧速率。
使用情况摘要表
| 获取 | 设置 | 目标 | 属性描述符类型 | 属性值类型 |
|---|---|---|---|---|
| 是的 | 是的 | 滤波器 | KSPROPERTY | KSCAMERA_EXTENDEDPROP_HEADER |
属性值(作数据)包含 KSCAMERA_EXTENDEDPROP_HEADER 结构和 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构。
属性数据总大小为 sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING)。 KSCAMERA_EXTENDEDPROP_HEADER大小 成员设置为此总属性数据大小。
KSCAMERA_EXTENDEDPROP_HEADER功能 成员包含以下值之一。
| 帧速率限制控制 | 说明 |
|---|---|
| KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF | 帧速率限制已禁用。 |
| KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON | 已启用帧速率限制。 |
KSCAMERA_EXTENDEDPROP_HEADER标志 成员包含当前为相机设置的标志。 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF应为默认值。
此属性控件是同步的,不可取消。
此控件仅在相机主动流式传输时适用。 若要主动流式传输意味着预览或记录引脚必须处于KSSTATE_RUN中,并且能够传送帧。 如果流未处于活动状态,则在集中,此控件应返回STATUS_INVALID_DEVICE_STATE。 即使这是筛选器范围控件,这不应影响照片引脚或非 RGB 流,例如 IR/深度。
注解
获取属性
响应KSPROPERTY_TYPE_GET请求时,驱动程序会将 KSCAMERA_EXTENDEDPROP_HEADER 的成员设置为以下内容。
| 成员 | 价值 |
|---|---|
| 版本 | 1 |
| PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE(0xFFFFFFFF) |
| 大小 | 必须是 sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) |
| 结果 | 必须为 0。 此字段用于返回上一个 SET作的结果。 |
| 能力 | KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON或0x1 |
| 旗帜 | 这可以是KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON,也可以是KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF。 |
如果未设置帧速率限制标志,驱动程序会将 标志 设置为KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF。 按照帧速率限制模式的要求设置 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构的成员 KSCAMERA_EXTENDEDPROP_HEADER。
设置属性
设置属性时,KSPROPERTY_TYPE_SET请求,标志KSCAMERA_EXTENDEDPROP_HEADER 成员包含要设置的帧速率限制模式。 当 标志 包含KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF标志时,必须忽略 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 的 VideoProc.Value 成员。
有效负载结构
下表包含帧速率限制 DDI 的 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构字段的说明和要求。 此结构在 ksmedia.h 中定义。
| 成员 | 说明 |
|---|---|
| 模式 | 这是未使用的,必须为 0。 |
| 最小值/最大/步骤 | Max 必须为 100,表示帧速率没有变化。 步骤应为 100 的因子,因此 Max % Step == 0。 最小值应等于至少一个步骤大小或步骤大小的倍数。 最小值不能为 0。 |
| VideoProc | VideoProc.Value.ul 必须为此控件指定比例系数百分比。 此值应位于 Min 和 Max 的范围内,应将其设置为步骤值的倍数。 通过适当设置此值,应用程序可以确保新帧速率永远不会超过原始值,也不转到零。 例如,设置值 80 将生成原始帧速率的 80% 帧速率。 |
| 已预留 | 这是未使用的。 驱动程序必须忽略此项。 |
要求
最低支持的客户端: Windows 11 版本 24H2
标头: ksmedia.h (包括 Ksmedia.h)