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