Re: Dropped frames in video capture process

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Fri, 6 Nov 1998 00:31:48 +0100 (MET)


Alan Cox wrote:
> > frames are coming at a rate of 60Hz, and there are 4 buffers, if
> > interrupt is not serviced within 64 msec frame would be lost. First of
> > all - is this normal for Linux to have a latency over 50msec, or
> > something else is wrong on my system (K6,233MHZ).
>
> Dangerous assumption here - who says the IRQ latency is the problem. Suppose
> you are in fact losing frames because the Xserver is creating enough PCI
> activity to make the capture device fifo overrun ?

I have to agree with Alan here. I've made a driver that also handled
a video capture device, which could do 60 frames per second.

If the CPU would do a memcpy, (with Linux' efficient memcpy
implementation), then the memory would be busy enough that the chips'
FIFO would overrun.

This was most noticable with two cards running at the same time, but
could also be provoked with just one card. It depends a bit on the
motherboard too (the bus arbiter should give more priority to the
PCI device, and let the CPU just take the rest. I didn't have enough
money to buy a PCI bus analyser to look into it fully. I expect
more modern chipsets to be better able to handle this...)

Yes, a back-of-the-envelope calculation will show that it is Completely
impossible for the PCI bus not to be able to handle

60 * 512 * 240 * 4 = 29 Mb/s
1/s pix/line lines bytes/pixel = bytes/sec

becuase everything says 133Mbyte per seconde for PCI bus, but in
practise it is quite hard to get the 30Mb per second to run
faultlessly.

What chip are you using as a video/pci interface? ZR36120?

Roger.

-- 
| Most people would die sooner than think....  |    R.E.Wolff@BitWizard.nl 
| in fact, most do.  -- Bertrand Russsell      |     phone: +31-15-2137555 
We write Linux device drivers for any device you may have! fax: ..-2138217

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/