I'm working on a project that requires image capturing from multiple
cameras. We need to evaluate different Point Grey cameras, testing multiple
capabilities, specially exposure control. At this point the frame rate is
not critical: we are just interested in attaching as many cameras as
possible to firewire buses minimizing the number of required computers.
Running coriander I found that absolute shutter time parameters are linked
to the frame rate in which the camera is initialized. The smaller the frame
rate is, the bigger the minimum absolute shutter time appears to be (and the
bigger granularity in the shutter time steps). Is this a limitation of the
firewire specs or something related which libdc1394?
As a consequence of this, is not possible to just reduce frame rate when
having multiple cameras in high intensity illumination conditions (outdoors
environment) in order to get good exposure properties. The solution we opted
for is to use one shot mode. However we are having issues when connecting
multiple cameras in the system. In the web I found that libdc1394 is claimed
to be multithread: Is that true for the one shot mode too? If I don't
protect the firewire calls with exclusive mutexes I get corrupted images and
sometimes, even with locking methods, the system freezes.
I also have a question about libdc1394 concurrency model: Is libdc1394
designed to have just one dc1394_t context shared between multiple processes
or can every process create its one dc1394_t context?
Thank you very much,