PROPSETID_VIDCAP_VIDEOPROCAMP属性集控制可以调整模拟或数字信号的图像颜色属性的设备。
ksmedia.h 中的KSPROPERTY_VIDCAP_VIDEOPROCAMP枚举指定此集的属性。
对此属性集的支持是可选的,应仅由允许调整亮度、对比度、色调和其他图像质量设置的设备实现。
在 USB 视频类之前,此枚举包含以下属性项:
KSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION
KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS
KSPROPERTY_VIDEOPROCAMP_COLORENABLE
KSPROPERTY_VIDEOPROCAMP_CONTRAST
KSPROPERTY_VIDEOPROCAMP_SATURATION
KSPROPERTY_VIDEOPROCAMP_SHARPNESS
KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE
随着 USB 视频类驱动程序的引入,以下属性已添加到KSPROPERTY_VIDCAP_VIDEOPROCAMP枚举中:
KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER
KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER_LIMIT
KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE_COMPONENT
KSPROPERTY_VIDEOPROCAMP_POWERLINE_FREQUENCY
PROPSETID_VIDEOPROCAMP属性集中的每个属性都包含一个范围和默认值。 属性集的范围在实际单位中定义,以允许以编程方式控制参数。 每个设备都可以定义此范围的子集以及步骤大小。 这允许对控件(如滑块和滚动条)进行编程,以便为每个步骤提供可见效果。
例如,亮度的总体理论范围定义为 -100 到 100 个 IRE 单位。 IRE 是视频级别的 NTSC 定义度量值,其中 0 对应于空白或全黑级别,100 表示纯白色。 如果 VideoProcAmp 能够转移纯黑色输入信号(也许由完全覆盖相机镜头生成),并使其显示为纯白色,则其范围将为 0 到 100 IRE。
大多数 VideoProcAmps 实际上提供有限的亮度控制范围。 测量范围的一种方法是覆盖相机镜头并确定调整范围内的输出信号,然后将信号规范化为 IRE 单位。 计算范围后,可以采用最大值和最小值来派生单步进值,并除以调整步骤数 (max + min)/N 调整步骤。
请注意,属性集中使用的值乘以 100,以提高粒度。
DirectShow 接口
DirectShow IAMVideoProcAmp 接口(请参阅 Microsoft Windows SDK 中的 DirectShow 文档)提供对此集的属性的访问权限。