Hi Andres,

On Saturday 03 November 2007, Andres Gonzalez wrote:
> Sorry Laurent, I originally posted this incorrectly. This is what I
> meant to post:

No worries.

> Laurent,
>
> Thank you to you and Nathanael for your responses. A couple of other
> questions.
>
> So then, it is the select mechanism that enforces the frame rate?  By
> that I mean, in my application, if I use select/read, select will
> block until the video frame is completely captured by the driver. So,
> as long as my frame-by-frame processing latency is small enough,
> select will unblock according to the frame rate, thus it is the
> enforcer of the frame rate?

In a nutshell, yes. V4L2 provides a buffer-based mechanism to prevent frame 
loss. Applications enqueue several buffers and use select() to wait for frame 
ready events. They then dequeue a buffer, process the data and requeue the 
buffer. As long as the average processing time is smaller than the frame 
interval, no frame loss will occur.

> I guess then, my Quickcam Pro 4000 must be based on a different
> chipset than the cameras the UVC driver supports. The reason I
> purchased the Quickcam Pro 4000 was that I thought there was a driver
> available for it, the PWC driver. I thought that was my only
> alternative under linux. However, my understand was that the
> developers had stopped moving forward on it so I suspected it was not
> fully supported. Consequently, I was not too surprised (although
> disappointed) to experience that some ioctls are not working
> correctly.

You should try contacting Luc Sailard, the driver's maintainer. Adding support 
for the enumeration ioctls isn't difficult.

> It appears that there is another alternative. What is the general
> state of development of the UVC driver? Is it safe to assume that it
> is further along than the PWC driver? If that is the case, then I need
> to get a different camera, one that is supported by the UVC driver.

I don't follow the pwc driver's development so I can't tell if one of the 
projects is "further along" than the other. The frame size and frame interval 
enumeration ioctl have been introduced by the UVC driver so it should be 
expected that other drivers don't implement them yet. There are other 
features implemented in the pwc driver that are not available in the UVC 
driver yet (read() support for instance). If you only miss the enumeration 
ioctls, I'd suggest keeping your QC Pro 4000 and getting the required 
functions implemented in the pwc driver.

> If so, what UVC supported camera would you recommend? Which supports
> the widest frame sizes, frame rates, best quality, etc.

Have a look at the hardware compatibility list at 
http://linux-uvc.berlios.de/#devices

Avoid the first and second generation Logitech webcams (marked with a warning 
sign). The third generation is a safe bet (046d:0990, 046d:0991 and 
046d:0994). That's the ones I mostly use.

Best regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to