Pre-release of webcamd [v0.2.4]

Boris Samorodov bsam at ipt.ru
Wed Jun 1 10:25:07 UTC 2011


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


More information about the freebsd-multimedia mailing list