DSwcOpenAPI.h File Reference

Go to the source code of this file.

Defines

#define DSWCOPEN_API   __declspec(dllimport)

Enumerations

enum  EKnownChipsetCat {
  ECSX_Unknown = 0, ECSX_SAA8112 = 1, ECSX_SAA8116 = 3, ECSX_CREALIVEULTRA = 4,
  ECSX_LOGIFUSION = 5
}
 The chipsets that DSwcOpen knows about. More...
enum  EVidCapPropertySupport { EVCS_no = 0, EVCS_get = 1, EVCS_set = 2, EVCS_both = 3 }
 The capability that DSwcOpen may support for a certain property. More...
enum  EVidCapProperty {
  EVCP_FirstElement = 0, EVCP_Brightness = EVCP_FirstElement, EVCP_Contrast = 1, EVCP_Hue = 2,
  EVCP_Saturation = 3, EVCP_Sharpness = 4, EVCP_Gamma = 5, EVCP_ColorEnable = 6,
  EVCP_WhiteBalance = 7, EVCP_BacklightCompensation = 8, EVCP_WhiteBalanceMode = 9, EVCP_WhiteBalRed = 10,
  EVCP_WhiteBalBlue = 11, EVCP_FlickerFree = 12, EVCP_Flicker50_60 = 13, EVCP_FPS = 14,
  EVCP_Exposure = 15, EVCP_Gain = 16, EVCP_FlipHorizontal = 17, EVCP_FlipVertical = 18,
  EVCP_AutoExposure = 19, EVCP_AutoAll = 20, EVCP_ActualFrameRate = 21, EVCP_LED = 22,
  EVCP_Setting = 23, EVCP_ExtTrigger = 24, EVCP_SWTrigger = 25, EVCP_Pan = 26,
  EVCP_Tilt = 27, EVCP_Roll = 28, EVCP_Zoom = 29, EVCP_Iris = 30,
  EVCP_Focus = 31, EVCP_LastElement = EVCP_Focus
}
 All the properties that DSwcOpen may support for a certain webcam. More...

Functions

DSWCOPEN_API int EnumCams ()
 The interface.
DSWCOPEN_API void GetCamStrings (char *(*camNames[]), unsigned int *numCamNames)
DSWCOPEN_API void GetDevStrings (char *(*devNames[]), unsigned int *numDevNames)
DSWCOPEN_API void GetCamSerials (char *(*camSerials[]), unsigned int *numCamSerials)
DSWCOPEN_API int SetCam (int camNumber)
DSWCOPEN_API int CamProperty_Support (EVidCapProperty prop, EVidCapPropertySupport *pValue)
DSWCOPEN_API int CamProperty_Range (EVidCapProperty prop, long *pMin, long *pMax, long *pDelta)
DSWCOPEN_API int CamProperty_Set (EVidCapProperty prop, long value)
DSWCOPEN_API int CamProperty_Get (EVidCapProperty prop, long *pValue)
DSWCOPEN_API int CamChipset (EKnownChipsetCat *pValue)


Detailed Description

C-API CDSwcOpenAPI

Declaration of DSwcOpen App Programming Interface (plain C)

NOTE: The C version of the API is not reentrant as it implements only one object. Use the Class API which 'should be able to handle more than one instance

Does handle SAA8116 and SAA5115 based WebCams currently known Philips 730k / 740k / 750k / 840k Logitech 3000 / 4000 / Notebook Pro / Zoom Pro Creative ProEx VESTAs CCD cameras of the SAA8115 breed Supports a maximum of 10 connected capture devices


Project DSwcOpen

Author:
Martin Burri <bm98 _at_ burri-web _dot_ org>
Date:
27-Aug-2005 Copyright 2005 - Martin Burri - CH 5618 Bettwil - Switzerland
rev: 1.0
This is copyrighted material - NOT freeware NOR GPL NOR anything else !!!!!


Updates


License: You are allowed to use the DSwcOpen DLL and therefore this API for any NON commercial (NON shareware etc.) purposes only. If you want to use it for an application you will get money for you have to obtain a proper license - just call in <bm98 _at_ burri-web _dot_ org>

You may distribute the DSwcOpen DLL only together with an application you have made yourself providing the above paragraph is respected. Please make sure using an appropriate installer to maintain your customers PC in a healthy condition - thanks

No warranties whatsoever
LIMITED WARRANTY AND DISCLAIMER OF WARRANTY THE Copyright Holder EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE SOFTWARE. THIS SOFTWARE AND THE ACCOMPANYING FILES ARE GIVEN FOR FREE "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED, OR NONINFRINGEMENT.
THIS SOFTWARE IS NOT FAULT TOLERANT AND SHOULD NOT BE USED IN ANY ENVIRONMENT WHICH REQUIRES THIS.
The Licensed Software is provided AS IS without warranty of any kind. The Copyright Holder makes no further representations or warranties expressly or implied such as by way of example but not of limitation regarding merchant ability or fitness for any particular purpose, or that Licensed Software is error free, or that the use of the Licensed Software or any copies thereof will not infringe any patent, copyright or trademark of third parties.
NO LIABILITY FOR DAMAGES. In no event shall the Copyright Holder or agents or its suppliers be liable to you for any consequential, incidental or indirect damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this SOFTWARE EVEN IF the Copyright Holder HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The entire risk arising out of use or performance of the SOFTWARE remains with you.
Because of the various hardware and software environments into which DSwcOpen DLL may be put, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.
The liability of the Copyright Holder for actual damages from any cause whatsoever, and regardless of the form of action (whether in contract, tort (including negligence), product liability or otherwise) WILL BE LIMITED TO ZERO, NOTHING, NIENTE, NADA, NICHTS.


Define Documentation

#define DSWCOPEN_API   __declspec(dllimport)
 


Enumeration Type Documentation

enum EKnownChipsetCat
 

The chipsets that DSwcOpen knows about.

Enumerator:
ECSX_Unknown 
ECSX_SAA8112 
ECSX_SAA8116 
ECSX_CREALIVEULTRA 
ECSX_LOGIFUSION 

enum EVidCapPropertySupport
 

The capability that DSwcOpen may support for a certain property.

Enumerator:
EVCS_no 
EVCS_get 
EVCS_set 
EVCS_both 

enum EVidCapProperty
 

All the properties that DSwcOpen may support for a certain webcam.

Enumerator:
EVCP_FirstElement 
EVCP_Brightness  Specifies the brightness, also called the black level.


** standard props copied from VideoProcAmp (MSDN VideoProcAmpProperty Enumeration Page) please be aware that the properties are sometimes not implemented according to the standard - so check the range before using it Also the range of properties supported depends on the cam model

EVCP_Contrast  Specifies the contrast, expressed as gain factor.
EVCP_Hue  Specifies the hue, in degrees.
EVCP_Saturation  Specifies the saturation.
EVCP_Sharpness  Specifies the sharpness.
EVCP_Gamma  Specifies the gamma.
EVCP_ColorEnable  Specifies the color enable setting. The possible values are 0 (off) and 1 (on).
EVCP_WhiteBalance  Specifies the white balance setting.
EVCP_BacklightCompensation  Specifies the backlight compensation setting. Possible values are 0 (off) and 1 (on).
EVCP_WhiteBalanceMode 
***from Private Properties

The webcam white balance selector Possible values are (0=Warm, 1=Outdoor, 2=FL, 3=Freeze,4=Auto)

EVCP_WhiteBalRed  The red part of the manual white balance.
EVCP_WhiteBalBlue  The blue part of the manual white balance.
EVCP_FlickerFree  Another two setting which changes some scan frequencies Possible values are 0 (off) and 1 (on).
EVCP_Flicker50_60  Possible values are (0=50Hz, 1=60Hz).
EVCP_FPS  The framerate setting Value range (0=5,1=10,2=15,3=20,4=25,5=30,6=60)
EVCP_Exposure  The exposure time setting Value range (0..10 / 0=1/5, 1=1/10, 2=1/25...)
EVCP_Gain  The gain setting.
EVCP_FlipHorizontal  Flip the image in a direction Possible values are (0=not,1=flipped)
EVCP_FlipVertical 
EVCP_AutoExposure  The Auto checkboxes Possible values are (0=auto, 1=not)
EVCP_AutoAll 
EVCP_ActualFrameRate  frame duration in msec - get only
EVCP_LED 
*** Control parameters (experimental or not even working :o) )

One can switch the LED a bit Possible values are (=16 on, =17 slow blink, =18 fast blink)

EVCP_Setting  Load, Save and Factory buttons control (set only) Possible values are (=0 Load User, =1 Save User, =2 Load Factory)
EVCP_ExtTrigger 
*** CamControl parameters (mostly set only)
EVCP_SWTrigger 
EVCP_Pan 
EVCP_Tilt 
EVCP_Roll 
EVCP_Zoom 
EVCP_Iris 
EVCP_Focus 
EVCP_LastElement 


Function Documentation

DSWCOPEN_API int EnumCams  ) 
 

The interface.

Enumerates the video capture devices - must be calles once

Parameters:
none 
Returns:
0 for success

-1 on error (failed for some reason)

DSWCOPEN_API void GetCamStrings char **[]  camNames,
unsigned int *  numCamNames
 

Provides the enumerated camera names
Returns a pointer to a zero based array of ASCIIZ strings and the number of strings that are valid
!!!!! You don't own the strings so just make a copy !!!!!

Parameters:
camNames - a pointer var receiving the char array ptr
numCamNames - an int var receiving number of strings

DSWCOPEN_API void GetDevStrings char **[]  devNames,
unsigned int *  numDevNames
 

Provides the enumerated device names
Returns a pointer to a zero based array of ASCIIZ strings and the number of strings that are valid returns Camera driver internal (unique) names
!!!!! You don't own the strings so just make a copy !!!!!

Parameters:
devNames - a pointer var receiving the char array ptr
numCamNames - an int var receiving number of strings

DSWCOPEN_API void GetCamSerials char **[]  camSerials,
unsigned int *  numCamSerials
 

Provides the enumerated camera serials - use it if more than one camera of a type is connected
Returns a pointer to a zero based array of ASCIIZ strings and the number of strings that are valid
!!!!! You don't own the strings so just make a copy !!!!!

Parameters:
camSerials - a pointer var receiving the char array ptr
numCamSerials - an int var receiving number of strings

DSWCOPEN_API int SetCam int  camNumber  ) 
 

Sets the camera with the array index CamNumber to the current cam

Parameters:
camNumber - the number of the cam to make active set -1 to disconnect
Returns:
0 for success

-1 on error or just because there were no cams

DSWCOPEN_API int CamProperty_Support EVidCapProperty  prop,
EVidCapPropertySupport pValue
 

Returns the support type of a property of the cam

Parameters:
prop - the property to get information about
pValue - a variable receiving the kind of support
Returns:
0 for success

-1 on error or just because there were no cams

DSWCOPEN_API int CamProperty_Range EVidCapProperty  prop,
long *  pMin,
long *  pMax,
long *  pDelta
 

Returns the value range of a property of the cam

Parameters:
prop - the property to get information about
pMin,pMax,pDelta - 3 variables receiving the range of the prop
Returns:
0 for success

-1 on error or just because there were no cams

DSWCOPEN_API int CamProperty_Set EVidCapProperty  prop,
long  value
 

Sends a property value to the cam

Parameters:
prop - the property to get information about
value - the new value to set
Returns:
0 for success

-1 on error or just because there were no cams

DSWCOPEN_API int CamProperty_Get EVidCapProperty  prop,
long *  pValue
 

Returns a property value from the cam

Parameters:
prop - the property to get information about
pValue - a variable receiving the current prop value
Returns:
0 for success

-1 on error or just because there were no cams

DSWCOPEN_API int CamChipset EKnownChipsetCat pValue  ) 
 

Returns the chipset type of the camera (EKnownChipsetCat)

Parameters:
none 
Returns:
0 for success

-1 on error or just because there were no cams


Generated on Tue Oct 31 23:59:08 2006 for DSwcOpen by  doxygen 1.4.6-NO