KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2
KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 是一个属性 ID,用于指定以度为单位的相机对角视野 (FoV)。 对角 FoV 值对应于传感器原始纵横比的对角 FoV。 这导致非原生长宽比的实际对角 FoV 略有不同。
此控件与 KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW、KSPROPERTY_CAMERACONTROL_ZOOM 和 KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM 相关。 有关互操作性要求,请参阅下面的备注部分。
使用情况摘要表
范围 | 获取 | 设置 | 控制 | 类型 |
---|---|---|---|---|
版本 1 | 是 | 是 | 筛选器 | 同步 |
KSCAMERA_EXTENDEDPROP_HEADER 结构字段
下表包含使用此控件时 KSCAMERA_EXTENDEDPROP_HEADER 结构字段的要求。
成员 | 说明 |
---|---|
版本 | 必须为 1。 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
大小 | 必须为 sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE) |
Result | 必须包含 0。 此字段仅用于返回最后一个异步 SET 操作的结果。 |
功能 | 必须为 0。 |
标记 | 必须为 0。 |
KSCAMERA_EXTENDEDPROP_VALUE 有效负载
有效负载使用具有 ULONG 类型的现有 KSCAMERA_EXTENDEDPROP_VALUE 结构。
注解
与 KSPROPERTY_CAMERACONTROL_ZOOM和KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM 的互操作性
如果驱动程序/设备选择同时支持此新的 FoV 控件和旧的 KSPROPERTY_CAMERACONTROL_ZOOM 或 KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM,缩放控件必须在新的视野 (FoV) 选择范围内工作。 这意味着缩放是相对于 FoV 而言的。 对于不同的 FoV 值,相同的缩放值会产生不同的表观缩放量。 此外,设置 FoV 始终将 Zoom 重置为其默认值,无论实际 FoV 值是否发生变化。
例如,将旧的 Zoom 控件范围指定为从 10 到 600,缩放是其默认值 10,当新的 FoV 设置从 75 度设置为 90 度时,旧缩放控件仍为 10,缩放范围仍为 10 到 600。 但如果原来的缩放值为 50,则会在设置新的 FoV 值时重置为 10。
与 KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW和DIGITALWINDOW_CONFIGCAPS 的互操作性
如果驱动程序/设备选择同时支持这一新的 FoV2 控件和数字窗口 (DW) 控件,则必须遵循以下要求:
如果实现数字窗口支持的唯一目的是支持 KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING,则手动数字窗口仅支持表示完整窗口的一个窗口大小是可以接受的。 此完整窗口应与 FIELDOFVIEW2_CONFIGCAPS 的 DefaultDiagonalFieldOfViewInDegrees 匹配,但最大 FoV 可能更宽。 在这种情况下,可以忽略下面列出的手动数字窗口要求,因为手动数字窗口不完全受支持。
支持的手动数字窗口区域必须至少涵盖最宽的 FoV 设置,例如,通过使用数字窗口,可以创建与任何支持的 FoV 设置相匹配的数字裁剪。 如果默认 FoV 不是最宽的 FoV,数字窗口应使用 Porch 值来表示更广泛的窗口。
KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPS 必须报告相同的功能,而不考虑 FoV 控件状态。
当前手动数字窗口必须反映当前的 FoV 设置,反之亦然,最后一个控件获胜。
设置手动数字窗口时,应在内部将 FoV 更改为包含所选窗口区域的最小可用 FoV 设置。 这意味着,即使数字窗口的窗口大小保持不变,数字窗口的原点坐标也可能导致 FoV 中发生更改。 例如,如果数字窗口原点坐标位于左上角,其窗口大小为 0.4,则 FoV 设置会播发最宽的可用 FoV(在此示例中为 120°),否则不会包含该区域。 但如果以相同窗口大小的第二个数字窗口作为中心裁剪,反射的 FoV 可能更窄(在我们的示例中为 75°)。
当支持并设置 KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING 时,驱动程序/设备必须在内部将 FoV 更改为最宽的设置。 例如,启用 KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING 时,对 KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 的 GET 操作将返回最宽的 FoV 设置。 但是,KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 的任何成功 SET 操作都会将数字窗口更改为 KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL 模式,因为最后一个控件获胜。
与兴趣区域控件的互操作性
由于此控件更改了明显的视野 (FoV),因此每当向此控件发出 SET 时,通过任何感兴趣的区域 (ROI) 控件选择的坐标都应重置为其默认值。 当前 ROI 控件的列表包括:
KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID
KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS / KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL
如果我们定义一个定义矩形区域的未来控件,该控件也必须重置。
此外,兴趣区域控件指定其相对于输出窗口的区域,因此它们指定的坐标始终是当前视野中的矩形。 由于此控件更改了当前视野,因此摄像机必须重新映射“兴趣区域”矩形,以便适合当前视野。
要求
支持的最低客户端:Windows 11 版本 24H2
头文件:ksmedia.h(包括 Ksmedia.h)