Readme.txt Driver File Contents (12892_01.exe)

*******************************************
*     PCAM800 4.0.0.7  README.TXT FILE    *
*******************************************

Copyright (c) 1999-2001 Divio Inc. All rights reserved.


	This is a new release for the NW800 WDM driver and related software. Currently, the driver supports the following CIF sensors: Tasc, Pixart Pas006 & Pas106, ElecVision, Hyundai, Agilent, Photobit, and Toshiba. Among the supported sensors, Tasc, Toshiba, and ElecVision sensors are working as slaves, while Agilent, Photobit, Pixart, ICMedia, and Hyundai sensors are working as masters.

1. The NW800 driver use BIT[1-4] of GPIO to detect sensor. Those three bits are defined as:

	                Bit4	Bit3	Bit2	Bit1
	Hynix(Hyundai)  0	0	0	1
	Pas006      	0	0	1	0
	ElecVision  	0	0	1	1
	Tasc CIF    	0	1	0	0
	Conexant    	0	1	0	1
	Agilent     	0	1	1	0
	PhotoBit    	0	1	1	1
	ICM		1	0	0	0
	Pixart      	1	0	1	0
	Toshiba     	1	0	1	1

	In the installation INF file, we still have CCDType and CDSType parameter settings, which are used by the NW802 driver. For the NW800 driver, those parameters are simply ignored.

2. The NW800 backend chip supports up to 352x288 resolution and the NW800 driver uses interpolation to support 640x480 resolution.

3. The driver has a feature to eliminate so call "Zebra Strips." In the PCAM custom property page, if users set "Light Source" to "office" or "home", the driver will eliminate "Zebra Strips" from the image. If users choose "outdoor", the "Zebra Strips" elimination feature will not take effect.

4. Cameras with different sensors have different characteristics. OEM customers can configure their PC cameras by modifying parameters inside the PCAM800.inf file. We suggest the following parameters:

	        	Hyundai	ElecVision	Others(default)
	Saturation	32		38		38
	Contrast	28		32		32
	Sharpness	10		10		12
	Brightness	38		42		38

   For this release those parameters are set to "Others". It is the default settings for NW800 WDM driver.

5. The standard Microsoft WDM driver's property page has been replaced by a custom made property page so that the new property page will not be cut off like the standard Microsoft does when displayed in Far East versions of Windows Operating System. Now, the WDM driver will have two custom property pages and both pages support English, as well as traditional and simplified Chinese.

6. The original video render filter AverAx.ax used by TWAIN driver has been removed. The new TWAIN driver uses standard video filter and get snapshot image directly from WDM driver. The new TWAIN driver supports English, traditional Chinese and simplified Chinese.

Difference from Version 3.0.0.0
1. Hardware snapshot for TWAIN driver has been enabled in this version.
   This function can be used for trigging image snapshot with the use of TWAIN interface.

2. Toshiba TCM5053T/NW800 solution has been implemented in this version.  Since Toshiba has not finalized this sensor, provided functionality is for demo only.

   Known issues about TCN5053T/NW800:
   a. A strip with abnormal brightness would appear on the image.  Toshiba will fix this in their final version.
   b. Frame Rate can not be pushed as high as 30 fps.  This issue is currently under investigation.  Currently, if user selects 30 fps, video will provide 25 fps anyway.

Difference from Version 3.0.0.2
1. Resolved the problem that camera can not be brought up after OS shutdown for Tasc CIF sensor/NW800 solution.

2. Resolved the problem that image tends to be green when AP starts. 

Difference from Version 3.0.0.3
1. The efficiency of Auto Exposure has been dramatically improved for all NW800 solution.  Auto Exposure function has been speeded up about three times, while the AE sensitivity stays the same.

2. If vendors would like to slow down the Auto Exposure adjustment, they may change the AERate in Pcam2.inf to higher value.  This will slow down the AE adjusting speed. (Default AERate = 3)

Difference from Version 3.0.0.4
1. From this version, NW800/Agilent 1020 CIF sensor has been implemented with 32 MHz Master clock instead of 48 MHz.
This conforms to the specification for Agilent HDCS CMOS sensor.  However, the frame rate can be pushed as high as 28.6fps.
Please notice that NW800 AA chip with Agilent 1020 CIF sensor(using 48 MHz MCK) will not be supported from this version.

2. NW800/Photobit PB-0111 final version has been re-implemented.  The video unstable problem during frame rate change has been resolved from this version.

3. The noise for NW800/Hynix(previous Hyundai) sensor has been reduced from this version.

4. Windows 2000 AE initialization failed problem (in Version 3.0.0.4) has been fixed from this version.

Difference from version 3.0.0.5
1. Hyundai AE range has been traded for image quality.

Difference from version 3.0.0.6
Add in SensorVersion for Toshiba CIF sensors
Support Toshiba CIF ES1 sensor, with disabled shutter and false color recovering.

Difference from version 3.0.0.7
1. Add in ICM102 CIF sensor solution. 
2. Fixed the bug where system failed to recognize NW800 after unplug and reconnect in some newer USB controller.
3. Fixed the bug such that AE/AWB parameters will stay the same after re-opening video stream when AE/AWB are disabled.
4. Use save/restore scheme for GPIO output pins when driver is paged out, suspend, chip reset, also add the GPIO access 
   protection feature in the driver.
5. Fixed the AE hunting problem under shutter range.

Difference from version 3.0.0.8
Fixed another bug where system failed to recognize NW800 after unplug and reconnect in some newer USB controller.

Difference from version 3.0.0.9
No Change

Difference from version 3.0.0.10
Fine Tune ICMedia + NW800 AE, resolve the video freeze and AE freeze issues.

Difference from version 3.0.0.11
1. Further fine tune ICMedia ICM102 sensor.
2. Fixed the snapshot crashing OS in Vidcap32 under Windows ME.

Difference from version 3.0.0.12
No Change

Difference from version 3.0.0.13
1. Add FRMax in pcam2.inf.  This Dword value will set the Maximum Frame rate allowed.
     0: 30 fps, 1: 25 fps, 2: 15 fps, 3: 12.5 fps, 4: 10 fps, 
     5: 7.5 fps, 6: 5 fps, 7: 3.75ps, 8:  2.5 fps, 9: 1.875fps. 
   Please set FRMax value according the above "value-frame rate" mapping.
   Please also notice that, not all of the frame rates are implemented in the current driver.
   Usually, the frame rate slower than 5 fps are ignored.
2. Fix the bug which disables Flip and Mirror functionality.

Difference from version 3.0.0.14
Added 320x240, 7.5 fps or less raw data feature.

Difference from version 3.0.0.15
1. Improve the Redness issue for Toshiba 5053 solution.
2. Reorganize the Pcam property controls.

Difference from version 3.0.0.16

1. Change the recognizing scheme of the nominal and run time frame rate as following:
a. After the driver took the nominal frame rate from Divio Video format property page, 
   the Nominal frame rate can be overrided by Registry entry, FRMax.  FRMax value can be
   programmed via Pcam property control.  When FRMax is non-zero, the nominal frame rate 
   overriding will be executed.

b. The new semantics has been added to AEMinCount, a Divio registry entry.
   This entry defines the least number of frames auto exposure function will be executed, 
   even the auto exposure has been disabled.

   If AEMinCount is not-zero, the run time frame rate will be forced to be the same as 
   the nominal frame rate.  Otherwise, the run time frame rate will be the smaller rate 
   of the current nominal frame rate and the run time frame rate at the time the previous
   video stream was closed.  

   The above functionality is for keeping the same auto exposure parameters over the 
   closing/opening video streaming.  Setting AEMinCount as non-zero gives PCcam driver a 
   hint for disabling this functionality.
   
   Notice that the AEMinCount is also programmable via pcam property control.  But it 
   should be set before video streaming is opened.

2. Reorganize and provide PCAM Property Controls for allowing application more Auto 
   exposure control.  Vendor application may turn off the Auto exposure function by 
   programming the AEMinCount as zero, and AEEnable as zero before open video stream.  
   Also Shutter, Auto gain control, frame rate and ygain value are also programable via 
   Pcam Property controls.  
 
   The following enumeration defines the property numbers which Vendors may need for 
   controlling the Pcam properties with their own application.

typedef enum 
{
   KSPROPERTY_DIVIO_SATURATION = 201,          // 201
   KSPROPERTY_DIVIO_CONTRAST,                  // 202
   KSPROPERTY_DIVIO_SHARPNESS,                 // 203
   KSPROPERTY_DIVIO_GAMMA,                     // 204
   KSPROPERTY_DIVIO_WHITEBALANCE_ENABLE,       // 205   
   KSPROPERTY_DIVIO_RED_HUE,                   // 206
   KSPROPERTY_DIVIO_GREEN_HUE,                 // 207  
   KSPROPERTY_DIVIO_BLUE_HUE,                  // 208 
   KSPROPERTY_DIVIO_AUTOEXPOSURE_ENABLE,       // 209   
   KSPROPERTY_DIVIO_BRIGHTNESS,                // 210
   KSPROPERTY_DIVIO_LIGHTSOURCE,               // 211
   KSPROPERTY_DIVIO_COLORTEMP,                 // 212
   KSPROPERTY_DIVIO_FLICKERLESS,               // 213
   KSPROPERTY_DIVIO_AGC_ENABLE,                // 214

   KSPROPERTY_DIVIO_AE_SHUTTER = 301,	       // 301
   KSPROPERTY_DIVIO_AE_AGC,                    // 302
   KSPROPERTY_DIVIO_AE_FR,                     // 303
   KSPROPERTY_DIVIO_AE_YGAIN,                  // 304
   KSPROPERTY_DIVIO_AE_MINCOUNT,               // 305

} KSPROPERTY_DIVIO_PROP;

The following code list shows the partial code for writing/reading shutter pcam property 
control via IAMCameraControl interface.  

void YOURCLASS::OnI2CCommand(UINT nID) 
{
	HRESULT hr;
	long Value = 0;
	long flag  = TRUE;
	CLSID IID_IAMCameraControl = {
			0xC6E13370L, 0x30AC, 0x11d0, 0xA1, 0x8C, 0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56};

	IAMCameraControl* pamc = NULL;
        // This get Pcam property control interface
	hr = gcap.pVCap->QueryInterface(IID_IAMCameraControl, (void**)&pamc);

	switch (nID) 
	{
		case ID_SHUTTER_W:
                        // This reads user input from IDC_SHUTTER_IOBOX IOBOX
			Value = (long)GetDlgItemInt(IDC_SHUTTER_IOBOX, NULL, FALSE);
			flag  = TRUE;
                        // This sets KSPROPERTY_DIVIO_AE_SHUTTER according to input
			hr = pamc->Set(KSPROPERTY_DIVIO_AE_SHUTTER, Value, flag);
                        // This reads back the shutter value
			OnI2CCommand(ID_SHUTTER_R);
			break;
		case ID_SHUTTER_R:
                        // This gets KSPROPERTY_DIVIO_AE_SHUTTER   
			hr = pamc->Get(KSPROPERTY_DIVIO_AE_SHUTTER, &Value, &flag);
                        // This set Value to IDC_SHUTTER_IOBOX IOBOX
			if (hr == NOERROR) 
				SetDlgItemInt(IDC_SHUTTER_IOBOX, (int)Value, FALSE);
			break;
		default:
			break;
	}
	pamc->Release();
}

Difference from version 3.0.0.17
1. Fixed Toshiba 5053 shutter split and green/pink color problems.
2. Provide tentative solution for new Pixart 106 CIF sensor.

Difference from version 3.0.0.18
Fixed Pentium IV blue screen bug.

Difference from version 3.0.0.19
1. Enabled the color bar test functionality.
2. Increase the AE probing rate at lower frame rate.
3. Add the IYUV raw data output at 5fps.
4. Add new waveform table for ICM 102 + NW800 solution.
5. Add support for Agilent CMY sensor.
6. Fix AEMinCount bug

Difference from version 3.0.0.20
No difference.

Difference from version 3.0.0.21
1. Do not support for REG555 (16 bits) format any more.
2. Fix the no video with RGB24 format in Window ME for some platforms.

Difference from version 3.0.0.22
1. Add two gamma setting mechanisms for backward compatibility.
2. Change the register loading scheme so that the user AP modified (via property 101/102) setting can be carried over during the video freezing or OS suspend.
3. Merge the Pixart 106 new version.

Difference from version 3.0.0.23
1. Fix HPCmos, ToshibaCmos AE Hunting issue.
2. Use GPIO 0 as Stream open/close indicator
3. Specify the ToshibaCmos supported frame rate as 30 to 10 in video format property page.

Difference from version 3.0.0.24
Restructure the driver for better developing management.
(PS. 4.0.0.0 and 4.0.0.1 are internal testing version.)


Difference from Version 4.0.0.0
1. Assigned registers by name. 
2. Removed DF_MapReg sub-routine.

Difference from Version 4.0.0.2
1. Changed DF_CalculateRGBGain() as device or sensor dependent, fixed NW812 'green' screen
   (from dark to bright enviroment, especially in 640x480) problem. 

Note :
	The minidrv has been restructured since 4.0.0.0. CCDType and CDSType have been 
replaced by SensorType. Before you do the installation, please change pcam800.inf in your
working directory the correct "SensorType" values to the corresponding sensor type.

        SensorType:  	0 – Automatic device type detection
			1 – TASC CIF CMOS sensor
			2 – ElecVision CIF CMOS sensor
			3 – PixArt CIF CMOS sensor
			4 – HP CIF CMOS sensor
			5 – Hyundai CIF CMOS sensor
			6 – PhotoBit CIF CMOS sensor
			7 - Toshiba CIF CMOS sensor 
			8 – IC Media CIF CMOS sensor

Difference from Version 4.0.0.5
1. Change DR_RegIndex() to point to temp buffer defined in the RegTable for undefined register.

Difference from Version 4.0.0.6
1. Added MaxAGC and MinAGC back to the Registry.
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.05