Hi Seth,

On Tuesday 05 January 2010 16:54:20 Seth W wrote:
> Greetings,
> 
> I have two Microsoft LifeCam Cinema Cameras attached to a single system
> (only one USB 2.0 controller). I have set trace=1024 on uvcvideo and find
> that the driver allocates the same amount of bandwidth regardless of what I
> specify for resolution, fps, or codec in ffmpeg, vlc, etc.
> 
> Example:
> 
> [r...@fedora11-test ~]# ffmpeg   -f video4linux2 -s 1280x800 -r 30 -i
> /dev/video1 -f m4v 2-1280-800-maxfps.m4v
> FFmpeg version SVN-r20557-snapshot, Copyright (c) 2000-2009 Fabrice
>  Bellard, et al.
>   built on Nov 22 2009 01:51:55 with gcc 4.4.1 20090725 (Red Hat 4.4.1-2)
>   configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib
> --mandir=/usr/share/man --enable-shared --enable-gpl --enable-version3
> --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf
> --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth
> --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad
> --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libnut
> --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
> --enable-libschroedinger --enable-libspeex --enable-libtheora
> --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g
> -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m32 -march=i586 -mtune=generic
> -fasynchronous-unwind-tables' --disable-stripping
>   libavutil     50. 4. 0 / 50. 4. 0
>   libavcodec    52.41. 0 / 52.41. 0
>   libavformat   52.39. 2 / 52.39. 2
>   libavdevice   52. 2. 0 / 52. 2. 0
>   libavfilter    1. 8. 0 /  1. 8. 0
>   libswscale     0. 7. 1 /  0. 7. 1
>   libpostproc   51. 2. 0 / 51. 2. 0
> [video4linux2 @ 0x858a860][3]Capabilities: 4000001
> Input #0, video4linux2, from '/dev/video1':
>   Duration: N/A, start: 1262673238.027945, bitrate: 491519 kb/s
>     Stream #0.0: Video: rawvideo, yuyv422, 1280x800, 491519 kb/s, 30 tbr,
> 1000k tbn, 30 tbc
> Output #0, m4v, to '2-1280-800-maxfps.m4v':
>     Stream #0.0: Video: mpeg4, yuv420p, 1280x800, q=2-31, 200 kb/s, 90k
>  tbn, 30 tbc
> Stream mapping:
>   Stream #0.0 -> #0.0
> Press [q] to stop encoding
> frame=  147 fps= 30 q=31.0 Lsize=     356kB time=4.90 bitrate= 595.6kbits/s
> video:356kB audio:0kB global headers:0kB muxing overhead 0.000000%
> 
> And from dmesg:
> 
> uvcvideo: Device requested 3072 B/frame bandwidth.
> uvcvideo: Allocated 5 URB buffers of 32x3072 bytes each.
> 
> ---
> 
> [r...@fedora11-test ~]# ffmpeg   -f video4linux2 -s 640x480 -r 30 -i
> /dev/video1 -f m4v 2-640x480.m4v
> FFmpeg version SVN-r20557-snapshot, Copyright (c) 2000-2009 Fabrice
>  Bellard, et al.
>   built on Nov 22 2009 01:51:55 with gcc 4.4.1 20090725 (Red Hat 4.4.1-2)
>   configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib
> --mandir=/usr/share/man --enable-shared --enable-gpl --enable-version3
> --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf
> --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth
> --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad
> --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libnut
> --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
> --enable-libschroedinger --enable-libspeex --enable-libtheora
> --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g
> -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m32 -march=i586 -mtune=generic
> -fasynchronous-unwind-tables' --disable-stripping
>   libavutil     50. 4. 0 / 50. 4. 0
>   libavcodec    52.41. 0 / 52.41. 0
>   libavformat   52.39. 2 / 52.39. 2
>   libavdevice   52. 2. 0 / 52. 2. 0
>   libavfilter    1. 8. 0 /  1. 8. 0
>   libswscale     0. 7. 1 /  0. 7. 1
>   libpostproc   51. 2. 0 / 51. 2. 0
> [video4linux2 @ 0x9a15860][3]Capabilities: 4000001
> Input #0, video4linux2, from '/dev/video1':
>   Duration: N/A, start: 1262673302.162194, bitrate: 147456 kb/s
>     Stream #0.0: Video: rawvideo, yuyv422, 640x480, 147456 kb/s, 30 tbr,
> 1000k tbn, 30 tbc
> Output #0, m4v, to '2-640x480.m4v':
>     Stream #0.0: Video: mpeg4, yuv420p, 640x480, q=2-31, 200 kb/s, 90k tbn,
> 30 tbc
> Stream mapping:
>   Stream #0.0 -> #0.0
> Press [q] to stop encoding
> frame=  152 fps= 30 q=5.2 Lsize=     347kB time=5.07 bitrate= 561.4kbits/s
> video:347kB audio:0kB global headers:0kB muxing overhead 0.000000%
> 
> 
> and from dmesg:
> 
> vcvideo: Device requested 3072 B/frame bandwidth.
> uvcvideo: Allocated 5 URB buffers of 32x3072 bytes each.
> 
> 
> ----
> 
> I had planned on showing the example from dmesg of the same allocation when
> using mencoder with --v4l2-chroma=mjpeg ; but unfortunately the machine is
> remote and just died...
> 
> At any rate, if anyone can verify that this is the (in)correct behavior of
> uvcvideo i would appreciate it (but I am under the impression it is not
> supposed to work this way, and is supposed to allocate bandwidth based on
> the input parameters). I would be happy to provide any debugging
>  information necessary.

Could you please send me the lsusb -v output for your cameras ?

-- 
Regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to