Re: Grabbing from multi input

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



Fabrizio Zeno Cornelli wrote:
> 
> 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.

That they have multiple inputs does not guarantee they can switch from
one to the other quickly enough. AAMAF it is almost sure you can *not*
achieve an aggregate rate of 25fps because the synchro signals are
likely to be out of synchro (sic) w.r.t. each other, so that the TV
board will need some time to re-acquire synchro after every switch.

One solution that *would* work (we use it, although not with a BT board
or with Linux): get a so-called 'quad multiplexer' and change the
*quadrant* in your software, instead of the input. But that might be
more expensive than having simply 4 BT boards!

> 
> Thanks,
> Fabrizio Cornelli and Sandro Bosio
> 
> --
> video4linux-list mailing list
> Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
> https://listman.redhat.com/mailman/listinfo/video4linux-list


-- 
Michel Bardiaux
Peaktime Belgium S.A.  Bd. du Souverain, 191  B-1160 Bruxelles
Tel : +32 2 790.29.41





[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