Messages in this thread | | | Date | Wed, 4 Nov 1998 23:54:07 -0700 | From | Vassili Leonov <> | Subject | Dropped frames in video capture process |
| |
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/
| |