📄 changes
字号:
2003-09-29 - updates to compile with 2.6.0 kernels (at least, 2.6.0-test6) - Kludge added to detect the alternate Andera Archangeli memory manager (Red Hat patch this into 2.4.20 kernels)2003-01-11 - stripped out pre-2.4 code. - implemented "nibble mode" for standard parallel ports - implemented support for DMA use by ECP parallel ports (thanks to Blaise Gassend <blaise@gassend.com> - implemented selection via the /proc/cpia interface of USB "alternate interface settings", which reduce the USB bandwidth use so multiple cameras can run on a single USB hub.2002-10-19 - updates for 2.4.20 kernel - fix camera registration/deregistration bug introduced in an earlier fix. - other minor code cleanups.2002-05-09 patch from Duncan Haldane <duncan_haldane@users.sourceforge.net> - updates for 2.4.17 kernel - minor fixes, including fix to stop manual color balance spontaneously reverting to automatic.2001-03-10 Patch from Scott J. Bertin <sbertin@securenym.net> - change my e-mail address - minor change to cpia_template initialization from the driver in kernel 2.4.2 - more changes from kernels up to 2.4.6 - Fix a security hole in cpia_write_proc - Remove preprocessor abuse in cpia_write_proc Patch from Peter Pregler <Peter_Pregler@email.com> - Security bug fixed in kernel 2.2.19.2000-12-22 v1.2 Patch from Remko Troncon <spike@ulyssis.org> - Modifications to cpia.c for kernel 2.4 Patch from Rasmus Andersen <rasmus@diku.dk> - Only compile proc_cpia_destroy for modules Patch from Scott J. Bertin - Clean up signal handling after sleeping - VID_TYPE_SUBCAPTURE support2000-07-13 v1.1 Patch from Arjan van de Ven <arjan@fenrus.demon.nl> - fixes illegal memory accesses in usb driver Patch from Scott J. Bertin <sbertin@mindspring.com> - Clean up convert420 - No longer adjust compensation gains if they go below the minimum that can be set. - Added a timeout while waiting for the stream to become ready. - Incorporated parts of the Windows driver: - Fix some problems with the exposure settings. - Improved handling of camera parameters for the first frame. - Improved flicker control, including an "auto" setting for allowable_overexposure and monitoring for 1-02 firmware. - Automatic frame rate adjustment if AEC is enabled and the image is consistently over/under exposed. - If the stream state enters STREAM_PAUSED while waiting for STREAM_READY, clear it (untested).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 driver2000-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 code2000-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 number2000-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.021999-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 unreasonable1999-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 compatibility1999-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 changes1999-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 anymore1999-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 typos1999-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.206-26-1999 B. Huisman <bhuism@cs.utwente.nl> speedups (removed some delays) lots of cleanups got rid of saveyuv() in client/main.cc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -