Re: Still image capture with a UVC driver

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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.


.



Relevant Pages

  • Re: Camera Driver
    ... an overview to the USB Video Class Driver. ... Am I correct in thinking that the USB Video Class specification involves ... I work for a hardware manufacturer and we're including a still camera in our ... driver or a WPD driver. ...
    (microsoft.public.development.device.drivers)
  • Re: Still image capture with a UVC driver
    ... I'm writing requirements for a USB video driver that a camera OEM will ... want to use the UVC "still image transfer method 3" (which uses USB ...
    (microsoft.public.win32.programmer.directx.video)
  • Still image capture with a UVC driver
    ... I'm writing requirements for a USB video driver that a camera OEM will ... want to use the UVC "still image transfer method 3" (which uses USB ...
    (microsoft.public.win32.programmer.directx.video)
  • Installing drivers for Red Hat 9 using 2.4 kernal
    ... Hey can anyone here help me install these drivers I have for this ... An USB camera with ST Microelectronics bridge chip and either VV6410, ... 0x0870 or the camera definitely is not supported by this driver. ... kernel source directory, but some distributions might ...
    (comp.os.linux.setup)
  • [PATCH 5/5] Add the viafb video capture driver
    ... Add a driver for the video capture port on VIA integrated chipsets. ... CMOS camera controller. ... * Some simple register accessors; they assume that the lock is held. ... * Find the next videobuf buffer which has somebody waiting on it. ...
    (Linux-Kernel)