Re: OV511: VIDIOCMCAPTURE speed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Matias Freytes <mfreytes@xxxxxxxxxxxxxxxxxxxx> wrote

> Hello,
> 	I've been playing around with Mc Clelland's
> ov511-2.2.18-backport-1.33-1 driver and a usb Creative Webcam
> III. I believe it takes too long to get one QCIF (176x144)
> YUV420 frame (60 to 85 ms). I'm running 2.2.18 on a Pentium 3
> 550MHz PC:
> 
> 	I don't care loosing some frames, but definitely need 
> to capture each frame faster. This is the measured C source
> code:
> 
> ....
> 
> mmap.width  = 176;
> mmap.height = 144;
> 
> /* Chrono started here */
> 
> error = ioctl (vid, VIDIOCMCAPTURE, &mmap);
> if (error || mmap.width!=176 || mmap.height==144)
> 	printf ("VIDIOCMCAPTURE ERROR:%d, %d, %d\n", error,
> 		mmap.width, map.height);
> 
> error = ioctl (vid, VIDIOCSYNC, &mmap.frame);
> while (error!=0) {
>     printf ("VIDIOCSYNC ERROR:%d\n", errno);
>     error = ioctl (vid, VIDIOCSYNC, &mmap.frame);
> }
> 
> /* Chrono stopped here */

> There're no "printf("VIDIOCSYNC ERROR:%d\n", errno)" on my
> stdout, so there are no SYNC errors. Is there any way I could
> speed this up? I need to get it done in about 30 to 40ms.


Ok, effectively you are just timing the mmap operation. But to
understand why it takes so long, you'll have to dig a lot deeper
in the sources. Perhaps you could start with ov511.c .
As I understand it, the problem here is not in userland.
I have no idea how to profile kernel modules however. 
Maybe using printk in conjunction with some timer...

Good luck,

--
Ragga





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux