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_STAREKSCAMERA_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)

另请参阅

背景分段纵向模式和眼睛凝视模式驱动程序示例

KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

KSCAMERA_EXTENDEDPROP_HEADER