2000-05-07 v1.0
	Patch from Johannes Erdfelt <jerdfelt@valinux.com>
	  - semaphore deadlock fix

	Patch from George Almasi <galmasi@leo.cs.uiuc.edu>
	  - Intel QX3 microscope support

	Patch from Peter Pregler <Peter_Pregler@email.com>
	  - 2.3.x block read instead of line-oriented read

	Patch from George Talusan <gstalusan@uwaterloo.ca>
	  - Fix compile problem with gcc-2.8.1 and _CPIA_DEBUG_ turned off.

	Patch from Scott J. Bertin <sbertin@mindspring.com>
	  - usb.h moved in kernel 2.3.51, #include it from the correct place
	  - Fixes for VIDEO_PALETTE_GREY
	  - Allow setting the yuv order
	  - Support for decimation and YUV420
	  - Move QX3 detection from cpia_usb.c to cpia.c
	  - New defaults for y_threshold, uv_threshold, target_framerate,
	    and target_quality from windows driver

2000-03-11 v0.7.4

	Patch from Peter Pregler <Peter_Pregler@email.com>:
        - Fix missing free_dma

	Patch from Rich <rich@annexia.org
        - correct wrong color gain compensation settings and color balance
          code

2000-03-03 v0.7.3

      
      Patch from Scott J. Bertin <sbertin@mindspring.com>
      - some obscurre null-pointer dereference in case of
	failed proc-create

      Patches from Peter Pregler <Peter_Pregler@email.com>:
      - fixed version number

2000-02-27 v0.7.2

      Patch from Johannes Erdfelt <jerdfelt@valinux.com>
      - Fix USB crash on disconnect
      - code cleanups
      
      Patch from Scott J. Bertin <sbertin@mindspring.com>
      - Resolved some issues regarding parport_probe
      - New kernel patches
      - More changes for 2.3 kernels
      
2000-02-06 v0.7.1
      
      Patch from Nick Holloway <Nick.Holloway@alfie.demon.co.uk>
      - Support for TRISTATE ports in 2.3 kernels
      
      Patch from Scott J. Bertin <sbertin@mindspring.com>
      - Minor cleanups
      
2000-01-29 v0.7.0

      Patches from Jochen Scharrlach <Jochen.Scharrlach@schwaben.de>
      - Initial USB support (may not be stable)
      - Linked list framework for keeping track of cameras

      Patches from Scott J. Bertin <sbertin@mindspring.com>
      - Linked list support in cpia_pp.c
      - added wait_for_stream_ready to cpia_camera_ops to wait
        for parallel port cameras, but not USB.
      - updated README
      
2000-01-23 v0.6.0

      Patches from Scott J. Bertin <sbertin@mindspring.com>
      - Updates for kernel 2.3.x. CPU usage is way up because neither
        the FIFO or DMA are used for reads.  This should be fixed in
	parport_pc.
      - Fixed several problems in cpia_write_proc
      - renamed decimation to decimation_enable in /proc/cpia/videoX
      - Retry if there is an error reading or parsing an image
      - Fixed problems if a camera was removed while open
      - moved intended location of cpia.h from /usr/src/linux/include/linux
        to /usr/src/linux/drivers/char because it no longer contains anything
	that should be accessed from user space.

2000-01-12 v0.5.0

      Patches from Scott J. Bertin <sbertin@mindspring.com>
      - procfs code not compiled if kernel does not support procfs
      - cpia module won't unload now if /proc/cpia is in use
      - transfer rate is no longer a running average
      - busy_lock is now initialized in init_camera_struct()
        instead of cpia_open()
      - cleaned up initialization of pp and usb modules in cpia_init
        so they are initialized int the same order regardless of the
        combination of modules or compiled in items.

      Patches from Peter Pregler <Peter_Pregler@email.com>:
      - fix for color_balance_mode proc setting
      - check for possible division by zero in fetch_frame
      - default compression method is 'auto' again, first frame
	is always loaded uncompressed
      - load frame after size switch uncompressed
      - restructure of camera initialization, versions are printed
        only once
      - mmap byte order kludge
      - added VIDEO_SIZE_88_72 (quarter CIF)

      Patches from Chris Whiteford <Chris@informinteractive.com>
      - camera inistialisation fix for firmware 1.02

1999-12-06 v0.4.4

      Patches from Peter Pregler <Peter_Pregler@email.com>:
      - fix for vic: treat VIDEO_PALETTE_YUV422 as VIDEO_PALETTE_YUYV
      - fix version kernel message output 1.2->1.02
      - removed vidwin.flag kludge
      - new python-gtk control-client
      - maximum value for y/uv-thresholds seems to be 31 and not 255
      - corrected a bug with centreWeight proc value
      - maximum value for targetFR is 30, 255 is unreasonable

1999-11-10 v0.4.3

      Patches from Peter Pregler <Peter_Pregler@email.com>:
      - some small fixes and cleanups (typos, LOG() -> DBG()) 
      - mmap interface now implemented as synchronous read
      - DMA read has no timeout to prevent lockup if transfer
        fails
      - dirty reset_camera patch to handle systemState 0x4
      - check for skipsize in compressed image data since we cannot trust
        what we get from the camera
      - cosmetic changes to streaming interrupt enable/disable code

      Patches from Nick Holloway <Nick.Holloway@alfie.demon.co.uk>:
      - gqcam patch for gtk-1.1 backwards compatibility

1999-11-20 v0.4.2
	
	Patch from Scott J. Bertin <sbertin@mindspring.com>:
	
	- /proc/cpia entry is now named after the video device for the camera
	- rewritten /proc interface to be more user friendly
	- removal of VIDEO_PALETTE_RAW, it was going to cause more problems
	  than it is worth
	- improved flicker control, still needs some work for 1-02 firmware
	- minor PP changes

1999-11-14 v0.4.1

	Patch from Peter Pregler <Peter.Pregler@email.com>:

	- fixed some documentation/comments
	- fixed thruput bug in gqcam
	- fixed various other bugs in gqcam (wrong treatment of flags, typos)
	- rewrite of the general fetch frame data flow, now reads to raw_buffer
	  -> decompressed_buffer (name sucks, give me a better one!) 
	  -> mmap buffer if needed
	- lazy allocation of mmap-buffer
	- fixed settings of vw.flags
	- changed some buffer alignment which should allow 16 bit DMA, has 
	  anyone a motherboard/parport that allows for 16bit DMA? 
	  (i.e. DMA-channel>4).
	- optimized buffer sizes and added comments about where that numbers
	  come from, no extra bytes are allocated anymore

1999-11-10 v0.4
	
	Patches from Scott J. Bertin <sbertin@mindspring.com>:
	
	- Completely restructured module to be more modular and
	  integrate with the kernel better.
	- Reformated module code to follow kernel coding style.
	- kernel patch
	- new make targets:
	  + kernel will patch your kernel.  WARNING this will overwrite
	    the cpia.h file needed by the current USB driver in the 2.3
	    kernels.
	  + unkernel will undo the changes made by the kernel target
	  + install will install the modules in /lib/modules/`uname -r`/misc
	- /proc/cpia/camX interface
	- removed old module and client
	- new color conversion code
	- default sensorFPS to 15 instead of 30.  This seems to work better
	  with indoor lighting.
	- removed all mention of overlay support, it is not appropriate
	  for this camera.  Video capture boards that capture directly
	  to the framebuffer or do overlaying themselves use this.
	- completely nonfunctional USB driver :)

1999-11-03 v0.3.1

	Patches from Peter Pregler <Peter_Pregler@email.com>:

	- client-v4l:
	  + snap picture now works (jpeg/ppm raw/ppm ascii)
	  + added radio button for targetting quality/framerate
	  + added radio buttons for setting sensor framerate
	- new client/main_v4l.cc as a simple test v4l-application
	  for read/mmap mode
	- v4l:
	  + default compression method is now NONE since this seems
	    to be more appropriate for read() and webcam use, guess
	    will use AUTO as default for mmap only
	  + implemented new ioctl commands to set targetting and sensor
	    frame-rate (CPIA_FLAG_TARGET*, CPIA_FLAG_FPS*)
	  + rewrite of v4l_read, now uses frame mode instead of stream
	    mode to upload images (huge frame rate improvement, up to
	    60fps in QCIF/auto mode :)
	  + parse_picture now uses compression info in image header
	  + CPIA_COMPRESSION_* defines moved to cpia.h
	  + disabled SetCompressionParams( 3,11,1,3,2,5,3,2) because
	    of inferior results -> BUG?
	- some typos

1999-11-03 v0.3

	Video4Linux code from Peter <Peter_Pregler@email.com>:
	See README.v4l
	
1999-10-12 v0.2.3

	Patches from Peter Pregler <Peter_Pregler@email.com>:

	- compile time option _USE_DMA_ and README.DMA
	- capture is now done in DMA and FIFO-mode to a internal scratch 
	  buffer and after that stuff is moved to user-space with 
	  copy_to_user, strictly speaking this is not necessary but is much
	  safer for the user, I regard the performance loss as neglible 
	  compared to the other problems with the driver right now
	- the internal scratch_buffer is alloced via functions stolen from the
	  usb-camera kernel tree (new files buffer.[ch])
	- I have disabled all interrupts except the ones used by DMA since 
	  it does not work anyway (interrupts signalling are new picture are
	  lost). The interrupt-handler code is still there but not usable 
	  anymore. This really needs a major critical review.
	- the main.cc client now does measure thruput, I hope my computations
	  are correct ;)
	- additional DBG() macro in debug.h and added _DEBUG_ compile time
	  option
	- changed most of the LOG()-lines code to DBG(), the driver should 
	  be silent now in normal operation
	- a typo on procs.c

	Notes from Peter:

	I hoped that DMA will increase frame-rate and thruput. But sad enough
	that is not the case. That seems to be caused by some not yet tracked
	down problem. I suspect the handshake or the camera setup. In any 
	case, what will DMA do/not do?

	- reduces CPU-load on my machine (PII/330) from 60% to 10% for
	  CIF/uncompressed operation :-)
	- if someone is bored enough to code it decoding and datatransfer could
	  now be parallelized, this might increase frame rate on slow CPUs
	- is written with documentation about one specific io-chip. I have no
	  idea if it works for other chip-sets as well. Actually, I have no 
	  idea what chip-set my computer uses. ;)
	- is maybe Intel-specific, the code might not even compile on other
	  architectures. But since I have no access to such beasts I have no 
	  idea.
	- is not tested with regard to SMP. It will likely crash those boxes or
	  at least annihilate performance.
  
	I would be interested in some tests with slower machines. So if you 
	happen to own that 486 or 90Mhz Pentium give it a try and let me know.
	
1999-10-06 v0.2.2

	Patches from Peter Pregler <Peter_Pregler@email.com>:

	- a call to schedule to improve interactive performance
	- a bug prevented the access to the cpia-datastructure
	  in the interrupt handler, this might be one of the causes for
	  the crashes in Scotts code
	- a RegisterCallback addon to interface.h
	- some cleanups with my while_out code
	- if_StreamRead now only returns positive if a complete
	  picture was read
	- a cleanup to the x11.c code of the test-client
	- a small Makefile cleanup for the client-makefile
	- a cleaner patch to fix the status-read problem, if you
	  have something better use that, it works for me in cases
	  I need status readback from the camera
	
	The interrupt-handler is not used in any application. This is just
	a small cleanup of the interrupt-code for Scott. The rest I will 
	send directly to Scott. It is not usefull for the public yet.

06-28-1999 B. Huisman <bhuism@cs.utwente.nl>

	initial release version 0.2

06-26-1999 B. Huisman <bhuism@cs.utwente.nl>

	speedups (removed some delays)
	lots of cleanups
	got rid of saveyuv() in client/main.cc
	

