PROPSETID_VIDCAP_VIDEOPROCAMP
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 接口 (请参阅 directShow 文档中Microsoft Windows SDK) 提供对此集属性的访问权限。