Hans de Goede 606f8428ca V4L/DVB: Documentation: gspca.txt: update known mr97310a cams 15 anni fa
..
bttv 15965f063d V4L/DVB (11051): v4l-dvb: replace remaining references to the old mailinglist. 16 anni fa
cx2341x d7493e518f V4L/DVB (10487): doc: update hm12 documentation. 16 anni fa
cx88 d6bc8ac9e1 Fix typos in Documentation/: 'Q'-'R' 18 anni fa
.gitignore c17dad6905 .gitignore updates 16 anni fa
API.html aa16c10a34 V4L/DVB (10128): modify V4L documentation to be a valid XHTML 16 anni fa
CARDLIST.au0828 a636da6bab V4L/DVB (9247): au0828: add support for another USB id for Hauppauge HVR950Q 16 anni fa
CARDLIST.bttv dceaddb978 V4L/DVB (11124): Add support for ProVideo PV-183 to bttv 16 anni fa
CARDLIST.cx23885 0b32d65cd7 V4L/DVB: cx23885: Add support for LEADTEK WinFast PxTV1200 15 anni fa
CARDLIST.cx88 b699c2712b V4L/DVB (13407): Add Prof 7301 PCI DVB-S2 card 15 anni fa
CARDLIST.em28xx 694a101e6a V4L/DVB (13528): em28xx: add support for em2800 VC211A card 15 anni fa
CARDLIST.ivtv e08323f099 V4L/DVB (6763): ivtv: add AVerMedia EZMaker PCI Deluxe support 17 anni fa
CARDLIST.saa7134 9c6f97a023 V4L/DVB (13945): Add lost config and PCI ID for card of Beholder 15 anni fa
CARDLIST.saa7164 3a360ced7b V4L/DVB (12946): SAA7164: Add support for a new HVR-2250 hardware revision 15 anni fa
CARDLIST.tuner dbb9de9bc1 V4L/DVB: tuner-types: Add Sony BTF-Pxn01Z tuner type used on GigaPocket cards 15 anni fa
CARDLIST.usbvision eeec4b3853 V4L/DVB (6994): usbvision: add Pinnacle Studio PCTV USB (NTSC) FM V3 17 anni fa
CQcam.txt 575f9af899 V4L/DVB (12370): v4l doc: fix cqcam source code path 15 anni fa
Makefile 3794f3e812 docsrc: build Documentation/ sources 17 anni fa
README.cpia 48773e685b V4L/DVB (3599c): Whitespace cleanups under Documentation/video4linux 19 anni fa
README.cpia2 8cbe84f33a V4L/DVB (3399a): cpia2/cpia2_v4l.c cleanups 19 anni fa
README.cx88 2b1b945f88 V4L/DVB (9370): Update README.cx88 with the current status 16 anni fa
README.ir 1da177e4c3 Linux-2.6.12-rc2 20 anni fa
README.ivtv a542fe47fe V4L/DVB (5409): Add CARDLIST.ivtv and README.ivtv 18 anni fa
README.pvrusb2 be2a608bd0 documentation: convert the Documentation directory to UTF-8 18 anni fa
README.saa7134 994914ea7a [PATCH] v4l: 777: updated script to function in new tree layout 19 anni fa
README.tlg2300 007ad83036 V4L/DVB: tlg2300: remove the country code for analog tv and radio 15 anni fa
Zoran 4dbf46a048 V4L/DVB (10931): zoran: Drop the lock_norm module parameter 16 anni fa
cafe_ccic d905b382d7 V4L/DVB (4797): Marvell 88ALP01 "cafe" driver 18 anni fa
cpia2_overview.txt ab33d5071d V4L/DVB (3376): Add cpia2 camera support 19 anni fa
cx18.txt 19f5946001 trivial: Miscellaneous documentation typo fixes 16 anni fa
et61x251.txt 2656312724 V4L/DVB (5064): ET61X251 driver updates. 18 anni fa
extract_xc3028.pl 33e5316113 V4L/DVB (7651): tuner-xc2028: Several fixes to SCODE 17 anni fa
gspca.txt 606f8428ca V4L/DVB: Documentation: gspca.txt: update known mr97310a cams 15 anni fa
hauppauge-wintv-cx88-ir.txt d6bc8ac9e1 Fix typos in Documentation/: 'Q'-'R' 18 anni fa
ibmcam.txt 6e20409004 V4L/DVB (4042): Documentation: whitespace cleanup 19 anni fa
lifeview.txt f2421ca338 [PATCH] v4l: 801: whitespaces cleanups 19 anni fa
m5602.txt c109f8168f V4L/DVB (9091): gspca: Subdriver m5602 (ALi) added. 16 anni fa
meye.txt be2a608bd0 documentation: convert the Documentation directory to UTF-8 18 anni fa
not-in-cx2388x-datasheet.txt db036a07ac [PATCH] v4l: Documentation 20 anni fa
ov511.txt be2a608bd0 documentation: convert the Documentation directory to UTF-8 18 anni fa
pxa_camera.txt 5660009364 V4L/DVB (11613): pxa_camera: Documentation of the FSM 16 anni fa
radiotrack.txt 48773e685b V4L/DVB (3599c): Whitespace cleanups under Documentation/video4linux 19 anni fa
se401.txt 1864cfb153 V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux 19 anni fa
sh_mobile_ceu_camera.txt 35b23b5226 V4L/DVB (13651): sh_mobile_ceu_camera: document the scaling and cropping algorithm 15 anni fa
si470x.txt 00ec8d0799 V4L/DVB (10530): Documentation and code cleanups 16 anni fa
si4713.txt 57f902d0f3 V4L/DVB (13476): spec: remove old dvb-spec and v4l2-spec directories 15 anni fa
sn9c102.txt d91958815d Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 17 anni fa
soc-camera.txt 6a6c878672 V4L/DVB (12534): soc-camera: V4L2 API compliant scaling (S_FMT) and cropping (S_CROP) 15 anni fa
stv680.txt 1864cfb153 V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux 19 anni fa
v4l2-framework.txt 7cae112ebe V4L/DVB: V4L2 docs: replace spaces by tabs 15 anni fa
v4lgrab.c b7ed698cc9 Documentation/: fix warnings from -Wmissing-prototypes in HOSTCFLAGS 15 anni fa
videobuf 7cae112ebe V4L/DVB: V4L2 docs: replace spaces by tabs 15 anni fa
w9966.txt 48773e685b V4L/DVB (3599c): Whitespace cleanups under Documentation/video4linux 19 anni fa
w9968cf.txt a81792f668 remove mention of CONFIG_KMOD from documentation 17 anni fa
zc0301.txt 7e3a066070 V4L/DVB (5063): ZC0301 driver updates. 18 anni fa
zr364xx.txt 9018f6c3a2 V4L/DVB (13438): zr364xx: add support for Trust Powerc@m 910Z 15 anni fa

README.cpia

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 module-init-tools
some stuff. Add the following line to your module-init-tools config-file
(e.g. /etc/modprobe.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 for cleanups, the proc-filesystem
and much more
- Henry Bruce for providing developers information about
the CPiA chip, I wish all companies would treat Linux as seriously
- Karoly Erdei 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 for providing help
with Isabel (http://isabel.dit.upm.es/)
- Bas Huisman for writing the initial parport code
- Jarl Totland for setting up the mailing list
and maintaining the web-server[3]
- Chris Whiteford 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/