Features/BetterWebcamSupportF12

= Even Better Webcam Support =

Summary
The Better Webcam support feature for F-10 has added support for many webcams, but there still are many models which are unsupported the goal of this feature is to get a whole lot more webcams supported out of the box.

Owner

 * Name: Hans de Goede
 * Email: hdegoede redhat com

Current status

 * Targeted release:  Fedora 12
 * Last updated: (Aug 3 2009)
 * Percentage of completion: 100%

Detailed Description
The Better Webcam support feature for F-10 has done much of the groundwork needed for properly supporting webcams in Linux. We now have a library (libv4l) for decompressing various proprietary video formats in userspace, and almost all webcam using applications have been patched to use this library.

The second push for better webcam contains of 3 pieces:
 * 1) Lots of testing and bugfixing / improving of existing in kernel drivers. I need access to cams for this! As you can see in the matrix below I already have quite a few of them, most of which were bought from my own money especially for this. If you have old cams to donate please contact me!
 * 2) Add video processing to libv4l for better video quality for cams which lack any of the following in hardware:
 * 3) White Balancing (done)
 * 4) Gamma Correction (done)
 * 5) Automatic adjustment of Exposure / Gain (done)
 * 6) Recognize laptop cams which are known to be installed upside down and rotate the image 180 degrees in software (done)
 * 7) Clean up existing out of tree drivers, moving the decompression to libv4l where needed and merge them into the mainline, specifically the following ones:
 * 8) qc-usb: stv0600 (and alike) based cams mainly logitech quickcam express (done as of kernel 2.6.29)
 * 9) ov51x-jpeg: ov511(+) and ov518(+) driver (done as of kernel 2.6.31rc1, libv4l-0.6.0)
 * 10) qc-usb-messenger: st6422 based cams mainly logitech quickcam messenger models (done as of kernel 2.6.31rc1)
 * 11) sn9c20x: sn9c20x based cams, many newer cheap cams (done as of kernel 2.6.31rc2)

Benefit to Fedora
Out of the box working hardware makes for happy end users and good reviews.

Scope
This may require temporarily carrying kernel patches if drivers are clearly moving upstream, but not there yet in time for release.

This requires updating libv4l to a version which contains the new video processing code and can decompress any formats produced by new drivers.

Test Plan
I currently test with the following webcams:

Legenda: Note that the status column refers to the status with the latest v4l-dvb mercurial tree¸ which Fedora is tracking pretty closely, but Fedora can lag a little.
 * good, works well
 * ok, works but not the best cam ever (with the Linux drivers)
 * needs work, works ok in (not too bright) daylight, but needs more work to work better in other lighting conditions.
 * WIP, the driver for this is currently being written / cleaned up for mainline merger

Credits, cameras marked (#) are donated by: Many many thanks to these people!
 * 1) Jan Gnodde
 * 2) Dave Jones
 * 3) Andy Walter
 * 4) Simon Wood
 * 5) Erik de Castro Lopo

Also see here for cams which are supported by gspca and their testing status with the new cleaned up gspcav2.

Tests are done with the following applications:


 * xawtv
 * cheese
 * ekiga
 * camorama *
 * vlc *
 * mplayer *
 * skype *

(*) Not in Fedora

User Experience
Out of the box working hardware.

Dependencies
None.

Contingency Plan
Don't ship the new drivers / updated libv4l if they aren't ready.

Documentation
Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.

Release Notes
Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.

For a list of all webcams and applications with which Fedora-12's improved webcam support has been tested see the BetterWebcamSupport feature page.

Comments and Discussion
See Talk:Features/BetterWebcamSupport12