Re: Still image capture with a UVC driver
- From: Bahrom <brianbird@xxxxxxxxxxx>
- Date: Thu, 26 Jul 2007 06:41:38 -0700
On Jul 25, 10:12 pm, Tim Roberts <t...@xxxxxxxxx> wrote:
Bahrom <brianb...@xxxxxxxxxxx> wrote:
I'm writing requirements for a USB video driver that a camera OEM will
implement in their camera controller. I would like the camera supplier
to provide a standard USB video class driver.
I think there is a bit of a terminology problem here. If the camera meets
the USB Video Class spec, then you don't NEED to write a driver. The
standard usbvideo.sys driver will handle the device for you.
The stuff inside the camera is not (generally) called a "driver". There
generally be some firmware, but it doesn't do very much. You need the
descriptors, and you need to direct the flow of pixels to the USB buffers.
Thanks for clarifying the terminology. As you can see, my experience
is all in writing apps, not firmware. So, what I am specifying is the
camera firmware and I want the camera firmware to meet the UVC spec
and in addition I have a requirement that still image capture be done
via a bulk pipe.
I am writing a Windows
Vista application that will capture video and still images from the
camera. I've been researching the USB video class (UVC) host driver
implementation in Windows, but there are some aspects of the Windows
UVC driver that Idon't fully understand. 1) for still image transfer I
want to use the UVC "still image transfer method 3" (which uses USB
bulk the transfer mode rather than the isochronous transfer mode) so
that we get error free image transfer. Would the UVC device driver in
the camera need to have this method "hard wired" or is there some
provision for controlling still image transfer methods via a
DirectShow or AVStream filter?
I do not actually know how (or whether) usbvideo.sys handles still image
pipes. The firmware in the device will be responsible for routing the
still image to the bulk pipe, but I don't know how that's exposed in the
filter graph.
2) Are the types and properties of pins
which are exposed by the Windows AVStream video capture device
determined by the device side driver, the host side driver, or by
settings on some AVStream interface or pin factory?
Yes. OK, that's a smart aleck answer, but it's true. The attributes
exposed by usbvideo.sys are determined entirely by the descriptors in the
device. Getting the descriptors correct is one of the trickier parts of
designing a UVC device.
Usbvideo.sys grabs the descriptors, parses them, and converts them into
AVStream pins, which you eventually see in DirectShow.
Thanks- that's what I wanted to know. So, it sounds like there is no
standard way for an app to control the method used for still image
transfer. It's all determined by the device.
.
- Follow-Ups:
- Re: Still image capture with a UVC driver
- From: Tim Roberts
- Re: Still image capture with a UVC driver
- References:
- Still image capture with a UVC driver
- From: Bahrom
- Re: Still image capture with a UVC driver
- From: Tim Roberts
- Still image capture with a UVC driver
- Prev by Date: Re: Failed to register my DirectShow filter on a testing machine
- Next by Date: Release() on an IProxytrans Interface crashes
- Previous by thread: Re: Still image capture with a UVC driver
- Next by thread: Re: Still image capture with a UVC driver
- Index(es):
Relevant Pages
|