[Gambas-devel] Webcam mods (Logitec Quickcam 4000 etc) :: testers wanted ...

Gareth Bult gareth at ...560...
Fri Jan 9 15:04:08 CET 2009


Hi, 

Attached is my version of CWebcam.c, if anyone can give this a try I would very much appreciate it. 
(against trunk) 

Issues; 

The current V4L2 assumes that the camera will return an RGB signal that it can stuff directly into a "Picture" or "Image" object. 
- not always the case, for example with the Logitec QuickCam 4000 (and I'm sure quite a few others) . 

As a result, a post-processor is required to convert from the Camera's format (in this case yuv420p) to RGB. 
I've inserted a hook so this (and possibly other) post-processing routines can be added. 
The actual conversion routine I've hijacked directly from "Camorama", pretty much no tweaking required. 

In addition and just to make life interesting, the VIDIOCGMBUF ioctl seems to be partially broken, not sure if it's specific to the driver for this camera or if it's a wider issue, however it seems to return a fixed buffer size and frame count, regardless of the resolution specified. For 320x240 this is fine, two frames will fit in the allocated space and it works fine. However, for 640x480 it returns sufficient memory for 1 frame, but specifies two frames in the header - not good! (this breaks gambas pretty quickly) So I've included a fix to rewrite the "mbuf" field IF the contents are invalid, i.e. if the widthxheightxdepthxframes is greater than the allocated size. 

I'm hoping that none of this affects standard RGB cameras, again if someone could test I would appreciate it. 

If you drop this into the v4l/src directory and do a make install, if your Logitec wasn't working, running the webcam demo should now work. 

.. I'm new to hacking Gambas so if I've done something bad re; memory etc , please let me know... 


Regards, 
Gareth. 

-- 
Managing Director, Encryptec Limited 
Tel: 0845 5082719, Mob: 0785 3305393 
Email: gareth at ...560... 
Statements made are at all times subject to Encryptec's Terms and Conditions of Business, which are available upon request. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/devel/attachments/20090109/bfc0c271/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CWebcam.c
Type: text/x-csrc
Size: 30409 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/devel/attachments/20090109/bfc0c271/attachment.c>


More information about the Devel mailing list