Web lists-archives.com

Re: [Spca50x-devs] (Re)design of gspca-v4l2

On Sun, 30 Mar 2008 11:46:33 +0200, Hans de Goede <j.w.r.degoede@xxxxxx> 
>Hi All,

Hi Hans,

>The current design, which queues urbs for later processing in the application 
>kernel context when a read or dqbuf call is made. Has one big advantage, the 
>urb_complete handler which gets called in bottom half interrupt context is 
>extremely short.
>It however also has several big drawbacks:

You are right. In the last version, I changed the code so the transfer
URB packet to application frame is done at interrupt level. As there is
no decoding, the overhead is small.

>Problems with the suggested design: what todo with processing which needs to be 
>done on the raw isoc packet data before being suitable for userspace.
>1) Don't, always feed raw data (frame aligned by checking for sof's but
>   otherwise raw) to userspace.
	[snip other solutions]
>After having written this all down, I believe I've answered my own question 
>with with regards howto solve the processing of raw data problem, the answer I 
>believe is method 3.

I think that only the solution 1 can be done. Decoding the frames is
the job of the (so awaited) v4l2 library!

BTW, without this library, a v4l2 helper extension must exist. Instead
of having a generic helper, as developped by Thierry Merle, I think
that the (main) gspca driver could implement a particular device, say
/dev/gspca_ext which could do pixfmt negociation and frame translation
with specific ioctls.

An other idea is to develop a usermode driver which uses a
vloopback-like device and the usblib. Such a driver could re-use the
same code (hear: without source change, only with a different
compilation) so that extending the supported webcam set could be easy
and any video application will work.

Best regards.

Ken ar c'hentañ	|	      ** Breizh ha Linux atav! **
Jef		|		http://moinejf.free.fr/

This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
Spca50x-devs mailing list