README.cpia
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:7k
- This is a driver for the CPiA PPC2 driven parallel connected
- Camera. For example the Creative WebcamII is CPiA driven.
- ) [1]Peter Pregler, Linz 2000, published under the [2]GNU GPL
- ---------------------------------------------------------------------------
- USAGE:
- General:
- ========
- 1) Make sure you have created the video devices (/dev/video*):
- - if you have a recent MAKEDEV do a 'cd /dev;./MAKEDEV video'
- - otherwise do a:
- cd /dev
- mknod video0 c 81 0
- ln -s video0 video
- 2) Compile the kernel (see below for the list of options to use),
- configure your parport and reboot.
- 3) If all worked well you should get messages similar
- to the following (your versions may be different) on the console:
- V4L-Driver for Vision CPiA based cameras v0.7.4
- parport0: read2 timeout.
- parport0: Multimedia device, VLSI Vision Ltd PPC2
- Parallel port driver for Vision CPiA based camera
- CPIA Version: 1.20 (2.0)
- CPIA PnP-ID: 0553:0002:0100
- VP-Version: 1.0 0100
- 1 camera(s) found
- As modules:
- ===========
- Make sure you have selected the following kernel options (you can
- select all stuff as modules):
- The cpia-stuff is in the section 'Character devices -> Video For Linux'.
- CONFIG_PARPORT=m
- CONFIG_PARPORT_PC=m
- CONFIG_PARPORT_PC_FIFO=y
- CONFIG_PARPORT_1284=y
- CONFIG_VIDEO_DEV=m
- CONFIG_VIDEO_CPIA=m
- CONFIG_VIDEO_CPIA_PP=m
- For autoloading of all those modules you need to tell modutils some
- stuff. Add the following line to your modutils config-file
- (e.g. /etc/modules.conf or wherever your distribution does store that
- stuff):
- options parport_pc io=0x378 irq=7 dma=3
- alias char-major-81 cpia_pp
- The first line tells the dma/irq channels to use. Those _must_ match
- the settings of your BIOS. Do NOT simply use the values above. See
- Documentation/parport.txt for more information about this. The second
- line associates the video-device file with the driver. Of cause you
- can also load the modules once upon boot (usually done in /etc/modules).
- Linked into the kernel:
- =======================
- Make sure you have selected the following kernel options. Note that
- you cannot compile the parport-stuff as modules and the cpia-driver
- statically (the other way round is okay though).
- The cpia-stuff is in the section 'Character devices -> Video For Linux'.
- CONFIG_PARPORT=y
- CONFIG_PARPORT_PC=y
- CONFIG_PARPORT_PC_FIFO=y
- CONFIG_PARPORT_1284=y
- CONFIG_VIDEO_DEV=y
- CONFIG_VIDEO_CPIA=y
- CONFIG_VIDEO_CPIA_PP=y
- To use DMA/irq you will need to tell the kernel upon boot time the
- hardware configuration of the parport. You can give the boot-parameter
- at the LILO-prompt or specify it in lilo.conf. I use the following
- append-line in lilo.conf:
- append="parport=0x378,7,3"
- See Documentation/parport.txt for more information about the
- configuration of the parport and the values given above. Do not simply
- use the values given above.
- ---------------------------------------------------------------------------
- FEATURES:
- - mmap/read v4l-interface (but no overlay)
- - image formats: CIF/QCIF, SIF/QSIF, various others used by isabel;
- note: all sizes except CIF/QCIF are implemented by clipping, i.e.
- pixels are not uploaded from the camera
- - palettes: VIDEO_PALETTE_GRAY, VIDEO_PALETTE_RGB565, VIDEO_PALETTE_RGB555,
- VIDEO_PALETTE_RGB24, VIDEO_PALETTE_RGB32, VIDEO_PALETTE_YUYV,
- VIDEO_PALETTE_UYVY, VIDEO_PALETTE_YUV422
- - state information (color balance, exposure, ...) is preserved between
- device opens
- - complete control over camera via proc-interface (_all_ camera settings are
- supported), there is also a python-gtk application available for this [3]
- - works under SMP (but the driver is completely serialized and synchronous)
- so you get no benefit from SMP, but at least it does not crash your box
- - might work for non-Intel architecture, let us know about this
- ---------------------------------------------------------------------------
- TESTED APPLICATIONS:
- - a simple test application based on Xt is available at [3]
- - another test-application based on gqcam-0.4 (uses GTK)
- - gqcam-0.6 should work
- - xawtv-3.x (also the webcam software)
- - xawtv-2.46
- - w3cam (cgi-interface and vidcat, e.g. you may try out 'vidcat |xv
- -maxpect -root -quit +noresetroot -rmode 5 -')
- - vic, the MBONE video conferencing tool (version 2.8ucl4-1)
- - isabel 3R4beta (barely working, but AFAICT all the problems are on
- their side)
- - camserv-0.40
- See [3] for pointers to v4l-applications.
- ---------------------------------------------------------------------------
- KNOWN PROBLEMS:
- - some applications do not handle the image format correctly, you will
- see strange horizontal stripes instead of a nice picture -> make sure
- your application does use a supported image size or queries the driver
- for the actually used size (reason behind this: the camera cannot
- provide any image format, so if size NxM is requested the driver will
- use a format to the closest fitting N1xM1, the application should now
- query for this granted size, most applications do not).
- - all the todo ;)
- - if there is not enough light and the picture is too dark try to
- adjust the SetSensorFPS setting, automatic frame rate adjustment
- has its price
- - do not try out isabel 3R4beta (built 135), you will be disappointed
- ---------------------------------------------------------------------------
- TODO:
- - multiple camera support (struct camera or something) - This should work,
- but hasn't been tested yet.
- - architecture independence?
- - SMP-safe asynchronous mmap interface
- - nibble mode for old parport interfaces
- - streaming capture, this should give a performance gain
- ---------------------------------------------------------------------------
- IMPLEMENTATION NOTES:
- The camera can act in two modes, streaming or grabbing. Right now a
- polling grab-scheme is used. Maybe interrupt driven streaming will be
- used for a asynchronous mmap interface in the next major release of the
- driver. This might give a better frame rate.
- ---------------------------------------------------------------------------
- THANKS (in no particular order):
- - Scott J. Bertin <sbertin@mindspring.com> for cleanups, the proc-filesystem
- and much more
- - Henry Bruce <whb@vvl.co.uk> for providing developers information about
- the CPiA chip, I wish all companies would treat Linux as seriously
- - Karoly Erdei <Karoly.Erdei@risc.uni-linz.ac.at> and RISC-Linz for being
- my boss ;) resp. my employer and for providing me the hardware and
- allow me to devote some working time to this project
- - Manuel J. Petit de Gabriel <mpetit@dit.upm.es> for providing help
- with Isabel (http://isabel.dit.upm.es/)
- - Bas Huisman <bhuism@cs.utwente.nl> for writing the initial parport code
- - Jarl Totland <Jarl.Totland@bdc.no> for setting up the mailing list
- and maintaining the web-server[3]
- - Chris Whiteford <Chris@informinteractive.com> for fixes related to the
- 1.02 firmware
- - special kudos to all the tester whose machines crashed and/or
- will crash. :)
- ---------------------------------------------------------------------------
- REFERENCES
- 1. http://www.risc.uni-linz.ac.at/people/ppregler
- mailto:Peter_Pregler@email.com
- 2. see the file COPYING in the top directory of the kernel tree
- 3. http://webcam.sourceforge.net/