[PD] [PD-dev] puredata/gridflow/webcam driver=which are supported?

Mathieu Bouchard matju at artengine.ca
Sun Aug 16 22:28:17 CEST 2009

On Thu, 6 Aug 2009, IOhannes m zmoelnig wrote:

> as matju has stated several times (in this thread), all drivers that speak 
> v4l (aka: v4l1) are supported by gridflow.

Unfortunately, this is not true, in the end. Only some of the most common 
image formats are supported: YUV420P, RGB32, RGB24, RGB565. I don't have 
any camera that is supported by a driver that outputs YUYV (some kind of 
"422"). Unfortunately, no format is supported by all cams, and the kernel 
dudes removed all format conversion code. This leads directly to the use 
of a user-space conversion library that didn't exist when I last rewrote 
gridflow/format/videodev.c (libv4l 0.1 was over a year after that, iirc).

> all drivers that only speak v4l2 are not natively supported by gf.
> however (as said before) you can use libv4l to add v4l2 support to v4l1 
> applications at runtime.

Supporting libv4l instead of v4l1 (and hypothetically v4l2), I will be 
able to support all formats (colour models + other variations) without any 
fuss... plus all v4l2 cameras. So, what's coming next with cams in GF is 
not v4l2 support, it is libv4l support.

> other than that, it is hard to make any anwers (as matju has pointed 
> out): gf (and any other video-application) does not directly communicate 
> with a driver (pwc, qc-usb,...) but with a middleware (the 
> v4l*-protocol).

I'd say that gf and other video-applications directly communicate with a 
driver, because the protocol is not middleware. However if you have a 
protocol conversion library such libv4l, ... that is what middleware is. 
AFAIK, *.h don't count as middleware, *.c does. (unless you put a real lot 
of stuff in the *.h... but you get my point).

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec

More information about the Pd-list mailing list