KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE
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 的 Size 成员被设置为此总属性数据大小。
KSCAMERA_EXTENDEDPROP_HEADER 的功能成员包含以下值之一。
帧速率限制控制 | 说明 |
---|---|
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF | 帧速率限制已禁用。 |
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON | 帧速率限制已启用。 |
KSCAMERA_EXTENDEDPROP_HEADER 的 Flags 成员包含当前为相机设置的标志。 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_VALUE)。 |
Result | 必须为 0。 此字段用于返回上次 SET 操作的结果。 |
功能 | KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON or 0x1 |
标记 | 这可以是 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON,也可以是 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF。 |
如果之前未设置帧速率限制标志,驱动程序会将 标志 设置为 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF。 KSCAMERA_EXTENDEDPROP_HEADER 后面的 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构的成员根据帧速率限制模式的要求进行设置。
设置属性。
设置属性时,KSPROPERTY_TYPE_SET 请求,KSCAMERA_EXTENDEDPROP_HEADER 的 Flags 成员包含要设置的帧速率限制模式。 当标志包含 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF 标志时,必须忽略 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 的 VideoProc.Value 成员。
有效负载结构
下表包含帧速率限制 DDI 的 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构字段的说明和要求。 此结构在 ksmedia.h 中定义。
成员 | 说明 |
---|---|
“模式” | 这未使用,必须为 0。 |
Min/Max/Step | Max 必须为 100,表示帧速率没有变化。 Step 应为 100 的因子,这样 Max % Step == 0。 Min 应等于至少一个步骤大小或步骤大小的倍数。 Min 不能为 0。 |
VideoProc | VideoProc.Value.ul 必须为此控件指定比例系数百分比。 此值应位于 Min 和 Max 的范围内,并应将其设置为 Step 值的倍数。 通过适当设置此值,应用程序可以确保新帧速率永远不会超过原始值,也不会归零。 例如,设置值为 80 时,将生成原始帧速率的 80% 的帧速率。 |
Reserved | 这是未使用的。 驱动程序必须忽略此项。 |
要求
支持的最低客户端:Windows 11 版本 24H2
头文件:ksmedia.h(包括 Ksmedia.h)