Hi,

On Wednesday 07 July 2010 02:23:26 P F wrote:
> On Fri, 7/2/10, Laurent Pinchart wrote:
> > What models have you tried ?
> 
> #1: An OEMed camera from PixArt (093a:2801), similar to PAC7332.
> #2: Retail Logitech Webcam C600 (046d:0808)
> 
> > I've attached a new patch to this e-mail that fixes the problem mentioned
> > above. Could you please add a printk statement in uvc_queue_next_buffer
> > when buf->error is set, to check that every occurrence of the "USB
> > isochronous frame lost" message results in the frame being dropped in
> > uvc_queue_next_buffer ?
> 
> I applied the updated patch and added the printk.  In MJPG mode, the driver
> does drop each frame after printing "USB isochronous frame lost".  However,
> the isoc frame drops are very rare.  I also tried the Logitech camera in
> YUYV mode, and it has much more frequent isoc frame drops, but not always
> a corresponding video frame drop.  I suspect this is because buf is NULL in
> uvc_video_decode_isoc.

If you use a single buffer in luvcview, probably.

> > It's also quite possible that, due to a buffer underrun, part of the image
> > gets dropped by the camera. Could you try a YUYV UVC device, and see if
> > you get any frame dropped by the buffer length test despite no USB
> > isochronous frame loss being detected ?
> 
> I tried this with the Logitech camera in YUYV mode.  I added a printk when
> buf.length != buf.bytesused in uvc_video_deocode_isoc, and it did trigger
> a few times.  This printk was always preceded by "USB isochronous frame
> lost", so it seems like the condition is properly detected.

OK. I'll then commit the patch to the repository.

> For reference, in my testing I use the Logitech camera mentioned above and
> set it to 176x144, 15 fps, which it supports with either MJPG or YUYV.  My
> test application can create MJPG AVIs which are consistently corrupted, but
> the YUYV AVIs appear fine.  The MJPG corruption appears without any
> "dropped" messages occurring.

In that case the corruption probably happens on the camera side. Have you 
enabled the UVC_TRACE_FRAME trace level ? If so, do you get any "Dropping 
payload (error bit set)" message being printed to the kernel log ?

-- 
Regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to