QuickCam Team Forums

Full Version: USB bandwidth
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
My Logitech QuickCam Express (VID_046D, PID_092F) USB 1.1 (12Mbit/s) runs well with the following settings:
I420 (12bits) @ 355x288 @ 30fps = 35.1Mbit/s

Using Advanced USB Port Monitor 2.3 it detects a constant 7Mbit/s irrespective of resolution or frame rate (double-checked and compared with other USB devices). Is the camera always sending its native resolution (355x288) which is then being downscaled (160x120) or upscaled (640x480) on the computer?

How is it possible that 35.1Mbit/s can be sent via USB 1.1, yet alone through a constant 7Mbit/s?
First of all, the camera itself does not stream I420 data to the PC. Usually, that will be YUYV (16 bpp) or MJPG. In your case with the USB 1.1 setup that most likely will be MJPG.

As to why you are seeing a constant rate of 7 Mbit/s I'm not sure. If you were to request a resolution that's higher than the camera's native resolution (and the driver supports that) it would be upscaled indeed. However, if you request 160x120 then that's what the camera should give you.
Yes, it clearly can't be sending YUYV with it's 16bits per pixel if I420's 12bits per pixel is too much!

The camera is not UVC compatible.

640x480 appears upscaled, the camera's actual resolution appears to be 352x288 (the other resolutions are cropped).

The CPU usage remains much the same for resolutions lower than 352x288.

I read somewhere that some USB1.1 cameras use 8bits/pixel to minimise USB bandwidth but even this equates to 23.2Mbit/s for 352x288@30fps which is still too much.

I guess the camera is always sending a compressed video stream (MJPG) at it's maximum resolution (352x288) at a constant 7Mbit/s which is then converted to the appropriate format and upscaled or downscaled on the computer as required.
Reference URL's