Re: [libdc1394-devel] Frames dropped
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Damien D. <da...@do...> - 2006-07-18 12:15:52
|
Hi Aravind, On Fri, 2006-07-14 at 11:12 -0400, Aravind Sundaresan wrote: > Hi, > > We have a set up with 2 Indigita 4-port PCI-X Firewire cards on a Dell > 690n. We have attached 7 Pixelink A-742 cameras to the cards. Each > card has 4 independent channels for the 4 ports. The trigger is > provided externally and is synchronised. We capture 900 frames per > camera. > > We experience dropped frames when we capture on all cameras with the > following specifications. The ring buffer fill status is mostly zero. > We do not write the images to disk. > > Number of frames: 900 > Frame size : 512x512 (format 7) > Frame rate : 60 fps > Throughput/camera = 15 MBytes/sec > Ringbuffer size : 20 If the card specs are true it should be OK. > We are a bit puzzled where exactly the frame is dropped. It is usually > in one of the 2 cases in our experience. > - Shutter speed is such that the exposure time is >= > 1/framerate-CONSTANT. This is not the case as the errors do not happen > when there are fewer cameras. > - Ring buffer is full. This doesn't seem to be the case either. In > fact the max fill at any time is 4-5 frames. > > We are unable to understand where the bottleneck causing frames to > drop occurs. Could it be happening during the DMA transfer? In this > case, do we need to tune anything at the DMA level. > > We experience no frame drops if we capture with > - 6 cameras (3 on each port). > > We experience frame drops if we capture with > - 6 cameras (4 on one port, 2 on another, images are not written to hard disk) > - 6 cameras at 30 fps (3 on each port, images _are_ written to hard disk) This may indicate that 4 cameras for one port is too much. It's a bit strange, but who knows? Try to identify which camera(s) is/are loosing frames. If it's always from one of the 4 cameras connected to a single card then the bottleneck may be at the card. What happens if you have 4 cameras on one card and nothing on the other? > The processor is a dual core Intel(R) Xeon(TM) CPU 3.20GHz with 2MB > cache. The secondary hard disk is essentially 3 SATA disks in RAID 0. > We stagger writes across different cameras to hard disk with fsync(), > so that the disk I/O is steady. We also set scheduler to real time > using sched_setscheduler(). I have no experience with RT so you're on your own here ;-) > We would be grateful if anybody has any insight into this problem. If > you need more details about the hardware set up, I'll be glad to mail > them to you. > > The Indigita QuikFire iDT804PCI host adapter has separate 1394 host > chip for each port, enabling us to take advantage of "the PCI-X bus > bandwidth of 4 concurrent 1394 bus streams through a single card". The > indigita page is down, but the cached page is available at > http://72.14.209.104/search?q=cache:wvo42l3g_1wJ:www.indigita.com/products/hostadapters/idt804pci.html+QuikFire+iDT804PCI&hl=en&gl=us&ct=clnk&cd=1 Still down, but the info of the cache shows that, in theory at least, the card is not the issue. But the fact that 3+3 cameras is different than 4+2 indicates that there is a card issue. Damien -- _ Damien 'Takahara' Douxchamps, PhD ('- Post-doctoral investigator //\ Image Processing Group, NAIST V_/_ http://damien.douxchamps.net/ |