Re: [libdc] Stress test
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: David M. <dcm@MIT.EDU> - 2007-12-20 19:30:55
|
On Thu, 2007-12-20 at 21:33 +0900, Damien Douxchamps wrote: > - if there's a link between two interfaces, then the cameras will appear > twice (since they can be seen by two cards). There used to be a check of > the camera ID before we append it to the camera list in order to avoid > this, but this was removed in David's "big patch". Shall we reinstate > the check? (in enumerate.c, around line 230) Or maybe there was problem > with it? Yes, we should probably reinstate the check. We should also have a mechanism for selecting which host controller to use in the case that a camera is available on more than one. I'll look into how Mac OS X and Juju handle this case and propose a new function or two for choosing a host per camera. I think it can be done in a backwards-compatible way. > - the time required to boot coriander with 16 cameras is 7 seconds, or > about 0.5 seconds per camera. This seems a lot. Does anyone observe a > similar delay? On other platforms? I haven't tested multi-camera setups > in a long time so this may be normal. In my experience it depends mostly on the camera. I have an old Sony camera that takes about 7 seconds just for that one camera. The usual offender is the dc1394_feature_get_all() function, which reads a huge number of registers. There are some easy optimizations that can be done in there. At the moment, it loops through every possible feature and reads 3 different presence registers for each. It could be optimized by reading the presence registers only once up front, and then looping through the features. Doing so would require some re-factoring of code though. -David |