Eugene Kuznetsov wrote: > > Hello Justin, > > Wednesday, June 06, 2001, 7:12:18 AM, you wrote: > > JS> CSYNCing frames as soon as possible, and timestamping them, > JS> then copying them into a userspace buffer - which is a hideous waste of > JS> processing power. > > According to my measurements, 3-5% of CPU with Celeron 700, 640x480, > 16-bit, 25 fps. I wouldn't call it _hideous_... That is quite significant when you realise that the entire QTrec (without buffer copying) would only use around 35% - 40% CPU time. > JS> Yes, but this won't cope with transient latencies. If the capture > JS> thread doesn't get run for a couple of hundred milliseconds, you can > JS> develop quite a skew in the timestamp > > You can detect a hole in timestamps and copy the same frame several > times to compensate it. Yes, this is done, but the problem is that when the CSYNC thread catches up, it will timestamp the backlogged frames with nearly identical times. This is possible to fix, but it would require a lot of rules to try to gues the right timestamp. I will say it again - this should be done by the kernel driver - that is the only place the true timestamp is known. Justin