- Debugger: Getting mixed signals
- 'Packaging Infrastructure' Contract Weekly Report #4
- Haiku monthly activity report - 06/2015
- 'Packaging Infrastructure' Contract Weekly Report #3
- 'Packaging Infrastructure' Contract Weekly Report #2
- GCI 2014 winners trip report (mentor side)
- TeX Live and LyX; Changes to the boot code
- 'Packaging Infrastructure' Contract Weekly Report #1
- Beginning of 'Packaging Infrastructure' Contract
- Haiku monthly activity report - 05/2015
A USB Video Driver for High-end Webcams (GSoC Proposal)
As part of the Google Summer of Code I'll be working on developing a driver for Haiku that allows for the use of high-end webcams. By high-end webcams I mean in this case those which adhere to the USB video device class (UVC) specification. Preliminary work will involve bringing Haiku's support for the Enhanced Host Controller Interface (EHCI) to a point where UVC driver development proper can begin. Understanding the state of EHCI support and what work needs to be done in order to begin UVC development is my major goal for the community bonding period.
UVC development will entail the detection and exposure of camera features via Haiku's media kit. This will require (if I understand correctly) the production of a node with an attendant ParameterWeb which will hold the actual feature definitions. Then ideally any interested application will be able to issue commands to a UVC compliant camera and receive back appropriate responses in the form of image frames or video streams in various formats and resolutions, or status reports depending on the camera. The primary test camera will be a Logitech Quickcam Pro 9000 which supports a fairly wide range of resolutions, contains a microphone, and has a hardware button (presumably for taking still photographs). I have also noticed during the course of some computer vision research with the camera that it has what appears to be a hardware driven exposure compensation feature. There is also a similar feature exposed through the Windows Logitech driver software, but when this is turned off some exposure compensation still occurs. It will be intersting to see whether this feature is genuinely rooted in the hardware or is a result of hidden propietary Logitech software.
Once I have decent behaviour working from my core test camera I'd like to expand testing to other cameras which claim UVC compliance. I believe the computer vision lab I'll be working in next semester has a range of cameras floating around that I should be able to borrow occassionally for testing purposes. Anyone running Haiku with a UVC camera who'd like to participate in some tests would also be really appreciated. The degree to which the UVC specification is followed in actual practice by different camera manufacturers should be interesting.
So from now until the end of the community bonding period I'll probably be reading the currently under development EHCI code and asking questions of the people who wrote it. I'll also be reading the original UVC and EHCI specifications and probably asking for clarification from the Haiku mentors and developers. Other than that I'll just be familiarizing myself with Haiku in general and trying to keep my head above water academically speaking (Google should really think about a GSoC [Southern Hemisphere Edition]).
Ideally reading the relevant specifications, and conversing with the code authors should put me on a firm foundation for hitting the ground running when it comes time to seriously begin coding at the conclusion of the community bonding period. If any of this sounds interesting to you or you've had some experience with these issues any and all input is appreciated.
- gabriel.hartmann's blog
- Login or register to post comments

Comments
Re: A USB Video Driver for High-end Webcams (GSoC Proposal)
I have a Logitech Quickcam 9000 Pro that should fit your description. Certainly willing to test and report.
Re: A USB Video Driver for High-end Webcams (GSoC Proposal)
Hi,
I am very happy that the 9000 Pro is your development hardware, since I own one, too. I am looking forward to your work and I am part of the mentor pool. When you have questions about the Media Kit side of your project, I will be glad to provide any assistance you need. For example, you may face the problem that the video coming from the camera is always encoded. In that case we will need to have a Decoder dormant node based on the FFmpeg plugin that applications can plug after the output of your UVC node to obtain raw video. A couple years back, Ingo Weinhold (bonefish) and I wrote the eXposer stop-motion animation software, which uses such a node framework and may be usable as testing software.
I wish you all the best for your project and welcome to Haiku!
Re: A USB Video Driver for High-end Webcams (GSoC Proposal)
I'd love to help with testing :) I have a Logitech C910 webcam which does a lot of the video encoding in the kernel driver on Windows (System process uses lots of CPU); will be interesting to see how it will all work in Haiku :)
Re: A USB Video Driver for High-end Webcams (GSoC Proposal)
http://www.quickcamteam.net/software/libwebcam
Thats a link to some webcam libs documentation etc that may be of use to you while you undertake your project.
Glad to see you are undetaking this GSOC project. I have several webcams I can test with if need be and provide feedback.I have 4 logitechs and a gearhead.
Have you started a ticket in trac ? If you do please post the ticket number here and we can keep a running ticket to update progress etc.
Thank you for the hardwork,myself and certainly as many others look forward to the results.
congradulations on the GSOC proposal acceptance.
Re: A USB Video Driver for High-end Webcams (GSoC Proposal)
I have a Philips spc-900nc which may not be uvc compliant but is supported by macam. My MacBook air has an integrated webcam too.
Re: A USB Video Driver for High-end Webcams (GSoC Proposal)
Hi,
I'll be glad to test if you need any help : I have a Logitech Quickcam Pro 5000.
There is a list of UVC webcams :
http://www.ideasonboard.org/uvc/#devices
Thank you, best regards.
Re: A USB Video Driver for High-end Webcams (GSoC Proposal)
It's not on the list, but I have a quickcam zoom and can do some testing as long as I can try it on Alpha 3.