/* Copyright (c) 1997 1998 PHILIPS I&C Module Name: mprpdef.c.c Abstract: property set definition Author: Michael verberne Revision History: Date Reason Sept.22, 98 Optimized for NT5 Nov. 30, 98 VID and PID added as custom properties * This file defines the following property sets: * * PROPSETID_VIDCAP_VIDEOPROCAMP * PROPSETID_VIDCAP_CAMERACONTROL * PROPSETID_PHILIPS_CUSTOM_PROP * */ #include "mwarn.h" #include "wdm.h" #include #include #include #include "mprpobj.h" #include "mprpobjx.h" #include "mprpdef.h" /*-------------------------------------------------------------------------- * PROPSETID_VIDCAP_VIDEOPROCAMP * * Supported: * * Brightness, * Contrast, * Gamma * Color Enable * BackLightCompensation, * *--------------------------------------------------------------------------*/ /* * Brightness */ KSPROPERTY_STEPPING_LONG Brightness_RangeAndStep [] = { { BRIGHTNESS_DELTA, // SteppingDelta (range / steps) 0, // Reserved BRIGHTNESS_MIN, // Minimum in (IRE * 100) units BRIGHTNESS_MAX // Maximum in (IRE * 100) units } }; LONG Brightness_Default = 15; KSPROPERTY_MEMBERSLIST Brightness_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (Brightness_RangeAndStep), SIZEOF_ARRAY (Brightness_RangeAndStep), 0 }, (PVOID) Brightness_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (Brightness_Default), sizeof (Brightness_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &Brightness_Default, } }; KSPROPERTY_VALUES Brightness_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (Brightness_MembersList), Brightness_MembersList }; /* * Contrast */ KSPROPERTY_STEPPING_LONG Contrast_RangeAndStep [] = { { CONTRAST_DELTA, // SteppingDelta 0, // Reserved CONTRAST_MIN, // Minimum CONTRAST_MAX // Maximum } }; LONG Contrast_Default = 15; KSPROPERTY_MEMBERSLIST Contrast_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (Contrast_RangeAndStep), SIZEOF_ARRAY (Contrast_RangeAndStep), 0 }, (PVOID) Contrast_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (Contrast_Default), sizeof (Contrast_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &Contrast_Default, } }; KSPROPERTY_VALUES Contrast_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (Contrast_MembersList), Contrast_MembersList }; /* * Gamma */ KSPROPERTY_STEPPING_LONG Gamma_RangeAndStep [] = { { GAMMA_DELTA, // SteppingDelta 0, // Reserved GAMMA_MIN, // Minimum GAMMA_MAX // Maximum } }; LONG Gamma_Default = 15; KSPROPERTY_MEMBERSLIST Gamma_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (Gamma_RangeAndStep), SIZEOF_ARRAY (Gamma_RangeAndStep), 0 }, (PVOID) Gamma_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (Gamma_Default), sizeof (Gamma_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &Gamma_Default, } }; KSPROPERTY_VALUES Gamma_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (Gamma_MembersList), Gamma_MembersList }; /* * ColorEnable */ KSPROPERTY_STEPPING_LONG ColorEnable_RangeAndStep [] = { { COLORENABLE_DELTA, // SteppingDelta 0, // Reserved COLORENABLE_MIN, // Minimum COLORENABLE_MAX // Maximum } }; LONG ColorEnable_Default = 1; KSPROPERTY_MEMBERSLIST ColorEnable_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (ColorEnable_RangeAndStep), SIZEOF_ARRAY (ColorEnable_RangeAndStep), 0 }, (PVOID) ColorEnable_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (ColorEnable_Default), sizeof (ColorEnable_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &ColorEnable_Default, } }; KSPROPERTY_VALUES ColorEnable_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (ColorEnable_MembersList), ColorEnable_MembersList }; /* * BackLight Compensation */ KSPROPERTY_STEPPING_LONG BackLight_Compensation_RangeAndStep [] = { { BACKLIGHT_COMPENSATION_DELTA, // SteppingDelta 0, // Reserved BACKLIGHT_COMPENSATION_MIN, // Minimum BACKLIGHT_COMPENSATION_MAX // Maximum } }; LONG BackLight_Compensation_Default = 1; KSPROPERTY_MEMBERSLIST BackLight_Compensation_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (BackLight_Compensation_RangeAndStep), SIZEOF_ARRAY (BackLight_Compensation_RangeAndStep), 0 }, (PVOID) BackLight_Compensation_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (BackLight_Compensation_Default), sizeof (BackLight_Compensation_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &BackLight_Compensation_Default, } }; KSPROPERTY_VALUES BackLight_Compensation_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (BackLight_Compensation_MembersList), BackLight_Compensation_MembersList }; /* * Proc Amp propertyset */ DEFINE_KSPROPERTY_TABLE(VideoProcAmpProperties) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &Brightness_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_CONTRAST, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &Contrast_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_GAMMA, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &Gamma_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_COLORENABLE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &ColorEnable_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &BackLight_Compensation_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ) }; /*-------------------------------------------------------------------------- * PROPSETID_PHILIPS_CUSTOM_PROP * * Supported: * * WhiteBalance Mode, * WhiteBalance Speed, * WhiteBalance Delay, * WhiteBalance Red Gain, * WhiteBalance Blue Gain, * AutoExposure ControlSpeed * AutoExposure Flickerless * AutoExposure Shutter Mode * AutoExposure Shutter Speed * AutoExposure Shutter Status * AutoExposure AGC Mode * AutoExposure AGC Speed * DriverVersion * Framerate, * Video Format * SensorType * VideoCompression, * Defaults * Release Number * VendorId * ProductId * *--------------------------------------------------------------------------*/ /* * White balance Mode */ LONG WB_Mode_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE_AUTO; KSPROPERTY_MEMBERSLIST WB_Mode_MembersList [] = { { { KSPROPERTY_MEMBER_VALUES, sizeof (WB_Mode_Default), sizeof (WB_Mode_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &WB_Mode_Default, } }; KSPROPERTY_VALUES WB_Mode_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (WB_Mode_MembersList), WB_Mode_MembersList }; /* * White balance Speed */ KSPROPERTY_STEPPING_LONG WB_Speed_RangeAndStep [] = { { WB_SPEED_DELTA, // SteppingDelta 0, // Reserved WB_SPEED_MIN, // Minimum WB_SPEED_MAX // Maximum } }; LONG WB_Speed_Default = 15; KSPROPERTY_MEMBERSLIST WB_Speed_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (WB_Speed_RangeAndStep), SIZEOF_ARRAY (WB_Speed_RangeAndStep), 0 }, (PVOID) WB_Speed_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (WB_Speed_Default), sizeof (WB_Speed_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &WB_Speed_Default, } }; KSPROPERTY_VALUES WB_Speed_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (WB_Speed_MembersList), WB_Speed_MembersList }; /* * White balance Delay */ KSPROPERTY_STEPPING_LONG WB_Delay_RangeAndStep [] = { { WB_DELAY_DELTA, // SteppingDelta 0, // Reserved WB_DELAY_MIN, // Minimum WB_DELAY_MAX // Maximum } }; LONG WB_Delay_Default = 32; KSPROPERTY_MEMBERSLIST WB_Delay_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (WB_Delay_RangeAndStep), SIZEOF_ARRAY (WB_Delay_RangeAndStep), 0 }, (PVOID) WB_Delay_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (WB_Delay_Default), sizeof (WB_Delay_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &WB_Delay_Default, } }; KSPROPERTY_VALUES WB_Delay_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (WB_Delay_MembersList), WB_Delay_MembersList }; /* * White balance Red Gain */ KSPROPERTY_STEPPING_LONG WB_Red_Gain_RangeAndStep [] = { { WB_RED_GAIN_DELTA, // SteppingDelta 0, // Reserved WB_RED_GAIN_MIN, // Minimum WB_RED_GAIN_MAX // Maximum } }; LONG WB_Red_Gain_Default = 127; KSPROPERTY_MEMBERSLIST WB_Red_Gain_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (WB_Red_Gain_RangeAndStep), SIZEOF_ARRAY (WB_Red_Gain_RangeAndStep), 0 }, (PVOID) WB_Red_Gain_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (WB_Red_Gain_Default), sizeof (WB_Red_Gain_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &WB_Red_Gain_Default, } }; KSPROPERTY_VALUES WB_Red_Gain_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (WB_Red_Gain_MembersList), WB_Red_Gain_MembersList }; /* * White balance Blue Gain */ KSPROPERTY_STEPPING_LONG WB_Blue_Gain_RangeAndStep [] = { { WB_BLUE_GAIN_DELTA, // SteppingDelta 0, // Reserved WB_BLUE_GAIN_MIN, // Minimum WB_BLUE_GAIN_MAX // Maximum } }; LONG WB_Blue_Gain_Default = 127; KSPROPERTY_MEMBERSLIST WB_Blue_Gain_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (WB_Blue_Gain_RangeAndStep), SIZEOF_ARRAY (WB_Blue_Gain_RangeAndStep), 0 }, (PVOID) WB_Blue_Gain_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (WB_Blue_Gain_Default), sizeof (WB_Blue_Gain_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &WB_Blue_Gain_Default, } }; KSPROPERTY_VALUES WB_Blue_Gain_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (WB_Blue_Gain_MembersList), WB_Blue_Gain_MembersList }; /* * Auto Exposure Control Speed */ KSPROPERTY_STEPPING_LONG AE_Control_Speed_RangeAndStep [] = { { AE_CONTROL_SPEED_DELTA, // SteppingDelta 0, // Reserved AE_CONTROL_SPEED_MIN, // Minimum AE_CONTROL_SPEED_MAX // Maximum } }; LONG AE_Control_Speed_Default = 127; KSPROPERTY_MEMBERSLIST AE_Control_Speed_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (AE_Control_Speed_RangeAndStep), SIZEOF_ARRAY (AE_Control_Speed_RangeAndStep), 0 }, (PVOID) AE_Control_Speed_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (AE_Control_Speed_Default), sizeof (AE_Control_Speed_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &AE_Control_Speed_Default, } }; KSPROPERTY_VALUES AE_Control_Speed_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (AE_Control_Speed_MembersList), AE_Control_Speed_MembersList }; /* * Auto Exposure Flickerless */ LONG AE_Flickerless_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS_ON; KSPROPERTY_MEMBERSLIST AE_Flickerless_MembersList [] = { { { KSPROPERTY_MEMBER_VALUES, sizeof (AE_Flickerless_Default), sizeof (AE_Flickerless_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &AE_Flickerless_Default, } }; KSPROPERTY_VALUES AE_Flickerless_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (AE_Flickerless_MembersList), AE_Flickerless_MembersList }; /* * Auto Exposure Shutter Mode */ LONG AE_Shutter_Mode_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE_AUTO; KSPROPERTY_MEMBERSLIST AE_Shutter_Mode_MembersList [] = { { { KSPROPERTY_MEMBER_VALUES, sizeof (AE_Shutter_Mode_Default), sizeof (AE_Shutter_Mode_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &AE_Shutter_Mode_Default, } }; KSPROPERTY_VALUES AE_Shutter_Mode_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (AE_Shutter_Mode_MembersList), AE_Shutter_Mode_MembersList }; /* * Auto Exposure Shutter Speed */ KSPROPERTY_STEPPING_LONG AE_Shutter_Speed_RangeAndStep [] = { { AE_SHUTTER_SPEED_DELTA, // SteppingDelta 0, // Reserved AE_SHUTTER_SPEED_MIN, // Minimum AE_SHUTTER_SPEED_MAX // Maximum } }; LONG AE_Shutter_Speed_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_250; KSPROPERTY_MEMBERSLIST AE_Shutter_Speed_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (AE_Shutter_Speed_RangeAndStep), SIZEOF_ARRAY (AE_Shutter_Speed_RangeAndStep), 0 }, (PVOID) AE_Shutter_Speed_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (AE_Shutter_Speed_Default), sizeof (AE_Shutter_Speed_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &AE_Shutter_Speed_Default, } }; KSPROPERTY_VALUES AE_Shutter_Speed_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (AE_Shutter_Speed_MembersList), AE_Shutter_Speed_MembersList }; /* * Auto Exposure Shutter Status */ KSPROPERTY_VALUES AE_Shutter_Status_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * Auto exposure AGC Mode */ LONG AE_AGC_Mode_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE_AUTO; KSPROPERTY_MEMBERSLIST AE_AGC_Mode_MembersList [] = { { { KSPROPERTY_MEMBER_VALUES, sizeof (AE_AGC_Mode_Default), sizeof (AE_AGC_Mode_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &AE_AGC_Mode_Default, } }; KSPROPERTY_VALUES AE_AGC_Mode_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (AE_AGC_Mode_MembersList), AE_AGC_Mode_MembersList }; /* * Auto exposure AGC speed */ KSPROPERTY_STEPPING_LONG AE_AGC_RangeAndStep [] = { { AE_AGC_DELTA, // SteppingDelta 0, // Reserved AE_AGC_MIN, // Minimum AE_AGC_MAX // Maximum } }; LONG AE_AGC_Default = 10; KSPROPERTY_MEMBERSLIST AE_AGC_MembersList [] = { { { KSPROPERTY_MEMBER_RANGES, sizeof (AE_AGC_RangeAndStep), SIZEOF_ARRAY (AE_AGC_RangeAndStep), 0 }, (PVOID) AE_AGC_RangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (AE_AGC_Default), sizeof (AE_AGC_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &AE_AGC_Default, } }; KSPROPERTY_VALUES AE_AGC_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (AE_AGC_MembersList), AE_AGC_MembersList }; /* * Driver Version */ KSPROPERTY_VALUES DriverVersion_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * Framerate */ LONG Framerate_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_75; KSPROPERTY_MEMBERSLIST Framerate_MembersList [] = { { { KSPROPERTY_MEMBER_VALUES, sizeof (Framerate_Default), sizeof (Framerate_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &Framerate_Default, } }; KSPROPERTY_VALUES Framerate_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (Framerate_MembersList), Framerate_MembersList }; /* * Framerates Supported */ KSPROPERTY_VALUES Framerates_Supported_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * Videoformat */ LONG VideoFormat_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT_QCIF; KSPROPERTY_MEMBERSLIST VideoFormat_MembersList [] = { { { KSPROPERTY_MEMBER_VALUES, sizeof (VideoFormat_Default), sizeof (VideoFormat_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &VideoFormat_Default, } }; KSPROPERTY_VALUES VideoFormat_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (VideoFormat_MembersList), VideoFormat_MembersList }; /* * Sensor Type */ KSPROPERTY_VALUES SensorType_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * VideoCompression */ LONG VideoCompression_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION_UNCOMPRESSED; KSPROPERTY_MEMBERSLIST VideoCompression_MembersList [] = { { { KSPROPERTY_MEMBER_VALUES, sizeof (VideoCompression_Default), sizeof (VideoCompression_Default), KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &VideoCompression_Default, } }; KSPROPERTY_VALUES VideoCompression_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (VideoCompression_MembersList), VideoCompression_MembersList }; /* * Defaults */ KSPROPERTY_VALUES Default_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * Release Number */ KSPROPERTY_VALUES Release_Number_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * VendorId */ KSPROPERTY_VALUES Vendor_Id_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * ProductId */ KSPROPERTY_VALUES Product_Id_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /*-------------------------------------------------------------------------- * PROPSETID_PHILIPS_FACTORY_PROP * * Supported: * * Register * Factory Mode * Register Address * Register Data *--------------------------------------------------------------------------*/ /* * Register Address */ KSPROPERTY_VALUES RegisterAddress_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * Register Data */ KSPROPERTY_VALUES RegisterData_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /* * Factory Mode */ KSPROPERTY_VALUES Factory_Mode_Values = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, 0, NULL }; /*-------------------------------------------------------------------------- * PROPSETID_PHILIPS_CUSTOM_PROP * * Supported: * * WhiteBalance Mode get set default * WhiteBalance Speed, get set range default * WhiteBalance Delay, get set range default * WhiteBalance Red Gain, get set range default * WhiteBalance Blue Gain, get set range default * AutoExposure ControlSpeed get set range default * AutoExposure Flickerless get set ranges default * AutoExposure Shutter Mode get set default * AutoExposure Shutter Speed get set range default * AutoExposure Shutter Status get * AutoExposure AGC Mode get set default * AutoExposure AGC Speed get set range default * DriverVersion get * Framerate, get set default * Framerates Supported get * Video Format get default * SensorType get * VideoCompression, get default * Defaults set * Release Number get * VendorId get * ProductId get * *--------------------------------------------------------------------------*/ DEFINE_KSPROPERTY_TABLE(CustomProperties) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &WB_Mode_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_SPEED, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &WB_Speed_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_DELAY, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &WB_Delay_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_RED_GAIN, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &WB_Red_Gain_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_BLUE_GAIN, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &WB_Blue_Gain_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_CONTROL_SPEED, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &AE_Control_Speed_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &AE_Flickerless_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &AE_Shutter_Mode_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &AE_Shutter_Speed_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_STATUS, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &AE_Shutter_Status_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &AE_AGC_Mode_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &AE_AGC_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_DRIVERVERSION, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData FALSE, // SetSupported or Handler &DriverVersion_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &Framerate_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATES_SUPPORTED,// PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &Framerates_Supported_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData FALSE, // !! TBD // SetSupported or Handler &VideoFormat_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_SENSORTYPE, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData FALSE, // !! TBD // SetSupported or Handler &SensorType_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData FALSE, // !! TBD // SetSupported or Handler &VideoCompression_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_DEFAULTS, // PropertyId FALSE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &Default_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_RELEASE_NUMBER, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &Release_Number_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_VENDOR_ID, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &Vendor_Id_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_CUSTOM_PROP_PRODUCT_ID, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData TRUE, // SetSupported or Handler &Product_Id_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), }; /*-------------------------------------------------------------------------- * PROPSETID_PHILIPS_FACTORY_PROP * * Supported: * * Register set get * Factory_Mode set * *--------------------------------------------------------------------------*/ DEFINE_KSPROPERTY_TABLE(FactoryProperties) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_FACTORY_PROP_REGISTER_ADDRESS, // PropertyId FALSE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinData TRUE, // SetSupported or Handler &RegisterAddress_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_FACTORY_PROP_REGISTER_DATA, // PropertyId TRUE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinData TRUE, // SetSupported or Handler &RegisterData_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_PHILIPS_FACTORY_PROP_FACTORY_MODE, // PropertyId FALSE, // GetSupported or Handler sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinProperty sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinData TRUE, // SetSupported or Handler &Factory_Mode_Values, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), }; /*-------------------------------------------------------------------------- | VideoControlProperties Table | | Supported: | | Videocontrol Capabilities | Videocontrol Mode set | --------------------------------------------------------------------------*/ DEFINE_KSPROPERTY_TABLE(FrameRateProperties) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_CAPS, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinProperty sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinProperty sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_FRAME_RATES, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S), // MinProperty 0 , // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_MODE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinProperty sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinData TRUE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), }; /*-------------------------------------------------------------------------- * Definition of property set table *--------------------------------------------------------------------------*/ DEFINE_KSPROPERTY_SET_TABLE(AdapterPropertyTable) { DEFINE_KSPROPERTY_SET ( &PROPSETID_VIDCAP_VIDEOPROCAMP, // Set SIZEOF_ARRAY(VideoProcAmpProperties), // PropertiesCount VideoProcAmpProperties, // PropertyItem 0, // FastIoCount NULL // FastIoTable ), DEFINE_KSPROPERTY_SET ( &PROPSETID_PHILIPS_CUSTOM_PROP, // Set SIZEOF_ARRAY(CustomProperties), // PropertiesCount CustomProperties, // PropertyItem 0, // FastIoCount NULL // FastIoTable ), DEFINE_KSPROPERTY_SET ( &PROPSETID_PHILIPS_FACTORY_PROP, // Set SIZEOF_ARRAY(FactoryProperties), // PropertiesCount FactoryProperties, // PropertyItem 0, // FastIoCount NULL // FastIoTable ), DEFINE_KSPROPERTY_SET ( &PROPSETID_VIDCAP_VIDEOCONTROL, // Set SIZEOF_ARRAY(FrameRateProperties), // PropertiesCount FrameRateProperties, // PropertyItem 0, // FastIoCount NULL // FastIoTable ) }; const NUMBER_OF_ADAPTER_PROPERTY_SETS = (SIZEOF_ARRAY (AdapterPropertyTable)); /*-------------------------------------------------------------------------- | VideoControlProperties Table | | Supported: | | Videocontrol Capabilities | Videocontrol Mode set | --------------------------------------------------------------------------*/ DEFINE_KSPROPERTY_TABLE(VideoControlProperties) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_CAPS, // PropertyId FALSE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinProperty sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinProperty sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinData TRUE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_FRAME_RATES, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S), // MinProperty 0 , // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOCONTROL_MODE, // PropertyId FALSE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinProperty sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinData TRUE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ) };