KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION
KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION 是用于控制驱动程序中眼睛凝视更正功能的属性 ID。
此属性 ID 能控制驱动程序可执行的流内更正;借助此功能,驱动程序便可实现高质量的图像更正,从而与预览图像和录制图像一起使用。 需以统一方式在驱动程序中启用和禁用流内更正,以便 Windows 或应用程序能控制这些功能。
可在 GitHub 上的 AVStream 相机示例驱动程序中找到设置 KSPROPERTY 控件的示例。
更新到 KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION 控件
从 Windows 11 版本 22H2 开始,Stare 模式已作为可选功能引入现有的眼睛凝视更正控件。
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE 是添加到 KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION 控件的一个新标志,它可用于控制驱动程序中的 Stare 模式。
虽然眼睛凝视更正(也称为“眼神交流”)解决了相机显示偏移的几何问题,但很多视频场景仍要求用户在说话的同时长时间向下盯着屏幕;比如,在通话期间阅读演示文稿/文档。
Stare 模式是一种更为激进的眼神交流形式,它会不断移动眼睛的像素,使你看似正与观众进行交谈,即使你其实可能正在阅读脚本并快速移动眼球。
使用情况摘要表
范围 | 控制 | 类型 |
---|---|---|
版本 1 | 筛选器 | 同步 |
可将以下标志放在 KSCAMERA_EXTENDEDPROP_HEADER.Flags 中,以便控制 Stare 模式。 默认值应为“关”。
#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE 0x0000000000000002
如果驱动程序支持此控件,它则须支持 EYEGAZECORRECTION_OFF 以及一个或多个其他标志。
如果驱动程序不支持眼睛凝视更正,则驱动程序不应实现此控件。
即使视频或照片引脚处于 KSSTATE_RUN 状态,此控件的 SET 调用也会生效。 在 GET 调用中,驱动程序应返回“标志”字段中的当前设置。
下表描述了标记功能。
标记 | 说明 |
---|---|
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF | 它是一个必需功能。 指定后,会在驱动程序中禁用眼睛凝视更正。 |
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON | 它是一个必需功能。 指定后,会在驱动程序中启用眼睛凝视更正。 |
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE | 它是一个可选功能。 与 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON 一起指定时,会在驱动程序中启用 Stare 模式。 |
注意
从 SET 的角度来看,仅当同时设置 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE 和 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON 时,才会启用 Stare 模式。 针对其他两位,需将 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF 设为独占。
下表包含使用此控件时 KSCAMERA_EXTENDEDPROP_HEADER 结构字段的说明和要求。
成员 | 说明 |
---|---|
版本 | 它必须为 1。 |
PinId | 它必须为 KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)。 |
大小 | 它必须为 sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)。 |
Result | 未使用,且须为 0。 |
功能 | 必须为上面定义的受支持 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_* 标志的按位“或”。 |
标记 | 此字段为读/写字段。 它可为除 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE(需与 ON 一起设置才能生效)之外的上面定义的任一 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_* 标志,或是这些位的有效组合。 从 SET 的角度来看,仅当同时设置 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE 和 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON 时,才会启用 Stare 模式。 针对其他 2 位,需将 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF 设为独占。 |
要求
支持的最低客户端:Windows 11 版本 22H2
头文件:ksmedia.h(包括 Ksmedia.h)