www.pudn.com > camera.rar > sensorproperties.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//
// (C) Copyright 2006 Marvell International Ltd.
// All Rights Reserved
//
#ifndef __SENSORPROPERTIES_H
#define __SENSORPROPERTIES_H
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG BrightnessRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
-10000, // Minimum in (IRE * 100) units
10000 // Maximum in (IRE * 100) units
}
};
const static LONG BrightnessDefault = 750;
static CSPROPERTY_MEMBERSLIST BrightnessMembersList [] =
{
{
/*CSPROPERTY_MEMBERSHEADER*/
{
CSPROPERTY_MEMBER_RANGES, /*MembersFlags*/
sizeof (CSPROPERTY_STEPPING_LONG), /*MembersSize*/
SIZEOF_ARRAY (BrightnessRangeAndStep), /*MembersCount*/
0 /*flags 0 or CSPROPERTY_MEMBER_FLAG_DEFAULT*/
},
/*Members*/
(PVOID) BrightnessRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (BrightnessDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &BrightnessDefault,
}
};
static CSPROPERTY_VALUES BrightnessValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (BrightnessMembersList),
BrightnessMembersList
};
// ------------------------------------------------------------------------
// The contrast value is expressed as a gain factor multiplied by 100.
static CSPROPERTY_STEPPING_LONG ContrastRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum as a gain factor multiplied by 100
10000 // Maximum as a gain factor multiplied by 100
}
};
const static LONG ContrastDefault = 100;
static CSPROPERTY_MEMBERSLIST ContrastMembersList [] =
{
{
/*CSPROPERTY_MEMBERSHEADER*/
{
CSPROPERTY_MEMBER_RANGES, /*MembersFlags*/
sizeof (CSPROPERTY_STEPPING_LONG), /*MembersSize*/
SIZEOF_ARRAY (ContrastRangeAndStep), /*MembersCount*/
0 /*flags 0 or CSPROPERTY_MEMBER_FLAG_DEFAULT*/
},
/*Members*/
(PVOID) ContrastRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (ContrastDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &ContrastDefault,
}
};
static CSPROPERTY_VALUES ContrastValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (ContrastMembersList),
ContrastMembersList
};
// ------------------------------------------------------------------------
// The value of the hue setting is expressed in degrees multiplied by 100.
static CSPROPERTY_STEPPING_LONG HueRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
-18000, // Minimum in degrees multiplied by 100.
18000 // Maximum in degrees multiplied by 100.
}
};
const static LONG HueDefault = 0;
static CSPROPERTY_MEMBERSLIST HueMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (HueRangeAndStep),
0
},
(PVOID) HueRangeAndStep
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (HueDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &HueDefault,
}
};
static CSPROPERTY_VALUES HueValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (HueMembersList),
HueMembersList
};
// ------------------------------------------------------------------------
// The value of the saturation setting is expressed as gain multiplied by 100.
static CSPROPERTY_STEPPING_LONG SaturationRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum in (gain * 100) units
10000 // Maximum in (gain * 100) units
}
};
const static LONG SaturationDefault = 100;
static CSPROPERTY_MEMBERSLIST SaturationMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (SaturationRangeAndStep),
0
},
(PVOID) SaturationRangeAndStep
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (SaturationDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &SaturationDefault,
}
};
static CSPROPERTY_VALUES SaturationValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (SaturationMembersList),
SaturationMembersList
};
// ------------------------------------------------------------------------
// Sharpness is expressed in arbitrary units
static CSPROPERTY_STEPPING_LONG SharpnessRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum
100 // Maximum
}
};
const static LONG SharpnessDefault = 50;
static CSPROPERTY_MEMBERSLIST SharpnessMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (SharpnessRangeAndStep),
0
},
(PVOID) SharpnessRangeAndStep
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (SharpnessDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &SharpnessDefault,
}
};
static CSPROPERTY_VALUES SharpnessValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (SharpnessMembersList),
SharpnessMembersList
};
// ------------------------------------------------------------------------
// The white balance value is expressed as a color temperature, in degrees Kelvin
static CSPROPERTY_STEPPING_LONG WhiteBalanceRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
273, // Minimum in (degrees Kelvin)
310 // Maximum in degrees Kelvin)
}
};
const static LONG WhiteBalanceDefault = 298;
static CSPROPERTY_MEMBERSLIST WhiteBalanceMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (WhiteBalanceRangeAndStep),
0
},
(PVOID) WhiteBalanceRangeAndStep
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (WhiteBalanceDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &WhiteBalanceDefault,
}
};
static CSPROPERTY_VALUES WhiteBalanceValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (WhiteBalanceMembersList),
WhiteBalanceMembersList
};
// ------------------------------------------------------------------------
// The value of the gamma setting is expressed in gamma multiplied by 100
static CSPROPERTY_STEPPING_LONG GammaRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
1, // Minimum (in gamma multiplied by 100)
500 // Maximum (in gamma multiplied by 100)
}
};
const static LONG GammaDefault = 100; // gamma = 1
static CSPROPERTY_MEMBERSLIST GammaMembersList [] =
{
{
/*CSPROPERTY_MEMBERSHEADER*/
{
CSPROPERTY_MEMBER_RANGES, /*MembersFlags*/
sizeof (CSPROPERTY_STEPPING_LONG), /*MembersSize*/
SIZEOF_ARRAY (GammaRangeAndStep), /*MembersCount*/
0 /*flags 0 or CSPROPERTY_MEMBER_FLAG_DEFAULT*/
},
/*Members*/
(PVOID) GammaRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (GammaDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &GammaDefault,
}
};
static CSPROPERTY_VALUES GammaValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (GammaMembersList),
GammaMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG ColorEnableRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum (Color is disabled)
1 // Maximum (Color is enabled)
}
};
const static LONG ColorEnableDefault = 1;
static CSPROPERTY_MEMBERSLIST ColorEnableMembersList [] =
{
{
/*CSPROPERTY_MEMBERSHEADER*/
{
CSPROPERTY_MEMBER_RANGES, /*MembersFlags*/
sizeof (CSPROPERTY_STEPPING_LONG), /*MembersSize*/
SIZEOF_ARRAY (ColorEnableRangeAndStep), /*MembersCount*/
0 /*flags 0 or CSPROPERTY_MEMBER_FLAG_DEFAULT*/
},
/*Members*/
(PVOID) ColorEnableRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (ColorEnableDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &ColorEnableDefault,
}
};
static CSPROPERTY_VALUES ColorEnableValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (ColorEnableMembersList),
ColorEnableMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG BackLightCompensationRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum ( BackLight Compensation is off
1 // Maximum ( BackLight Compensation is on )
}
};
const static LONG BackLightCompensationDefault = 1;
static CSPROPERTY_MEMBERSLIST BackLightCompensationMembersList [] =
{
{
/*CSPROPERTY_MEMBERSHEADER*/
{
CSPROPERTY_MEMBER_RANGES, /*MembersFlags*/
sizeof (CSPROPERTY_STEPPING_LONG), /*MembersSize*/
SIZEOF_ARRAY (BackLightCompensationRangeAndStep), /*MembersCount*/
0 /*flags 0 or CSPROPERTY_MEMBER_FLAG_DEFAULT*/
},
/*Members*/
(PVOID) BackLightCompensationRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (BackLightCompensationDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &BackLightCompensationDefault,
}
};
static CSPROPERTY_VALUES BackLightCompensationValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (BackLightCompensationMembersList),
BackLightCompensationMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG GainRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
-10, // Minimum
15 // Maximum
}
};
const static LONG GainDefault = 1;
static CSPROPERTY_MEMBERSLIST GainMembersList [] =
{
{
/*CSPROPERTY_MEMBERSHEADER*/
{
CSPROPERTY_MEMBER_RANGES, /*MembersFlags*/
sizeof (CSPROPERTY_STEPPING_LONG), /*MembersSize*/
SIZEOF_ARRAY (GainRangeAndStep), /*MembersCount*/
0 /*flags 0 or CSPROPERTY_MEMBER_FLAG_DEFAULT*/
},
/*Members*/
(PVOID) GainRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (GainDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &GainDefault,
}
};
static CSPROPERTY_VALUES GainValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (GainMembersList),
GainMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG PanRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
-180, // Minimum in Degrees
180 // Maximum in Degrees
}
};
const static LONG PanDefault = 0;
static CSPROPERTY_MEMBERSLIST PanMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (PanRangeAndStep),
0
},
(PVOID) PanRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (PanDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &PanDefault,
}
};
static CSPROPERTY_VALUES PanValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (PanMembersList),
PanMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG TiltRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
-180, // Minimum in Degrees
180 // Maximum in Degrees
}
};
const static LONG TiltDefault = 0;
static CSPROPERTY_MEMBERSLIST TiltMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (TiltRangeAndStep),
0
},
(PVOID) TiltRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (TiltDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &TiltDefault,
}
};
static CSPROPERTY_VALUES TiltValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (TiltMembersList),
TiltMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG RollRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
-180, // Minimum in Degrees
180 // Maximum in Degrees
}
};
const static LONG RollDefault = 0;
static CSPROPERTY_MEMBERSLIST RollMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (RollRangeAndStep),
0
},
(PVOID) RollRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (RollDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &RollDefault,
}
};
static CSPROPERTY_VALUES RollValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (RollMembersList),
RollMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG ZoomRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
10, // Minimum in Millimeters
600 // Maximum in Millimeters
}
};
const static LONG ZoomDefault = 10;
static CSPROPERTY_MEMBERSLIST ZoomMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (ZoomRangeAndStep),
0
},
(PVOID) ZoomRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (ZoomDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &ZoomDefault,
}
};
static CSPROPERTY_VALUES ZoomValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (ZoomMembersList),
ZoomMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG IrisRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum in units of fstop * 10
3456 // Maximum in units of fstop * 10
}
};
const static LONG IrisDefault = 2500;
static CSPROPERTY_MEMBERSLIST IrisMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (IrisRangeAndStep),
0
},
(PVOID) IrisRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (IrisDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &IrisDefault,
}
};
static CSPROPERTY_VALUES IrisValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (IrisMembersList),
IrisMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG ExposureRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
-9, // Minimum (This value is expressed in log base 2 seconds, thus,
// for values less than zero, the exposure time is 1/2n seconds. For positive values and zero, the exposure time is 2n seconds)
4 // Maximum (This value is expressed in log base 2 seconds, thus,
// for values less than zero, the exposure time is 1/2n seconds. For positive values and zero, the exposure time is 2n seconds)
}
};
const static LONG ExposureDefault = -4;
static CSPROPERTY_MEMBERSLIST ExposureMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (ExposureRangeAndStep),
0
},
(PVOID) ExposureRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (ExposureDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &ExposureDefault,
}
};
static CSPROPERTY_VALUES ExposureValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (ExposureMembersList),
ExposureMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG FocusRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum in millimeters
200 // Maximum in millimeters
}
};
const static LONG FocusDefault = 100;
static CSPROPERTY_MEMBERSLIST FocusMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (FocusRangeAndStep),
0
},
(PVOID) FocusRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (FocusDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &FocusDefault,
}
};
static CSPROPERTY_VALUES FocusValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (FocusMembersList),
FocusMembersList
};
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG FlashRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum (means flash is turned off)
200 // Maximum (in millimeter units. Values greater than 0 means
// flash is turned on and the value reflects the distance of the object from the camera.
}
};
const static LONG FlashDefault = 0; // By default flash is turned off
static CSPROPERTY_MEMBERSLIST FlashMembersList [] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (FlashRangeAndStep),
0
},
(PVOID) FlashRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (FlashDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &FlashDefault,
}
};
static CSPROPERTY_VALUES FlashValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (FlashMembersList),
FlashMembersList
};
// ------------------------------------------------------------------------
DEFINE_CSPROPERTY_TABLE(VideoProcAmpProperties)
{
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_BRIGHTNESS,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&BrightnessValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_CONTRAST,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&ContrastValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_HUE,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&HueValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_SATURATION,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&SaturationValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_SHARPNESS,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&SharpnessValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_GAMMA,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&GammaValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_COLORENABLE,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&ColorEnableValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_WHITEBALANCE,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&WhiteBalanceValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&BackLightCompensationValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_VIDEOPROCAMP_GAIN,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinProperty
sizeof(CSPROPERTY_VIDEOPROCAMP_S), // MinData
TRUE, // SetSupported or Handler
&GainValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
)
};
DEFINE_CSPROPERTY_TABLE(CameraControlProperties)
{
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_PAN,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&PanValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_TILT,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&TiltValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_ROLL,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&RollValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_ZOOM,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&ZoomValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_IRIS,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&IrisValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_EXPOSURE,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&ExposureValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_FOCUS,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&FocusValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_FLASH,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&FlashValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
)
};
// ------------------------------------------------------------------------
// Array of all of the property sets supported by the adapter
// ------------------------------------------------------------------------
DEFINE_CSPROPERTY_SET_TABLE(AdapterPropertyTable)
{
DEFINE_CSPROPERTY_SET
(
&PROPSETID_VIDCAP_VIDEOPROCAMP,
SIZEOF_ARRAY(VideoProcAmpProperties),
VideoProcAmpProperties,
0,
NULL
),
DEFINE_CSPROPERTY_SET
(
&PROPSETID_VIDCAP_CAMERACONTROL,
SIZEOF_ARRAY(CameraControlProperties),
CameraControlProperties,
0,
NULL
)
};
#define NUMBER_OF_ADAPTER_PROPERTY_SETS (SIZEOF_ARRAY (AdapterPropertyTable))
// ----------------------------------------------------------------------------
// Default Video Control Caps
// ----------------------------------------------------------------------------
ULONG DefaultVideoControlCaps[] = {
0x0 /*CAPTURE*/,
CS_VideoControlFlag_ExternalTriggerEnable | CS_VideoControlFlag_Trigger /*STILL*/,
0x0 /*PREVIEW*/
};
#endif