Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 01 Jun 2011 14:25:05 +0400
From:      Boris Samorodov <bsam@ipt.ru>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-multimedia@freebsd.org
Subject:   Re: Pre-release of webcamd [v0.2.4]
Message-ID:  <23778750@bb.ipt.ru>
In-Reply-To: <201106011150.13316.hselasky@c2i.net> (Hans Petter Selasky's message of "Wed, 1 Jun 2011 11:50:13 %2B0200")
References:  <201105240020.49377.hselasky@c2i.net> <201105311932.38205.hselasky@c2i.net> <45215846@bb.ipt.ru> <201106011150.13316.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On Wed, 1 Jun 2011 11:50:13 +0200 Hans Petter Selasky wrote:
> On Wednesday 01 June 2011 11:41:13 Boris Samorodov wrote:
> > Running:
> > -----
> > % pwcview
> > Webcam set to: 320x240 (sif) at 5 fps    # OK (shaky, but it's 5 fps)
> > % pwcview -f 30
> > Webcam set to: 320x240 (sif) at 30 fps   # shaky video, (5 fps?)
> > % pwcview -s vga
> > Webcam set to: 640x480 (vga) at 5 fps    # seems to use 30 fps
> > % pwcview -s vga -f 5
> > Webcam set to: 640x480 (vga) at 5 fps    # seems to use 30 fps
> > -----
> > 
> > Thanks!

> Hi,

> The shakyness

I'm not sure if my english is good here. When I say "shaky" it means
that video is stable (fixed) for some moments, than changes and stable
again. But it's OK for the first command since 5 fps is the default
according to PWCVIEW(1) and video changes about 5 times per second.

The problem is with the second video which should change 30 times
per second. It does not. And I'm not sure that a buffer change may
help here since I get good vga (-s vga) video with 30 fpc (i.e.
existing buffers allows it).

The next problem is that just with the option "-s vga" the resulting
fps should be 5 (the default). But I get a good 30 fps video.

And the last problem is that adding "-f 5" to "-s vga" option
does not result in 5 fps video -- I get good 30 fps video!

> I think can be fixed by increasing the buffer size used by UVC 
> video driver, it is currently very small, only 2*7ms:

> Index: patches/uvcvideo.h.diff
> ===================================================================
> --- patches/uvcvideo.h.diff     (revision 1788)
> +++ patches/uvcvideo.h.diff     (working copy)
> @@ -8,7 +8,7 @@
>  +#define UVC_URBS              2
>   /* Maximum number of packets per URB. */
>  -#define UVC_MAX_PACKETS               32
> -+#define UVC_MAX_PACKETS               56
> ++#define UVC_MAX_PACKETS               (8*16) /* ms/8 for HighSpeed */
>   /* Maximum number of video buffers. */
>   #define UVC_MAX_VIDEO_BUFFERS 32
>   /* Maximum status buffer size in bytes of interrupt URB. */

However I tested the patch with webcamd 0.1.26 (just editted by hand
the existing patch, rebuild/reinstall webcamd, replug my cam).
Nothing has changed.

> This value should be dynamic depending on various factors like device speed 
> and endpoint configuration. I have found any time yet to make the change.

-- 
WBR, Boris Samorodov (bsam)
Research Engineer, http://www.ipt.ru Telephone & Internet SP
FreeBSD Committer, http://www.FreeBSD.org The Power To Serve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?23778750>