Dropped frames in video capture process

Vassili Leonov (vleo@pcisys.net)
Wed, 4 Nov 1998 23:54:07 -0700


Hello,

I'm working on a kernel driver (module) for supporting video capture and
playback PCI board with hardware MJPEG compression (LML33):

( http://pcisys.net/~vleo/linuxvideo.html )

LML33 is based on Zoran chipset - 36060 + 36067 and operates by
transferring data (about 100k) into a buffer and issuing an interrupt,
there are 4 buffers in a ring. Every field compressed gets a field
sequence number.

This driver so far has nothing to do with Video4Linux drivers (just to
clarify).

I'm testing the driver with the following simple command:

cp /dev/video /dev/null

When I don't touch anything - fields are not lost, but as soon as I
start touching X11 windows, I'm getting several frames dropped. Since
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).

Note, it's not enough to service interrupt within 64msec, I also need to
transfer the data into the application that is reading from the driver.
The total rate is about 6Mb/sec for the least degree of compression.
One of the simple ideas that comes to mind is to create a BIG ring of
buffers elswhere, say 20-30 of them in the hope that Linux kernel would
be quick enough on the average.

Would appreciate any comment on this, either here or by e-mail to
vleo@pcisys.net

Thank you, Vassili Leonov

-
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/