Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

266 lines
8.5 KiB

#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__ */