On Wednesday 19 February 2003 11:34, Gerd Knorr wrote: > There is some page_to_virt() function, which may give you a pointer > to the kernel virtual address of the page. Be prepared to get a > NULL pointer. IIRC this works for LOWMEM pages (because they are > mapped all the time into the kernel address space for performance > reasons) and doesn't for HIGHMEM pages (which must be kmapped() to > access them). There is no highmem in my computer. :-) For now I'd like to test my idea first and then if it works think about highmem. > > Now I'm trying to calculate from the time needed to grab the > > image measured from the last grabbed image on that channel. If > > the (time/20)%2 is 0 then the field is the same as the last one > > if not 0 then it's not the same and it should not be processed. > > What is wrong with the timestamp in v4l2_buffer->ts? If that > doesn't work for some reason: there are still two reserved fields > in the v4l2_buffer struct which can be (ab)used to pass buffer meta > data to the application. Hm. I noticed this ts struct. jiffies is easier to deal with because it's in ms. But the ts is overwritten everytime and I need a per channel counter. The whole thing must be handled in kernel space for performance reason and we do not know when the userspace program will run. Moving the switching code to the irq handler makes sure that the switch won't terminate an already started grabbing because the irq is generated when the grab has just been finished. Am I right? Gabor