#ifndef __MPRPOBJ_H__ #define __MPRPOBJ_H__ /*++ Copyright (c) 1997 1998 PHILIPS I&C Module Name: mprpobj.c Abstract: Property handling module Author: Michael Verberne Revision History: Date Reason Sept.22, 98 Optimized for NT5 Nov. 30, 98 PID, VID and pushbutton flag added as custom properties --*/ /* * This file defines custom properties for the * camera. These properties are additional to the * property sets VideoProcAmp and CameraControl as * defined in ksmedia.h * * The set of properties that is currently supported * by the minidriver is a subset of the properties * defined in the CRS (VGAUSB13.DOC) * * Note 1: Most of the ranges in the table(s) above * follow from the SSI Lionsoft Philips Desktop Video * Camera * * Note 2: The Pan and Tilt properties (in SQ-CIF) are * part of PROPSETID_VIDCAP_CAMERACONTROL. These * properties must be added at a later stage. * * Note 3: Color Saturation is part of * PROPSETID_VIDCAP_VIDEOPROCAMP. This must be added * at a later stage. * *------------------------------------------------------- * Properties defined in PROPSETID_VIDCAP_VIDEOPROCAMP * * PROPERTY RANGE ACTIVE STATE * * Contrast -32..31 Always * * Brightness ?? 0..31 Always * * Back_Light_Compensation 0 = Off Always * 1 = On * * Color Enable 0 = Off Always * 1 = On * * Gamma 0..100 Always * *------------------------------------------------------- * Properties defined in PROPSETID_PHILIPS_CUSTOM_PROP * * PROPERTY RANGE ACTIVE STATE * * White Balance 0 = Indoor | Always * 1 = Outdoor | * 2 = FL | * 3 = Auto | * 4 = Manual * * White Balance Speed 1..32 In WB_Auto * * White Balance Delay 1..63 In WB_Auto * * White Balance Red Gain 0..255 In WB_Manual * * White Balance Blue_Gain 0..255 In WB_Manual * * Auto exposure 8..255 * speed control * * Shutterspeed 0 = 1/25, In Shutter Fixed * 1 = 1/33, * 2 = 1/50, * 3 = 1/100, * 4 = 1/250, * 5 = 1/500, * 6 = 1/1000 * 7 = 1/1500 * 8 = 1/2500 * 9 = 1/5000 * a = 1/10000 * * Shutter Mode 0 Auto Mode * 0xff Fixed Mode * * Shutter Status 0 Smaller * 1 Equal * 2 Greater * * AGC Mode 0 Auto Mode * 0xff Fixed Mode * * AGC Speed 0..0x9f In AGC Mode Auto * * Framerate ff = VGA, still image for VGA * 1 = 3.75 CIF * 2 = 5, Always * 3 = 7,5 Always * 4 = 10, Always * 5 = 12, Not for VGA * 6 = 15, Always * 7 = 20, Q-CIF/SQ-CIF * 8 = 24 Q-CIF/SQ-CIF * * Framerate supported returns a long representing * the currently available * framerates * b0 VGA * b1 3_75 * b2 5 * b3 7.5 * b4 10 * b5 12 * b6 15 * b7 20 * b8 24 * b9...b31 not used * * Video format 3 = SQ-CIF Always * 2 = Q-CIF * 1 = CIF * 4 = VGA * * Exposure Control 0 = Auto Always * ff= Shutter Fixed * * */ #include "windef.h" #include "mmsystem.h" #include "ks.h" // Whitebalance mode values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE_INDOOR 0 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE_OUTDOOR 1 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE_TL 2 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE_MANUAL 3 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE_AUTO 4 // Auto Exposure shutter mode values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE_AUTO 0 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE_FIXED 0xff // Auto Exposure agc mode values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE_AUTO 0 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE_FIXED 0xff // Auto Exposure flickerless values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS_ON 0xff #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS_OFF 0x0 // Auto Exposure shutterspeed values (1/xx s) #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_25 0x0 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_33 0x1 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_50 0x2 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_100 0x3 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_250 0x4 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_500 0x5 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_1000 0x6 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_1500 0x7 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_2500 0x8 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_5000 0x9 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_10000 0xa // Auto Exposure shutterspeed status values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_STATUS_SMALLER 0x0 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_STATUS_EQUAL 0x1 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_STATUS_GREATER 0x2 // Framerate values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_VGA 0xff #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_375 0x4 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_5 0x5 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_75 0x8 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_10 0xa #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_12 0xc #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_15 0xf #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_20 0x14 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_24 0x18 // Video format values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT_CIF 0x1 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT_QCIF 0x2 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT_SQCIF 0x3 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT_VGA 0x4 // Video compression values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION_UNCOMPRESSED 0x1 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION_COMPRESSED3X 0x3 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION_COMPRESSED4X 0x4 // Sensortype values #define KSPROPERTY_PHILIPS_CUSTOM_PROP_SENSORTYPE_PAL_MR 0x1 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_SENSORTYPE_VGA 0x0 // Commands for camera default #define KSPROPERTY_PHILIPS_CUSTOM_PROP_DEFAULTS_RESTORE_USER 0x0 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_DEFAULTS_SAVE_USER 0x1 #define KSPROPERTY_PHILIPS_CUSTOM_PROP_DEFAULTS_RESTORE_FACTORY 0x2 // define the GUID of the custom propertyset #define STATIC_PROPSETID_PHILIPS_CUSTOM_PROP \ 0xb5ca8702, 0xc487, 0x11d1, 0xb3, 0xd, 0x0, 0x60, 0x97, 0xd1, 0xcd, 0x79 DEFINE_GUIDEX(PROPSETID_PHILIPS_CUSTOM_PROP); // define property id's for the custom property set typedef enum { KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE, KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_SPEED, KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_DELAY, KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_RED_GAIN, KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_BLUE_GAIN, KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_CONTROL_SPEED, KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS, KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE, KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED, KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_STATUS, KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE, KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC, KSPROPERTY_PHILIPS_CUSTOM_PROP_DRIVERVERSION, KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE, KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATES_SUPPORTED, KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT, KSPROPERTY_PHILIPS_CUSTOM_PROP_SENSORTYPE, KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION, KSPROPERTY_PHILIPS_CUSTOM_PROP_DEFAULTS, KSPROPERTY_PHILIPS_CUSTOM_PROP_RELEASE_NUMBER, KSPROPERTY_PHILIPS_CUSTOM_PROP_PUSHBUTTON_FLAG, KSPROPERTY_PHILIPS_CUSTOM_PROP_VENDOR_ID, KSPROPERTY_PHILIPS_CUSTOM_PROP_PRODUCT_ID } KSPROPERTY_PHILIPS_CUSTOM_PROP; // define a generic structure which will be used to pass // the properties Currently, this is the same as for // KSPROPERTY_PROCAMP_S. // // Note: There are currently no // KSPROPERTY_PHILIPS_CUSTOM_PROP_FLAGS defined typedef struct { KSPROPERTY Property; ULONG Instance; LONG Value; // Value to set or get ULONG Flags; // KSPROPERTY_PHILIPS_CUSTOM_PROP_FLAGS_ ULONG Capabilities; // KSPROPERTY_PHILIPS_CUSTOM_PROP_FLAGS_ } KSPROPERTY_PHILIPS_CUSTOM_PROP_S, *PKSPROPERTY_PHILIPS_CUSTOM_PROP_S; #endif /* __MPRPOBJ_H__ */