Grabbing from multi input

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Many cards have four or even more inputs. Anyway a single bt chip (a
single device) can handle up to four inputs with a multiplexer.
When an input is selected, you can gain a framerate of 25 fps (PAL).

I must acquire images from multiple cameras (at least two) continuosly.
Does anybody know hot to get the best framerate per input (ideally 25/4
fps less switch time) grabbing sequentially from all the avaiable
channels?

With the following mode I can achieve only 4 fps per camera (with 2
cameras):

while (1) {
        switchInput(0)
        read();
        ... (process image)
        switchInput(1)
        read()
        ... (process image)
}

With the following mode (memory mapped buffers) I can achieve 12 fps per
camera, but the images are corrupted (contains informations from more
than a single camera) when using more than 1 buffer, and using 1 buffer
the result is tipically the same as reading with read():

while (1) {
        dqbuf();
        ... (process image)
        switchInput(1)
        qbuf();
        dqbuf();
        ... (process image)
        switchInput(0)
        qbuf();
}

I've tried inserting some usleep(), from 10 to 80 msec, in different
places, in order to synchronize, but there are corrupted images anyway.

I repeat, many cards have four inputs, so I suppose that will exist a
method to grab from multiple cameras and gain a real-time framerate.

Thanks,
Fabrizio Cornelli and Sandro Bosio






[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux