KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOSTABILIZATION
此扩展属性控件用于控制 driver\MFT0 中的数字视频防抖动。
使用情况摘要表
范围 | 控制 | 类型 |
---|---|---|
版本 1 |
Pin |
同步 |
可放置在KSCAMERA_EXTENDEDPROP_HEADER中的以下标志。标记字段标志以控制 driver\MFT0 中的数字视频防抖动。 默认情况下,驱动程序应关闭视频防抖动功能。
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO 0x0000000000000002
如果驱动程序不支持数字视频防抖动,则驱动程序不应实现此控件。
如果驱动程序支持此控件,则它必须支持 VIDEOSTABILIZATION_ON\OFF。
当视频引脚处于高于KSSTATE_STOP状态的任何状态时,此控件的 SET 调用不起作用。 如果视频引脚不处于停止状态,驱动程序应拒绝收到的 SET 调用,并返回STATUS_INVALID_DEVICE_STATE。 在 GET 调用中,驱动程序应在“标志”字段中返回当前设置。
在配置文件的上下文中使用此控件时,配置文件应作为质量模式驱动程序的提示。 驱动程序可以根据所选配置文件(例如,视频会议或高质量视频录制)确定是否在启用视频防抖动时针对低延迟或高质量进行优化。
注意
PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION将弃用Windows 10。
下表描述了标志功能。
标志 | 描述 |
---|---|
KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF |
这是一项必需的功能。 指定后,在 driver\MFT0 中禁用数字视频防抖动。 |
KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON |
这是一项必需的功能。 指定后,会在 driver\MFT0 中启用数字视频防抖动,默认的过扫描填充设置由驱动程序决定。 此标志与 AUTO 和 OFF 标志互斥。 |
KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO |
此功能是可选的。 指定后,支持此类功能的驱动程序将确定是否应执行视频防抖动,以及根据场景分析和捕获方案应用多少防抖动。 此标志与 ON 和 OFF 标志互斥。 |
注意
根据实现,过度扫描的缓冲区可能由驱动程序内部分配,也可以由管道分配。
如果过度扫描的缓冲区由驱动程序分配,则驱动程序应播发常规媒体类型和过度扫描的媒体类型。 MFT0 应播发常规媒体类型。 在 MFT0 的输出媒体类型上设置常规媒体类型时,如果视频防抖动已打开,MFT0 应从驱动程序播发媒体类型中选择相应的过度扫描媒体类型作为其输入媒体类型。 如果关闭视频防抖动功能,MFT0 应选择常规媒体类型作为其输入媒体类型。 如果启用视频防抖动功能时,过度扫描的媒体类型设置为其输出媒体类型,MFT0 应返回MF_E_INVALIDMEDIATYPE。
如果过度扫描的缓冲区由驱动程序分配,则驱动程序和 MFT0 都应播发常规媒体类型。 MFT0 应为其输入媒体类型和输出媒体类型设置常规媒体类型。
为了支持基于效果的视频防抖动 (即,无论是在驱动程序中还是 MFT0) 中,视频防抖动都不做,驱动程序和 MFT0 都必须同时播发过度扫描的媒体类型。 在这种情况下,驱动程序和 MFT0 会公开常规和过度扫描的媒体类型。 以下规则将适用,以确保基于效果的视频防抖动和基于驱动程序\MFT0 的视频防抖动正常工作。
如果在启用基于 driver\MFT0 的视频防抖动的情况下将过度扫描的媒体类型设置为 MFT0 输出媒体类型,则 MFT0 应返回MF_E_INVALIDMEDIATYPE。
如果将常规媒体类型设置为 MFT0 输出媒体类型,则如果基于效果的视频防抖动只能采用过度扫描的媒体类型,则应用应在尝试启用基于效果的视频防抖动时返回错误。
下表包含使用视频防抖动控件时 KSCAMERA_EXTENDEDPROP_HEADER 结构字段的说明和要求。
成员 | 说明 |
---|---|
版本 |
此值必须为 1。 |
PinId |
必须是与视频图钉关联的固定 ID。 |
大小 |
这必须是 sizeof (KSCAMERA_EXTENDEDPROP_HEADER) + sizeof (KSCAMERA_EXTENDEDPROP_VALUE) 。 |
结果 |
指示上次 SET 操作的错误结果。 如果未执行 SET 操作,则必须为 0。 |
功能 |
这必须是上面定义的受支持KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX标志的按位 OR。 |
Flags |
这是一个读/写字段。 这可以是上面定义的任意一个KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX标志。 |
要求
标头 |
Ksmedia.h |