I just tried: #define UVC_URBS 10 #define UVC_MAX_ISO_PACKETS 20 in uvcvideo.h
and I have the same problem... Regards, Julien Quelen On Thu, 2007-05-10 at 13:21 +0200, Laurent Pinchart wrote: > Hi Julien, > > > On Thu, 2007-05-10 at 10:56 +0200, Laurent Pinchart wrote: > > > Hi Julien, > > > > > > > I am working on video capture with several cameras. > > > > I have Logitech QuickCam UltraVision webcams. > > > > > > > > Is it possible to reduce the number of packets per isochronous URB in > > > > uvcvideo driver? > > > > By default, UVC_MAX_ISO_PACKETS is egual to 40. > > > > > > Yes that should be possible. I'm curious, why do you want to do that ? > > > > I try to capture images with several synchronized cameras. I started > > with 2. > > In the configuration I use my cams, (2 captures at JPEG VGA 30fps), I > > observe: > > - An image output period granularity of 5ms for each camera (difference > > between 2 consecutive images queued in the same cam is either 30ms or > > 35ms). This comes from the fact that an URB is received in uvc driver > > every 5ms (40 packets of 125us). So as the real period of the streaming > > emitted by the camera is 30fps (I verified with packets PTS and SCR > > fields), an EOF is detected (and the corresponding image is queued) by > > uvc after 30ms, or 35 ms sometimes. > > > > - A image synchronisation jump between 2 cameras. When my 2 cameras are > > synchronized more or less, I still observe some delay jumps of 35ms > > immediately recovered on the next frame. My explication is: Let's > > suppose my 2 cameras are synchronized.The 5ms period granularity makes > > that potentially 1 image can be queued in one driver 5 ms after the > > corresponding synchro image on the other driver. During these 5ms, if I > > dequeue an image (VIDIOC_DQBUF) on the 2 driver, I put the 2 queues in > > a different state.=>one frame desynchro > > > > That why I would like to minimize this 5ms time.. > > > > > > When I change this value to 10 for example, image capture with 1 cam > > > > works fine. However, as soon as i add and capture from a second camera, > > > > images on both cams appear wrong (bad colours, image cut).. > > > > > > Does it work with 40 packets ? > > > > Yes 2 cams capture works fine with 40 packets. For info, it works also > > for any higher multiple of 40 (80, 120, 160 ..packets), but not for any > > other value.. I can't explain why.. > > Could you try lowering the number of packets per URB to 20, and allocating > twice as much URBs ? If it still works, you could try 10 packets per URBs > with 4 times as much URBs. > > Laurent Pinchart _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
