At 09:35 PM 8/9/2002 -0700, you wrote:
It does not, indeed. It had been decided that a v4l driver should only produce the stream in one format, preferrably closest to the native device format (palette). A driver must not convert palettes - this is difficult to do in kernel space, awkward to do without FPU, makes the driver much more complicated and crash-prone, and pollutes the kernel space with similar-but-different pieces of conversion code (in each driver).
I'm not sure I agree that this is necessarily awkward without FPU. Every webcam I've seen scans images through a Bayer (or similar) pattern matrix of RGB filters sitting in front of a CMOS image sensor. The hardware on the camera does the Bayer RGB->YUV/Planar/etc conversion. Chances are the embedded microcontroller is using integer arithmetic since the silicon cost of an integer unit is much less than a floating point unit. Reversing the process with integer arithmetic to get RGB back shouldn't be the impossible proposition many here seem to think it is.
The ibmcam driver produces BGR24 - this is almost the native format in many IBM/Xirlink cameras. It is gnomemeeting's responsibility to take one of standard formats and make use of it. xawtv, for example, does exactly that.
I know from experience making my own driver work with everything that with several applications (such as gnomemeeting), if they call VIDIOCSPICT with a palette type you do not support and you do not return -EINVAL (saying, NO you can't have that palette) they will NOT work. A cursory glance at the drivers/usb/usbvideo.c seems to indicate that apps doing this speculative palette request will not work with any minidriver unless the first palette requested happens to be the native one of the hardware.
If gnomemeeting can be configured for BGR24, then it should work. Couple of years ago I wrote a patch for voxilla (openH.323 client) to accept BGR24, and the patch is still somewhere on http://www.linux-usb.org.
My 3comhc driver can decode to BGR24 (it defaults to RGB24), and it works with gnomemeeting.