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

Gareth Bult gareth at ...560...
Sun Jan 11 12:01:32 CET 2009


Hi,

At the very least, video needs to look at the incoming format flag and run an appropriate conversion .. at the moment it's just pumping raw camera into a Picture .. (as per the suggested code ..)

Incidentally, I forgot to include CWebcam.h .. there is one change to video_device_t required;

unsigned char   *tmp;

Regards,
Gareth.

----- Original Message -----
From: "Benoit Minisini" <gambas at ...1...>
To: "mailing list for gambas developers" <gambas-devel at lists.sourceforge.net>
Sent: Saturday, 10 January, 2009 9:45:54 PM GMT +00:00 GMT Britain, Ireland, Portugal
Subject: Re: [Gambas-devel] Webcam mods (Logitec Quickcam 4000 etc) :: testers wanted ...

On vendredi 9 janvier 2009, Gareth Bult wrote:
> 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.

The image buffer support of Gambas is actually being redesigned and rewritten, 
because I need more power for my own job. :-)

The current one is able to convert between different RGB formats, but not 
between YUV and RGB. Two possibilities then:

- Keep the YUV/RGB conversion in gb.v4l, assuming that only video uses YUV.

- Add the new format and the conversion routine is the future gb.image 
component.

>
> 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.

OK.

>
> 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...

I will look at the code, but I have no camera to test, so volunteers are 
needed there!

Regards,

-- 
Benoit Minisini

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Gambas-devel mailing list
Gambas-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-devel

-- 
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.




More information about the Devel mailing list