Tech Support > Microsoft Windows > Drivers > USB camera driver: stream class, AVStream, USBCAMD???
USB camera driver: stream class, AVStream, USBCAMD???
Posted by Julia Cip on May 5th, 2005


I have a question on developing device driver for a USB2.0 camera. When
reading DDK document, I think stream class and AVStream should be the class
driver models I choose from.

The USB camera minidriver library (USBCAMD) in the DDK seems make the
development much easier because it simplifies the development of USB bus
camera drivers by managing all stream class driver and USB bus driver
interfaces for the camera minidriver. However, it is a client of stream
class driver (not the newer AVStream class). According to DDK, I should
choose AVStream class. But I could not find any sample or reference related
to USB camera.



Any hint or suggestions would be very much appreciated!



Thank you all.



Posted by Dan Maddy [MSFT] on May 7th, 2005



Dear Ms. Cip:

Have you thought about supporting the USB Video Class?
No driver is required for USB Video Class devices on Microsoft Windows XP
SP2.

Related links:

http://support.microsoft.com/default...b;en-us;828756
http://msdn.microsoft.com/library/de...us/VidCapStrea
m/hh/vidcapstream/uvcds_28967501-AFAC-40AB-9D0A-DAD36E1B2F87.xml.asp
http://www.microsoft.com/whdc/device...p/UVCView.mspx
http://www.usb.org/developers/devclass_docs#approved

Hope this helps.

Thank you,
Dan Maddy
Microsoft DDK Support

This posting is provided "AS IS" with no warranties, and confers no rights.

Posted by Julia Cip on May 7th, 2005


Thank you Dan,



Thank you so much for your reply.

I did read a little about USB Video Class. But I do not know how to
interface our camera feature controls. To give more details, our cameras are
more for professional use instead of just a webcam. We need to provide
interface for customer to control the camera sensor for their special
requirements.

So, would you tell me if USB Video Class is suitable for us to use? I really
appreciate your providing me the link. I will look into that.

Again, I really need to choose a direction very soon, your help would be
great help on being more efficient.



Best regards,



Julia





"Dan Maddy [MSFT]" <dmaddy@online.microsoft.com> wrote in message
news:tz$Ib$pUFHA.3336@TK2MSFTNGXA01.phx.gbl...


Posted by Tim Roberts on May 8th, 2005


"Julia Cip" <julia_vid@yahoo.com> wrote:

Microsoft has done the world a disservice by issuing dire and contradictory
warnings like this. Their position should probably be a lot softer.

Remember that AVStream is based on stream class. Stream-class is not going
away. A USBCAMD-based driver very likely has a decade of life left in it.
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc

Posted by Max Paklin on May 9th, 2005


Many recommend using USBCAMD for USB development under KS.
There is no USB related AVStream based framework (aside from USB Video Class
driver that is).

-- Max.


"Julia Cip" <julia_vid@yahoo.com> wrote in message
news:uWzVjgYUFHA.3280@TK2MSFTNGP09.phx.gbl...


Posted by Max Paklin on May 9th, 2005


AVStream isn't based on Stream Class.
KS is the foundation that all kernel streaming is derived from. AVStream is
the next gen of original KS 1.0, so you can consider AVStreaming being KS
2.0 while Stream Class is small extension built on top of original KS 1.0.

-- Max.



Posted by Dan Maddy [MSFT] on May 9th, 2005


Dear Ms. Cip:

What about exposing your custom functionality with an USB Video Class
Extension Unit?

http://msdn.microsoft.com/library/de...us/VidCapStrea
m/hh/vidcapstream/uvcds_6a1bfae4-966f-4caf-b6c7-6552321be23f.xml.asp

Thank you,
Dan Maddy
Microsoft DDK Support

This posting is provided "AS IS" with no warranties, and confers no rights.

Posted by Julia Cip on May 10th, 2005


Can we continue this discussion? Here is where I get confused.
Seems AVStream is the latest. But it is hard to find USB camera reference.

Julia

"Max Paklin" <mpaklin@hotmail.com> wrote in message
news:eW5NsdFVFHA.580@TK2MSFTNGP15.phx.gbl...


Posted by Julia Cip on May 10th, 2005


This information is great! I think this is very helpful. I am looking into
it.
I have to say this extension unit is a great for custom device.

Thank you very much!

Julia

"Dan Maddy [MSFT]" <dmaddy@online.microsoft.com> wrote in message
news:A3litJOVFHA.3336@TK2MSFTNGXA01.phx.gbl...


Posted by Julia Cip on May 10th, 2005


Could we continue the topic about the future of using A USBCAMD-based
driver? I really want to know.

Julia


"Max Paklin" <mpaklin@hotmail.com> wrote in message
news:uYt1hgMVFHA.3532@TK2MSFTNGP09.phx.gbl...


Posted by Max Paklin on May 10th, 2005


That's what this newsgroup is for.
Feel free to ask driver-related questions, but I must admit that my
knowledge about USB is very limited so I don't think I would be able to help
you with this.
However there are plenty of knowledgeable USB folks in this group so
hopefully somebody will step up and help you solve your problems.

-- Max.



"Julia Cip" <julia_vid@yahoo.com> wrote in message
news:eiHxVyWVFHA.3108@TK2MSFTNGP10.phx.gbl...


Posted by Max Paklin on May 10th, 2005


AVStream is the latest kernel streaming technology however it offers to USB
framework so for KS USB development usbcamd may be a more convinient
starting point. Especially if you are new to KS.

On the other hand I know people who've done AVStream based USB drivers and
are very happy with what AVStream has to offer.

-- Max.



"Julia Cip" <julia_vid@yahoo.com> wrote in message
news:%23ARR0EWVFHA.2256@TK2MSFTNGP14.phx.gbl...


Posted by Antonio Pasini on May 11th, 2005



Julia, a collegue of mine is working on a custom, professional USB video
class camera. Others on this group are doing the same thing.

If you can restrict your target to XP SP2, it works very well. It is *much*
easier than USBCAMD route: just plug your camera, and it works, without any
software on PC side.
Then, you can add extensions for curtom properties (we'll try that).

Have a look to NetChip (now www.plxtech.com); look at the Net2272
developer's kit. The SDK comes with a video class firmware driver, in source
form, *very* well written, and support is good.
Beware: the dev. board talks to your "target" PC by PCI through a big amount
of logic, and this slows down things, you can't do more than 640x480x15 fps,
roughly.... but this is just a limitation of the dev. platform, not the chip
itself or the driver.

Yes but.... "IKsTopologyInfo, ISelector and IKsNodeControl are defined in
Vidcap.h (Vidcap.idl), a new header file that will be published in the
DirectX 9.2 SDK. The Microsoft DirectShow documentation contains the
corresponding reference pages. "

Dan, do we need to wait for DirectX 9.2 ?






Posted by Julia Cip on May 11th, 2005


Thank you! I am very happy to be with this group.

Julia

"Max Paklin" <mpaklin@hotmail.com> wrote in message
news:OKdntaYVFHA.3312@TK2MSFTNGP10.phx.gbl...


Posted by Julia Cip on May 11th, 2005


Thank you for you infor. I think I am getting there.

Julia

"Max Paklin" <mpaklin@hotmail.com> wrote in message
news:OGWZweYVFHA.3620@TK2MSFTNGP09.phx.gbl...


Posted by Julia Cip on May 11th, 2005


Thank you very much for your information.

I just have a look at the recommended chip. It is well documented. There
also lots of guidance for design. Tools seems are handy. There is high
potential that we could just go for this.

Do you know how long (how many people) did it take him to develop the camera
based on Net Chip?

I have to say thank you, as the more I am looking into this chip the more I
feel confidence.



Julia



"Antonio Pasini" <NOSPAM_pasini.a@tin.it> wrote in message
news:rogge.1363426$35.50970173@news4.tin.it...


Posted by b.lu on May 11th, 2005


Dear All,
I'm using USBCAMD2 with USB2.0 High speed with an Isochronous Pipe.

I transfer at maximum ISO rate (about 23 Mbytes/s) but with some
difficults because of some PID mismatch errors caused by my hardware
(look at my request about USBCAMD).

I have no problem if I transfer at about 7MB/s so I think USBCAMD2 can
be used for High speed.

Blu.

Posted by Antonio Pasini on May 13th, 2005



Using the give code, just recompiling, we saw the first stream of our images
(taken from disk) in two days.

The most difficult part was going from MJPEG --> uncompressed, and here
plx-tech support was great.

Now we're going from bulk --> iso.

We estimate another full month of work, for a total of three, 1 people (I'm
talking about firmware only, starting from the given example, adding our
functionality).






Posted by Julia Cip on May 16th, 2005


Thanks Antonio.

"Antonio Pasini" <NOSPAM_pasini.a@tin.it> wrote in message
news:%75he.892425$b5.39309521@news3.tin.it...


Posted by chandra sekar on May 18th, 2005


Dear All,

This discussion is informative.

i am involved in Video Mini- Driver Project for our own hardware.(external
sound blaster -usb based)which captures _live video as well _audio.

The exsisting stream class driver works well but not talking to_ Windows
movie maker.\\ but works well other commercial video editing software.
So we working on * AV stream mini driver* for it.

1)It would great help to if you give ideas/suggestion from where i have
to start.

2) From discussion: i came to know " No driver is required for USB Video
Class devices on Microsoft Windows XP SP2" - i.e Can my device act as
transperent between usb web cam and PC.(with out



"Julia Cip" wrote: