View Full Version : 1394 dcam external trigger

August 17, 2003, 19:37:01
I'm unable to get the external trigger mode to work in the IC Imaging Control 1.41 DCam Demo App. Using a Sony DFW-VL500, Win XP SP1, OHCI PCI 1394 interface. I expect the camera to be in isochronous mode when the external trigger is enabled, but to receive only one image frame per trigger pulse; camera instead sends new image frames continuously at 30fps regardless of trigger state.

Is this user error or does Grabber not correctly set the camera control registers?

Stefan Geissler
August 18, 2003, 11:38:34

If one of the automatics like exposure is enabled, the VL 500 will automatically disable the external trigger. Therefore disable the automatic exposure and enable the external trigger.

August 18, 2003, 16:40:00

Thanks, things work as expected now. It's been a long time since I modified the sample sonydcam driver to support the VL500 and I had forgotten that you had to turn off all the auto mode flags (hardwired in my driver). Since my driver causes blue screens under WinXP (but not Win2K), I'm pleased to find that yours is done right and I don't have to debug mine.

I have two more questions related to doing synchronized stereo image acquisition using WDM drivers:

I modified the Dump sample filter to input image frames from two cameras and write the raw YUV data to disk, but I couldn't find any timestamps in the stream data which gave the wall-clock time that each frame was shot. My solution was to read the system time in the Dump filter and put it into each frame header. Is there a better way to do this using stream attributes I haven't found or your new timestamping feature?

Second, by my calculations say S400 should support 2 30fps streams of YUV422 data at a frame size of 640x480 (2 * 30 * 16 bpp * 640 * 480 = 295Mbps < 0.8*400Mbps). But I've never been able to start the second camera at 30fps (15 works) and I'm guessing that it can't allocate the required isochronous bandwidth for 30fps. Am I leaving something out of my calculations?

Thanks again for your help,

Stefan Geissler
August 20, 2003, 08:02:20

For the amount of DCAM bandwith allocation refer to this link:

I wrote a mixing filter on my self some month ago. It combined two RGB8 grayscale images to a RGB24 video format. One video stream was copied to the red byte, the other one to the green byte. (The result was funny, but i got sick using this filter...)
OK, i synchronized by waiting for an image from the second video stream, after i got one from the first stream. This is not very accurate. You could use as time stamp the perfromance counter. Refer to QueryPerformanceCounter() in the MSDN library. This is the exactest counter in the computer.