![]() |
|
|
|
#1 |
|
Guest
Posts: n/a
|
usb video device
Hi,
we are developing usb video device. we have gone through usb video specification 1.1 docs. but few descriptor fields are not clear to us, like in Video frame descriptor dwMinBitRate dwMaxtRate dwMaxVideoFrameBufferSize dwDefaultFrameInerval bFrameIntervalType dwMinFrameInterval dwMaxFrameInterval dwFrameIntervalStep and in Class-specific VC Interface Descriptor dwClockFrequency And we have choose uncopmressed dat stream, we dont know how host will identify the SOF and end of frem? Please help me. All descriptor are as bellow: Get Descriptor (Device) Offset Field Size Value Description 0 bLength 1 0x12 Size of the Descriptor 1 bDescriptoType 1 0x01 DEVICE Descriptor 2 bcdUSB 2 0x0200 2.00 USB Specification 4 bDeviceClass 1 0xEF Miscellaneous Class 5 bDeviceSubClass 1 0x02 Common Class 6 bDevcieProtocol 1 0x01 IAD 7 bMaxPacketSize0 1 0x40 Control EP packet size is 64 bytes 8 idVendor 2 0xXXXX Vendor ID 10 idProduct 2 0xXXXX Product ID 12 bcdDevice 2 0xXXXX Device Release code 14 iManufacturer 1 0x01 Index to string descriptor 15 Iproduct 1 0x02 Index to string descriptor 16 iSerialNumber 1 0x00 Unused 17 bNumConfigurations 1 0x01 One Configuration Standard Configuration Descriptor Offset Field Size Value Description 0 bLength 1 0x09 Size of Descriptor 1 bDescriptoType 1 0x02 CONFIGURATION Descriptor 2 wTotalLength 2 0x00BF Length of total Configuration block 4 bnumInterfaces 1 0x02 This Device has two Interfaces 5 bConfigurationValue 1 0x01 ID of this Configuration 6 iConfiguration 1 0x00 Unused 7 bmAttribute 1 0x80 Bus-powered device 8 bMaxPower 1 0xFA 500 mA power Offset Field Size Value Description 0 bLength 1 0x08 Size of Descriptor 1 bDescriptorType 1 0x0B IAD Descriptor 2 bFirstInterface 1 0x00 Interface Number of VC Interface 3 bInterfaceCount 1 0x02 Number of Contiguous video interfaces 4 bFunctionClass 1 0x0E CC_VIDEO 5 bFunctionSubClass 1 0x03 Video collection 6 bFunctionProtocol 1 0x00 Not used 7 iFunction 1 0x02 Index to string descriptor Standard VC Interface Descriptor: Offset Field Size Value Description 0 bLength 1 0x09 Size of Descriptor 1 bDescriptorType 1 0x04 INTERFACE Descriptor 3 bInterfaceNumber 1 0x00 Index of this interface 4 bAlternateSetting 1 0x00 Index of this setting 5 bNumEndPoints 1 0x01 1 EP (Interrupt EP) 6 bInterfaceClass 1 0x0E CC_VIDEO 7 bInterfaceSubClass 1 0x03 SC_VIDEOCONTROL 8 bInterfaceProtocol 1 0x00 Not used 9 iInterface 1 0x02 Index of string Descriptor Class-specific VC Interface Descriptor: Offset Field Size Value Description 0 bLength 1 0x0D Size of Descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDescriptorSubType 1 0x01 VC_HEADER 3 bcdUVC 2 0x0110 Video class specification 1.1 5 wTotalLength 2 0x004C Total size of class specific descriptor 7 dwClockFrequency 4 0xXXXXXXXX - 11 bInCollection 1 0x01 Number of streaming interfaces 12 bInterfaceNr(1) 1 0x01 VS interface 1 belongs to this VCI Input Terminal Descriptor (CCD Camera): Offset Field Size Value Description 0 bLength 1 0x11 Size of Descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDescriptorSubtype 1 0x02 VC_INPUT_TERMIANAL 3 BTerminalID 1 0x01 ID of this terminal 4 wTerminalType 2 0x201 ITT_CAMERA type 6 bAssocTerminal 1 0x00 No association 7 iTerminal 1 0x00 Unused 8 wObjectFocalLenghtMin 2 0x0000 No optimal zoom 10 wObjectFocalLenghtMax 2 0x0000 No optimal zoom 12 wOcularFocalLength 2 0x0000 No optimal zoom 14 bControlSize 1 0x02 2 byte 15 bmControls 2 0x0000 No control supported Processing Unit Descriptor: Offset Field Size Value Description 0 bLength 1 0x0B Size of descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT 3 bUnitID 1 0x02 ID of this unit 4 bSourceID 1 0x01 Input pin connected with 5 wMaxMultiplier 2 0x0000 Unused 7 bControlSize 1 0x02 2 bytes 8 bmControls 2 0x0001 Brightness control support 10 iProcessing 1 0x00 Unused Extension Unit Descriptor: Offset Field Size Value Description 0 bLength 1 0x1A Size of descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT 3 bUnitID 1 0x05 ID of this unit 4 guidExtensionCode 16 GUID Vendor specific code 20 bNumControls 1 0x00 Number of controls 21 bNrInPins 1 0x01 Number of input pin 22 bSourceID 1 0x02 Id of Unit or terminal to which pin is connected 23 bControlSize 1 0x02 2 bytes 24 bmControls 1 0x0000 Control supported (vendor-specific) 25 iExtension 1 0x02 Index of string descriptor Output Terminal Descriptor: Offset Field Size Value Description 0 bLength 1 0x09 Size of descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDescriptorSubType 1 0x03 VC_OUTPUT_TERMINAL 3 bTerminalID 1 0x03 ID of this terminal 4 wTerminalType 1 0x0101 This is USB streaming terminal 6 bAssocTermianal 2 0x00 No association 7 bSourceID 1 0x05 Pin connection 8 iTerminal 1 0x00 Unused Standard end point Descriptor (Interrupt): Offset Field Size Value Description 0 Blength 1 0x07 Size of descriptor 1 bDescriptorType 1 0x05 ENDPOINT descriptor 2 bEndpointAddress 1 0x81 IN endpoint 1 3 bmAttributes 1 0x03 Interrupt transfer type 4 wMaxPacketsize 2 0x0008 8 byte status packet 6 bInterval 1 0x20 Poll at every 32ms Class-specific end point descriptor (Interrupt): Offset Field Size Value Description 0 bLength 1 0x05 Size of descriptor 1 bDescriptorType 1 0x25 CS_ENDPOINT descriptor 2 bDescriptorSubType 1 0x03 EP_INTERRUPT 4 wMaxTransferSize 2 0x0008 8 byte status packet Standard VS interface descriptor: Offset Field Size Value Description 0 bLength 1 0x09 Size of Descriptor 1 bDescriptorType 1 0x04 INTERFACE Descriptor 2 bInterfaceNumber 1 0x01 Index of this interface 3 bAlternateSetting 1 0x00 Index of this setting 4 bNumEndPoints 1 0x00 0 EP (Default EP) 5 bInterfaceClass 1 0x0E CC_VIDEO 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAMING 7 bInterfaceProtocol 1 0x00 Not used 8 iInterface 1 0x00 Index of string Descriptor Class-specific VS Interface Descriptor: Offset Field Size Value Description 0 bLength 1 0x0E Size of descriptor 1 bDescriptorTyupe 1 0x24 CS_INTERFACE 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER 3 bNumformats 1 0x01 One descriptor follow 4 wTotallength 2 0x003F Total size of VS block 6 bEndpointAddress 1 0x82 Address of isochronous EP 7 bmInfo 1 0x00 No dynamic format 8 bTerminalLink 1 0x03 Terminal ID 9 bStollCaptureMethod 1 0x01 Still image capture method 1 10 btriggerSupport 1 0x01 Hardware trigger 11 bTriggerUsage 1 0x00 Still image initiate by h/w 12 bControlsize 1 0x01 1 byte 13 bmaControls 1 0x00 Not supported Class-specific VS Header Descriptor: Offset Field Size Value Description 0 bLength 1 0x0E Size of the descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER 3 bNumFormats 1 0x01 One format descriptor 4 wTotallength 2 0x004F Total size of VS interface descriptor 6 bEndpointAddress 1 0x82 Address of Isochronous endpoint 7 bmInfo 1 0x00 No dynamic Format 8 bTerminalLink 1 0x03 Out terminal ID 9 bStillCaptureMethod 1 0x01 Still image method 1 10 bTriggerSupport 1 0x01 h/w trigger still image 11 bTriggerUsage 1 0x00 h/w initiate image capture 12 bControlSize 1 0x01 1 byte 13 bmaControls 1 0x00 No control Class-specific VS Format Descriptor Offset Field Size Value Description 0 bLength 1 0x1B Size of Descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDesriptorSubtype 1 0x04 VS_FORMATE_UNCOMPRESSED 3 bFormatIndex 1 0x01 Index of this descriptor 4 bNumFrameDescriptors 1 0x01 Number of frame descriptor 5 guidFormat 16 GUID GUID of stream-encoding format 21 bBitsPerPixel 1 0x08 Number of bits per pixel 22 bDefaultFrameIndex 1 0x00 Optimum Frame Index 23 bAspectRatioX 1 0x04 X dimension of picture aspect(1024) 24 bAspectRatioY 1 0x03 Y dimension of picture aspect(768) 25 bmInterfaceFlags 1 0x06 Specified non-interlace information 26 bCopyProtect 1 0x00 No restriction Class-specific VS Frame Descriptor: Offset Field Size Value Description 0 bLength 1 0x26 Size of Descriptor 1 bDescriptorType 1 0x24 CS_INTERFACE 2 bDescriptorSubtype 1 0x05 VS_FRAME_UNCOPMRESSED 3 bFrameIndex 1 0x01 Index of this descriptor 4 bmCapabilities 1 0x03 Capabilities 5 wWidth 2 0x0400 Width of decoded frame in pixel 7 wHeight 2 0x0300 Height of decoded frame in pixel 9 dwMinBitRate 4 Min transmit bit rate 13 dwMaxtRate 4 Max transmit bit rate 17 dwMaxVideoFrameBufferSize 4 Video frame size 21 dwDefaultFrameInerval 4 Frame interval 25 bFrameIntervalType 1 0x00 How frame interval can be programmed (continuous) 26 dwMinFrameInterval 4 Shorted frame interval Supported 30 dwMaxFrameInterval 4 Longest frame interval supported 34 dwFrameIntervalStep 4 Granularity of frame interval Standard VS Interface descriptor: Offset Field Size Value Description 0 bLength 1 0x09 Size of Descriptor 1 bDescriptorType 1 0x04 INTERFACE Descriptor 2 bInterfaceNumber 1 0x01 Index of this interface 3 bAlternateSetting 1 0x01 Index of this setting 4 bNumEndPoints 1 0x01 0 endpoints 5 bInterfaceClass 1 0x0E CC_VIDEO 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAM 7 bInterfaceProtocol 1 0x00 Not used 8 iInterface 1 0x00 Index of string Descriptor Standard VS endpoint descriptor (Isochronous): Offset Field Size Value Description 0 bLength 1 0x07 Size of the Descriptor 1 bDescriptorType 1 0x05 Endpoint 2 bEndpointAddress 1 0x82 IN Endpoint 2 3 bmAttributes 1 0x01 Isochronous transfer 4 wMaxPacketSize 2 0x0400 Max packet size 1024 6 bInterval 1 0x01 One frame interval Advertisement |
|
|
#2 |
|
Guest
Posts: n/a
|
Re: usb video device
montu.rathod@einfochips.com wrote:
>Hi, >we are developing usb video device. >we have gone through usb video specification 1.1 docs. >but few descriptor fields are not clear to us, like > >in Video frame descriptor > dwMinBitRate > dwMaxtRate > dwMaxVideoFrameBufferSize > dwDefaultFrameInerval > bFrameIntervalType > dwMinFrameInterval > dwMaxFrameInterval > dwFrameIntervalStep If this is uncompressed video, the minimum and maximum bitrates will be the same. Take the size of each frame, times the frames per second, times 8. Further, dwMaxVideoFrameBufferSize is a constant: width x height x bytes per pixel. dwDefaultFrameInterval is your frames per second, in 100ns units. For 30Hz data, that's 333333. The other values are used to specify the range of frame rates you support. The spec does a pretty good job of describing these. >And we have choose uncopmressed dat stream, we dont know how host will >identify the SOF and end of frem? What format is your data? You show 8 bits per pixel, but neither of the uncompressed formats does that. The USB video class supports exactly two formats: YUY2 (packed YUV, 16 bits per pixel) and NV12 (planar YUV, 12 bits per pixel). If you have RGB data, you will have to use the "vendor defined" format. In either case, the first packet in every microframe has to have a packet header; the FID and EOF bits tell the host where the frame boundaries are. -- - Tim Roberts, timr@probo.com Providenza & Boekelheide, Inc. |
|
|
#3 |
|
Guest
Posts: n/a
|
Re: usb video device
montu.rathod@einfochips.com wrote:
>Hi, >we are developing usb video device. >we have gone through usb video specification 1.1 docs. >but few descriptor fields are not clear to us, like > >in Video frame descriptor > dwMinBitRate > dwMaxtRate > dwMaxVideoFrameBufferSize > dwDefaultFrameInerval > bFrameIntervalType > dwMinFrameInterval > dwMaxFrameInterval > dwFrameIntervalStep If this is uncompressed video, the minimum and maximum bitrates will be the same. Take the size of each frame, times the frames per second, times 8. Further, dwMaxVideoFrameBufferSize is a constant: width x height x bytes per pixel. dwDefaultFrameInterval is your frames per second, in 100ns units. For 30Hz data, that's 333333. The other values are used to specify the range of frame rates you support. The spec does a pretty good job of describing these. >And we have choose uncopmressed dat stream, we dont know how host will >identify the SOF and end of frem? What format is your data? You show 8 bits per pixel, but neither of the uncompressed formats does that. The USB video class supports exactly two formats: YUY2 (packed YUV, 16 bits per pixel) and NV12 (planar YUV, 12 bits per pixel). If you have RGB data, you will have to use the "vendor defined" format. In either case, the first packet in every microframe has to have a packet header; the FID and EOF bits tell the host where the frame boundaries are. -- - Tim Roberts, timr@probo.com Providenza & Boekelheide, Inc. |
|
|
#4 |
|
Guest
Posts: n/a
|
Re: usb video device
montu.rathod@einfochips.com wrote:
>Hi, >we are developing usb video device. >we have gone through usb video specification 1.1 docs. >but few descriptor fields are not clear to us, like > >in Video frame descriptor > dwMinBitRate > dwMaxtRate > dwMaxVideoFrameBufferSize > dwDefaultFrameInerval > bFrameIntervalType > dwMinFrameInterval > dwMaxFrameInterval > dwFrameIntervalStep If this is uncompressed video, the minimum and maximum bitrates will be the same. Take the size of each frame, times the frames per second, times 8. Further, dwMaxVideoFrameBufferSize is a constant: width x height x bytes per pixel. dwDefaultFrameInterval is your frames per second, in 100ns units. For 30Hz data, that's 333333. The other values are used to specify the range of frame rates you support. The spec does a pretty good job of describing these. >And we have choose uncopmressed dat stream, we dont know how host will >identify the SOF and end of frem? What format is your data? You show 8 bits per pixel, but neither of the uncompressed formats does that. The USB video class supports exactly two formats: YUY2 (packed YUV, 16 bits per pixel) and NV12 (planar YUV, 12 bits per pixel). If you have RGB data, you will have to use the "vendor defined" format. In either case, the first packet in every microframe has to have a packet header; the FID and EOF bits tell the host where the frame boundaries are. -- - Tim Roberts, timr@probo.com Providenza & Boekelheide, Inc. |
|
|
#5 |
|
Guest
Posts: n/a
|
Re: usb video device
Hi,
Thank you. I filled most the descriptor fields. I am supporing 15 fps (frame per second). So as per my knowledge dwDefaultFrameInerval valuse should be (1/fps) * 100 *10^--9 = 666666. but i am not able to calculate dwMinFrameInterval, dwMaxFrameInterval and dwFrameIntervalStep. Kindly provide the answer for this. thanks & regards, Montu montu.rathod@einfochips.com wrote: > Hi, > we are developing usb video device. > we have gone through usb video specification 1.1 docs. > but few descriptor fields are not clear to us, like > > in Video frame descriptor > dwMinBitRate > dwMaxtRate > dwMaxVideoFrameBufferSize > dwDefaultFrameInerval > bFrameIntervalType > dwMinFrameInterval > dwMaxFrameInterval > dwFrameIntervalStep > > and in Class-specific VC Interface Descriptor > dwClockFrequency > > And we have choose uncopmressed dat stream, we dont know how host will > identify the SOF and end of frem? > > Please help me. > > All descriptor are as bellow: > > Get Descriptor (Device) > Offset Field Size Value Description > 0 bLength 1 0x12 Size of the Descriptor > 1 bDescriptoType 1 0x01 DEVICE Descriptor > 2 bcdUSB 2 0x0200 2.00 USB Specification > 4 bDeviceClass 1 0xEF Miscellaneous Class > 5 bDeviceSubClass 1 0x02 Common Class > 6 bDevcieProtocol 1 0x01 IAD > 7 bMaxPacketSize0 1 0x40 Control EP packet size is 64 bytes > 8 idVendor 2 0xXXXX Vendor ID > 10 idProduct 2 0xXXXX Product ID > 12 bcdDevice 2 0xXXXX Device Release code > 14 iManufacturer 1 0x01 Index to string descriptor > 15 Iproduct 1 0x02 Index to string descriptor > 16 iSerialNumber 1 0x00 Unused > 17 bNumConfigurations 1 0x01 One Configuration > > > Standard Configuration Descriptor > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptoType 1 0x02 CONFIGURATION Descriptor > 2 wTotalLength 2 0x00BF Length of total Configuration block > 4 bnumInterfaces 1 0x02 This Device has two Interfaces > 5 bConfigurationValue 1 0x01 ID of this Configuration > 6 iConfiguration 1 0x00 Unused > 7 bmAttribute 1 0x80 Bus-powered device > 8 bMaxPower 1 0xFA 500 mA power > > Offset Field Size Value Description > 0 bLength 1 0x08 Size of Descriptor > 1 bDescriptorType 1 0x0B IAD Descriptor > 2 bFirstInterface 1 0x00 Interface Number of VC Interface > 3 bInterfaceCount 1 0x02 Number of Contiguous video interfaces > 4 bFunctionClass 1 0x0E CC_VIDEO > 5 bFunctionSubClass 1 0x03 Video collection > 6 bFunctionProtocol 1 0x00 Not used > 7 iFunction 1 0x02 Index to string descriptor > > > Standard VC Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 3 bInterfaceNumber 1 0x00 Index of this interface > 4 bAlternateSetting 1 0x00 Index of this setting > 5 bNumEndPoints 1 0x01 1 EP (Interrupt EP) > 6 bInterfaceClass 1 0x0E CC_VIDEO > 7 bInterfaceSubClass 1 0x03 SC_VIDEOCONTROL > 8 bInterfaceProtocol 1 0x00 Not used > 9 iInterface 1 0x02 Index of string Descriptor > > > Class-specific VC Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0D > Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x01 VC_HEADER > 3 bcdUVC 2 0x0110 Video class specification 1.1 > 5 wTotalLength 2 0x004C Total size of class specific descriptor > 7 dwClockFrequency 4 0xXXXXXXXX - > 11 bInCollection 1 0x01 Number of streaming interfaces > 12 bInterfaceNr(1) 1 0x01 VS interface 1 belongs to this VCI > > > Input Terminal Descriptor (CCD Camera): > Offset Field Size Value Description > 0 bLength 1 0x11 Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x02 VC_INPUT_TERMIANAL > 3 BTerminalID 1 0x01 ID of this terminal > 4 wTerminalType 2 0x201 ITT_CAMERA type > 6 bAssocTerminal 1 0x00 No association > 7 iTerminal 1 0x00 Unused > 8 wObjectFocalLenghtMin 2 0x0000 No optimal zoom > 10 wObjectFocalLenghtMax 2 0x0000 No optimal zoom > 12 wOcularFocalLength 2 0x0000 No optimal zoom > 14 bControlSize 1 0x02 2 byte > 15 bmControls 2 0x0000 No control supported > > > Processing Unit Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0B Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT > 3 bUnitID 1 0x02 ID of this unit > 4 bSourceID 1 0x01 Input pin connected with > 5 wMaxMultiplier 2 0x0000 Unused > 7 bControlSize 1 0x02 2 bytes > 8 bmControls 2 0x0001 Brightness control support > 10 iProcessing 1 0x00 Unused > > > Extension Unit Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x1A Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT > 3 bUnitID 1 0x05 ID of this unit > 4 guidExtensionCode 16 GUID Vendor specific code > 20 bNumControls 1 0x00 Number of controls > 21 bNrInPins 1 0x01 Number of input pin > 22 bSourceID 1 0x02 Id of Unit or terminal to which pin is connected > 23 bControlSize 1 0x02 2 bytes > 24 bmControls 1 0x0000 Control supported (vendor-specific) > 25 iExtension 1 0x02 Index of string descriptor > > > Output Terminal Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x03 VC_OUTPUT_TERMINAL > 3 bTerminalID 1 0x03 ID of this terminal > 4 wTerminalType 1 0x0101 This is USB streaming terminal > 6 bAssocTermianal 2 0x00 No association > 7 bSourceID 1 0x05 Pin connection > 8 iTerminal 1 0x00 Unused > > > Standard end point Descriptor (Interrupt): > > Offset Field Size Value Description > 0 Blength 1 0x07 Size of descriptor > 1 bDescriptorType 1 0x05 ENDPOINT descriptor > 2 bEndpointAddress 1 0x81 IN endpoint 1 > 3 bmAttributes 1 0x03 Interrupt transfer type > 4 wMaxPacketsize 2 0x0008 8 byte status packet > 6 bInterval 1 0x20 Poll at every 32ms > > Class-specific end point descriptor (Interrupt): > Offset Field Size Value Description > 0 bLength 1 0x05 Size of descriptor > 1 bDescriptorType 1 0x25 CS_ENDPOINT descriptor > 2 bDescriptorSubType 1 0x03 EP_INTERRUPT > 4 wMaxTransferSize 2 0x0008 8 byte status packet > > > Standard VS interface descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 2 bInterfaceNumber 1 0x01 Index of this interface > 3 bAlternateSetting 1 0x00 Index of this setting > 4 bNumEndPoints 1 0x00 0 EP (Default EP) > 5 bInterfaceClass 1 0x0E CC_VIDEO > 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAMING > 7 bInterfaceProtocol 1 0x00 Not used > 8 iInterface 1 0x00 Index of string Descriptor > > Class-specific VS Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0E Size of descriptor > 1 bDescriptorTyupe 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER > 3 bNumformats 1 0x01 One descriptor follow > 4 wTotallength 2 0x003F Total size of VS block > 6 bEndpointAddress 1 0x82 Address of isochronous EP > 7 bmInfo 1 0x00 No dynamic format > 8 bTerminalLink 1 0x03 Terminal ID > 9 bStollCaptureMethod 1 0x01 Still image capture method 1 > 10 btriggerSupport 1 0x01 Hardware trigger > 11 bTriggerUsage 1 0x00 Still image initiate by h/w > 12 bControlsize 1 0x01 1 byte > 13 bmaControls 1 0x00 Not supported > > > Class-specific VS Header Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0E Size of the descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER > 3 bNumFormats 1 0x01 One format descriptor > 4 wTotallength 2 0x004F Total size of VS interface descriptor > 6 bEndpointAddress 1 0x82 Address of Isochronous endpoint > 7 bmInfo 1 0x00 No dynamic Format > 8 bTerminalLink 1 0x03 Out terminal ID > 9 bStillCaptureMethod 1 0x01 Still image method 1 > 10 bTriggerSupport 1 0x01 h/w trigger still image > 11 bTriggerUsage 1 0x00 h/w initiate image capture > 12 bControlSize 1 0x01 1 byte > 13 bmaControls 1 0x00 No control > > > Class-specific VS Format Descriptor > Offset Field Size Value Description > 0 bLength 1 0x1B Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDesriptorSubtype 1 0x04 VS_FORMATE_UNCOMPRESSED > 3 bFormatIndex 1 0x01 Index of this descriptor > 4 bNumFrameDescriptors 1 0x01 Number of frame descriptor > 5 guidFormat 16 GUID GUID of stream-encoding format > 21 bBitsPerPixel 1 0x08 Number of bits per pixel > 22 bDefaultFrameIndex 1 0x00 Optimum Frame Index > 23 bAspectRatioX 1 0x04 X dimension of picture aspect(1024) > 24 bAspectRatioY 1 0x03 Y dimension of picture aspect(768) > 25 bmInterfaceFlags 1 0x06 Specified non-interlace information > 26 bCopyProtect 1 0x00 No restriction > > > Class-specific VS Frame Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x26 Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x05 VS_FRAME_UNCOPMRESSED > 3 bFrameIndex 1 0x01 Index of this descriptor > 4 bmCapabilities 1 0x03 Capabilities > 5 wWidth 2 0x0400 Width of decoded frame in pixel > 7 wHeight 2 0x0300 Height of decoded frame in pixel > 9 dwMinBitRate 4 Min transmit bit rate > 13 dwMaxtRate 4 Max transmit bit rate > 17 dwMaxVideoFrameBufferSize 4 Video frame size > 21 dwDefaultFrameInerval 4 Frame interval > 25 bFrameIntervalType 1 0x00 How frame interval can be programmed > (continuous) > 26 dwMinFrameInterval 4 Shorted frame interval Supported > 30 dwMaxFrameInterval 4 Longest frame interval supported > 34 dwFrameIntervalStep 4 Granularity of frame interval > > Standard VS Interface descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 2 bInterfaceNumber 1 0x01 Index of this interface > 3 bAlternateSetting 1 0x01 Index of this setting > 4 bNumEndPoints 1 0x01 0 endpoints > 5 bInterfaceClass 1 0x0E CC_VIDEO > 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAM > 7 bInterfaceProtocol 1 0x00 Not used > 8 iInterface 1 0x00 Index of string Descriptor > > Standard VS endpoint descriptor (Isochronous): > Offset Field Size Value Description > 0 bLength 1 0x07 Size of the Descriptor > 1 bDescriptorType 1 0x05 Endpoint > 2 bEndpointAddress 1 0x82 IN Endpoint 2 > 3 bmAttributes 1 0x01 Isochronous transfer > 4 wMaxPacketSize 2 0x0400 Max packet size 1024 > 6 bInterval 1 0x01 One frame interval |
|
|
#6 |
|
Guest
Posts: n/a
|
Re: usb video device
Hi,
Thank you. I filled most the descriptor fields. I am supporing 15 fps (frame per second). So as per my knowledge dwDefaultFrameInerval valuse should be (1/fps) * 100 *10^--9 = 666666. but i am not able to calculate dwMinFrameInterval, dwMaxFrameInterval and dwFrameIntervalStep. Kindly provide the answer for this. thanks & regards, Montu montu.rathod@einfochips.com wrote: > Hi, > we are developing usb video device. > we have gone through usb video specification 1.1 docs. > but few descriptor fields are not clear to us, like > > in Video frame descriptor > dwMinBitRate > dwMaxtRate > dwMaxVideoFrameBufferSize > dwDefaultFrameInerval > bFrameIntervalType > dwMinFrameInterval > dwMaxFrameInterval > dwFrameIntervalStep > > and in Class-specific VC Interface Descriptor > dwClockFrequency > > And we have choose uncopmressed dat stream, we dont know how host will > identify the SOF and end of frem? > > Please help me. > > All descriptor are as bellow: > > Get Descriptor (Device) > Offset Field Size Value Description > 0 bLength 1 0x12 Size of the Descriptor > 1 bDescriptoType 1 0x01 DEVICE Descriptor > 2 bcdUSB 2 0x0200 2.00 USB Specification > 4 bDeviceClass 1 0xEF Miscellaneous Class > 5 bDeviceSubClass 1 0x02 Common Class > 6 bDevcieProtocol 1 0x01 IAD > 7 bMaxPacketSize0 1 0x40 Control EP packet size is 64 bytes > 8 idVendor 2 0xXXXX Vendor ID > 10 idProduct 2 0xXXXX Product ID > 12 bcdDevice 2 0xXXXX Device Release code > 14 iManufacturer 1 0x01 Index to string descriptor > 15 Iproduct 1 0x02 Index to string descriptor > 16 iSerialNumber 1 0x00 Unused > 17 bNumConfigurations 1 0x01 One Configuration > > > Standard Configuration Descriptor > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptoType 1 0x02 CONFIGURATION Descriptor > 2 wTotalLength 2 0x00BF Length of total Configuration block > 4 bnumInterfaces 1 0x02 This Device has two Interfaces > 5 bConfigurationValue 1 0x01 ID of this Configuration > 6 iConfiguration 1 0x00 Unused > 7 bmAttribute 1 0x80 Bus-powered device > 8 bMaxPower 1 0xFA 500 mA power > > Offset Field Size Value Description > 0 bLength 1 0x08 Size of Descriptor > 1 bDescriptorType 1 0x0B IAD Descriptor > 2 bFirstInterface 1 0x00 Interface Number of VC Interface > 3 bInterfaceCount 1 0x02 Number of Contiguous video interfaces > 4 bFunctionClass 1 0x0E CC_VIDEO > 5 bFunctionSubClass 1 0x03 Video collection > 6 bFunctionProtocol 1 0x00 Not used > 7 iFunction 1 0x02 Index to string descriptor > > > Standard VC Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 3 bInterfaceNumber 1 0x00 Index of this interface > 4 bAlternateSetting 1 0x00 Index of this setting > 5 bNumEndPoints 1 0x01 1 EP (Interrupt EP) > 6 bInterfaceClass 1 0x0E CC_VIDEO > 7 bInterfaceSubClass 1 0x03 SC_VIDEOCONTROL > 8 bInterfaceProtocol 1 0x00 Not used > 9 iInterface 1 0x02 Index of string Descriptor > > > Class-specific VC Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0D > Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x01 VC_HEADER > 3 bcdUVC 2 0x0110 Video class specification 1.1 > 5 wTotalLength 2 0x004C Total size of class specific descriptor > 7 dwClockFrequency 4 0xXXXXXXXX - > 11 bInCollection 1 0x01 Number of streaming interfaces > 12 bInterfaceNr(1) 1 0x01 VS interface 1 belongs to this VCI > > > Input Terminal Descriptor (CCD Camera): > Offset Field Size Value Description > 0 bLength 1 0x11 Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x02 VC_INPUT_TERMIANAL > 3 BTerminalID 1 0x01 ID of this terminal > 4 wTerminalType 2 0x201 ITT_CAMERA type > 6 bAssocTerminal 1 0x00 No association > 7 iTerminal 1 0x00 Unused > 8 wObjectFocalLenghtMin 2 0x0000 No optimal zoom > 10 wObjectFocalLenghtMax 2 0x0000 No optimal zoom > 12 wOcularFocalLength 2 0x0000 No optimal zoom > 14 bControlSize 1 0x02 2 byte > 15 bmControls 2 0x0000 No control supported > > > Processing Unit Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0B Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT > 3 bUnitID 1 0x02 ID of this unit > 4 bSourceID 1 0x01 Input pin connected with > 5 wMaxMultiplier 2 0x0000 Unused > 7 bControlSize 1 0x02 2 bytes > 8 bmControls 2 0x0001 Brightness control support > 10 iProcessing 1 0x00 Unused > > > Extension Unit Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x1A Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT > 3 bUnitID 1 0x05 ID of this unit > 4 guidExtensionCode 16 GUID Vendor specific code > 20 bNumControls 1 0x00 Number of controls > 21 bNrInPins 1 0x01 Number of input pin > 22 bSourceID 1 0x02 Id of Unit or terminal to which pin is connected > 23 bControlSize 1 0x02 2 bytes > 24 bmControls 1 0x0000 Control supported (vendor-specific) > 25 iExtension 1 0x02 Index of string descriptor > > > Output Terminal Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x03 VC_OUTPUT_TERMINAL > 3 bTerminalID 1 0x03 ID of this terminal > 4 wTerminalType 1 0x0101 This is USB streaming terminal > 6 bAssocTermianal 2 0x00 No association > 7 bSourceID 1 0x05 Pin connection > 8 iTerminal 1 0x00 Unused > > > Standard end point Descriptor (Interrupt): > > Offset Field Size Value Description > 0 Blength 1 0x07 Size of descriptor > 1 bDescriptorType 1 0x05 ENDPOINT descriptor > 2 bEndpointAddress 1 0x81 IN endpoint 1 > 3 bmAttributes 1 0x03 Interrupt transfer type > 4 wMaxPacketsize 2 0x0008 8 byte status packet > 6 bInterval 1 0x20 Poll at every 32ms > > Class-specific end point descriptor (Interrupt): > Offset Field Size Value Description > 0 bLength 1 0x05 Size of descriptor > 1 bDescriptorType 1 0x25 CS_ENDPOINT descriptor > 2 bDescriptorSubType 1 0x03 EP_INTERRUPT > 4 wMaxTransferSize 2 0x0008 8 byte status packet > > > Standard VS interface descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 2 bInterfaceNumber 1 0x01 Index of this interface > 3 bAlternateSetting 1 0x00 Index of this setting > 4 bNumEndPoints 1 0x00 0 EP (Default EP) > 5 bInterfaceClass 1 0x0E CC_VIDEO > 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAMING > 7 bInterfaceProtocol 1 0x00 Not used > 8 iInterface 1 0x00 Index of string Descriptor > > Class-specific VS Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0E Size of descriptor > 1 bDescriptorTyupe 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER > 3 bNumformats 1 0x01 One descriptor follow > 4 wTotallength 2 0x003F Total size of VS block > 6 bEndpointAddress 1 0x82 Address of isochronous EP > 7 bmInfo 1 0x00 No dynamic format > 8 bTerminalLink 1 0x03 Terminal ID > 9 bStollCaptureMethod 1 0x01 Still image capture method 1 > 10 btriggerSupport 1 0x01 Hardware trigger > 11 bTriggerUsage 1 0x00 Still image initiate by h/w > 12 bControlsize 1 0x01 1 byte > 13 bmaControls 1 0x00 Not supported > > > Class-specific VS Header Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0E Size of the descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER > 3 bNumFormats 1 0x01 One format descriptor > 4 wTotallength 2 0x004F Total size of VS interface descriptor > 6 bEndpointAddress 1 0x82 Address of Isochronous endpoint > 7 bmInfo 1 0x00 No dynamic Format > 8 bTerminalLink 1 0x03 Out terminal ID > 9 bStillCaptureMethod 1 0x01 Still image method 1 > 10 bTriggerSupport 1 0x01 h/w trigger still image > 11 bTriggerUsage 1 0x00 h/w initiate image capture > 12 bControlSize 1 0x01 1 byte > 13 bmaControls 1 0x00 No control > > > Class-specific VS Format Descriptor > Offset Field Size Value Description > 0 bLength 1 0x1B Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDesriptorSubtype 1 0x04 VS_FORMATE_UNCOMPRESSED > 3 bFormatIndex 1 0x01 Index of this descriptor > 4 bNumFrameDescriptors 1 0x01 Number of frame descriptor > 5 guidFormat 16 GUID GUID of stream-encoding format > 21 bBitsPerPixel 1 0x08 Number of bits per pixel > 22 bDefaultFrameIndex 1 0x00 Optimum Frame Index > 23 bAspectRatioX 1 0x04 X dimension of picture aspect(1024) > 24 bAspectRatioY 1 0x03 Y dimension of picture aspect(768) > 25 bmInterfaceFlags 1 0x06 Specified non-interlace information > 26 bCopyProtect 1 0x00 No restriction > > > Class-specific VS Frame Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x26 Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x05 VS_FRAME_UNCOPMRESSED > 3 bFrameIndex 1 0x01 Index of this descriptor > 4 bmCapabilities 1 0x03 Capabilities > 5 wWidth 2 0x0400 Width of decoded frame in pixel > 7 wHeight 2 0x0300 Height of decoded frame in pixel > 9 dwMinBitRate 4 Min transmit bit rate > 13 dwMaxtRate 4 Max transmit bit rate > 17 dwMaxVideoFrameBufferSize 4 Video frame size > 21 dwDefaultFrameInerval 4 Frame interval > 25 bFrameIntervalType 1 0x00 How frame interval can be programmed > (continuous) > 26 dwMinFrameInterval 4 Shorted frame interval Supported > 30 dwMaxFrameInterval 4 Longest frame interval supported > 34 dwFrameIntervalStep 4 Granularity of frame interval > > Standard VS Interface descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 2 bInterfaceNumber 1 0x01 Index of this interface > 3 bAlternateSetting 1 0x01 Index of this setting > 4 bNumEndPoints 1 0x01 0 endpoints > 5 bInterfaceClass 1 0x0E CC_VIDEO > 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAM > 7 bInterfaceProtocol 1 0x00 Not used > 8 iInterface 1 0x00 Index of string Descriptor > > Standard VS endpoint descriptor (Isochronous): > Offset Field Size Value Description > 0 bLength 1 0x07 Size of the Descriptor > 1 bDescriptorType 1 0x05 Endpoint > 2 bEndpointAddress 1 0x82 IN Endpoint 2 > 3 bmAttributes 1 0x01 Isochronous transfer > 4 wMaxPacketSize 2 0x0400 Max packet size 1024 > 6 bInterval 1 0x01 One frame interval |
|
|
#7 |
|
Guest
Posts: n/a
|
Re: usb video device
Hi,
Thank you. I filled most the descriptor fields. I am supporing 15 fps (frame per second). So as per my knowledge dwDefaultFrameInerval valuse should be (1/fps) * 100 *10^--9 = 666666. but i am not able to calculate dwMinFrameInterval, dwMaxFrameInterval and dwFrameIntervalStep. Kindly provide the answer for this. thanks & regards, Montu montu.rathod@einfochips.com wrote: > Hi, > we are developing usb video device. > we have gone through usb video specification 1.1 docs. > but few descriptor fields are not clear to us, like > > in Video frame descriptor > dwMinBitRate > dwMaxtRate > dwMaxVideoFrameBufferSize > dwDefaultFrameInerval > bFrameIntervalType > dwMinFrameInterval > dwMaxFrameInterval > dwFrameIntervalStep > > and in Class-specific VC Interface Descriptor > dwClockFrequency > > And we have choose uncopmressed dat stream, we dont know how host will > identify the SOF and end of frem? > > Please help me. > > All descriptor are as bellow: > > Get Descriptor (Device) > Offset Field Size Value Description > 0 bLength 1 0x12 Size of the Descriptor > 1 bDescriptoType 1 0x01 DEVICE Descriptor > 2 bcdUSB 2 0x0200 2.00 USB Specification > 4 bDeviceClass 1 0xEF Miscellaneous Class > 5 bDeviceSubClass 1 0x02 Common Class > 6 bDevcieProtocol 1 0x01 IAD > 7 bMaxPacketSize0 1 0x40 Control EP packet size is 64 bytes > 8 idVendor 2 0xXXXX Vendor ID > 10 idProduct 2 0xXXXX Product ID > 12 bcdDevice 2 0xXXXX Device Release code > 14 iManufacturer 1 0x01 Index to string descriptor > 15 Iproduct 1 0x02 Index to string descriptor > 16 iSerialNumber 1 0x00 Unused > 17 bNumConfigurations 1 0x01 One Configuration > > > Standard Configuration Descriptor > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptoType 1 0x02 CONFIGURATION Descriptor > 2 wTotalLength 2 0x00BF Length of total Configuration block > 4 bnumInterfaces 1 0x02 This Device has two Interfaces > 5 bConfigurationValue 1 0x01 ID of this Configuration > 6 iConfiguration 1 0x00 Unused > 7 bmAttribute 1 0x80 Bus-powered device > 8 bMaxPower 1 0xFA 500 mA power > > Offset Field Size Value Description > 0 bLength 1 0x08 Size of Descriptor > 1 bDescriptorType 1 0x0B IAD Descriptor > 2 bFirstInterface 1 0x00 Interface Number of VC Interface > 3 bInterfaceCount 1 0x02 Number of Contiguous video interfaces > 4 bFunctionClass 1 0x0E CC_VIDEO > 5 bFunctionSubClass 1 0x03 Video collection > 6 bFunctionProtocol 1 0x00 Not used > 7 iFunction 1 0x02 Index to string descriptor > > > Standard VC Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 3 bInterfaceNumber 1 0x00 Index of this interface > 4 bAlternateSetting 1 0x00 Index of this setting > 5 bNumEndPoints 1 0x01 1 EP (Interrupt EP) > 6 bInterfaceClass 1 0x0E CC_VIDEO > 7 bInterfaceSubClass 1 0x03 SC_VIDEOCONTROL > 8 bInterfaceProtocol 1 0x00 Not used > 9 iInterface 1 0x02 Index of string Descriptor > > > Class-specific VC Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0D > Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x01 VC_HEADER > 3 bcdUVC 2 0x0110 Video class specification 1.1 > 5 wTotalLength 2 0x004C Total size of class specific descriptor > 7 dwClockFrequency 4 0xXXXXXXXX - > 11 bInCollection 1 0x01 Number of streaming interfaces > 12 bInterfaceNr(1) 1 0x01 VS interface 1 belongs to this VCI > > > Input Terminal Descriptor (CCD Camera): > Offset Field Size Value Description > 0 bLength 1 0x11 Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x02 VC_INPUT_TERMIANAL > 3 BTerminalID 1 0x01 ID of this terminal > 4 wTerminalType 2 0x201 ITT_CAMERA type > 6 bAssocTerminal 1 0x00 No association > 7 iTerminal 1 0x00 Unused > 8 wObjectFocalLenghtMin 2 0x0000 No optimal zoom > 10 wObjectFocalLenghtMax 2 0x0000 No optimal zoom > 12 wOcularFocalLength 2 0x0000 No optimal zoom > 14 bControlSize 1 0x02 2 byte > 15 bmControls 2 0x0000 No control supported > > > Processing Unit Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0B Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT > 3 bUnitID 1 0x02 ID of this unit > 4 bSourceID 1 0x01 Input pin connected with > 5 wMaxMultiplier 2 0x0000 Unused > 7 bControlSize 1 0x02 2 bytes > 8 bmControls 2 0x0001 Brightness control support > 10 iProcessing 1 0x00 Unused > > > Extension Unit Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x1A Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x05 VC_PROCESSING_UNIT > 3 bUnitID 1 0x05 ID of this unit > 4 guidExtensionCode 16 GUID Vendor specific code > 20 bNumControls 1 0x00 Number of controls > 21 bNrInPins 1 0x01 Number of input pin > 22 bSourceID 1 0x02 Id of Unit or terminal to which pin is connected > 23 bControlSize 1 0x02 2 bytes > 24 bmControls 1 0x0000 Control supported (vendor-specific) > 25 iExtension 1 0x02 Index of string descriptor > > > Output Terminal Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubType 1 0x03 VC_OUTPUT_TERMINAL > 3 bTerminalID 1 0x03 ID of this terminal > 4 wTerminalType 1 0x0101 This is USB streaming terminal > 6 bAssocTermianal 2 0x00 No association > 7 bSourceID 1 0x05 Pin connection > 8 iTerminal 1 0x00 Unused > > > Standard end point Descriptor (Interrupt): > > Offset Field Size Value Description > 0 Blength 1 0x07 Size of descriptor > 1 bDescriptorType 1 0x05 ENDPOINT descriptor > 2 bEndpointAddress 1 0x81 IN endpoint 1 > 3 bmAttributes 1 0x03 Interrupt transfer type > 4 wMaxPacketsize 2 0x0008 8 byte status packet > 6 bInterval 1 0x20 Poll at every 32ms > > Class-specific end point descriptor (Interrupt): > Offset Field Size Value Description > 0 bLength 1 0x05 Size of descriptor > 1 bDescriptorType 1 0x25 CS_ENDPOINT descriptor > 2 bDescriptorSubType 1 0x03 EP_INTERRUPT > 4 wMaxTransferSize 2 0x0008 8 byte status packet > > > Standard VS interface descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 2 bInterfaceNumber 1 0x01 Index of this interface > 3 bAlternateSetting 1 0x00 Index of this setting > 4 bNumEndPoints 1 0x00 0 EP (Default EP) > 5 bInterfaceClass 1 0x0E CC_VIDEO > 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAMING > 7 bInterfaceProtocol 1 0x00 Not used > 8 iInterface 1 0x00 Index of string Descriptor > > Class-specific VS Interface Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0E Size of descriptor > 1 bDescriptorTyupe 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER > 3 bNumformats 1 0x01 One descriptor follow > 4 wTotallength 2 0x003F Total size of VS block > 6 bEndpointAddress 1 0x82 Address of isochronous EP > 7 bmInfo 1 0x00 No dynamic format > 8 bTerminalLink 1 0x03 Terminal ID > 9 bStollCaptureMethod 1 0x01 Still image capture method 1 > 10 btriggerSupport 1 0x01 Hardware trigger > 11 bTriggerUsage 1 0x00 Still image initiate by h/w > 12 bControlsize 1 0x01 1 byte > 13 bmaControls 1 0x00 Not supported > > > Class-specific VS Header Descriptor: > > Offset Field Size Value Description > 0 bLength 1 0x0E Size of the descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x01 VS_INPUT_HEADER > 3 bNumFormats 1 0x01 One format descriptor > 4 wTotallength 2 0x004F Total size of VS interface descriptor > 6 bEndpointAddress 1 0x82 Address of Isochronous endpoint > 7 bmInfo 1 0x00 No dynamic Format > 8 bTerminalLink 1 0x03 Out terminal ID > 9 bStillCaptureMethod 1 0x01 Still image method 1 > 10 bTriggerSupport 1 0x01 h/w trigger still image > 11 bTriggerUsage 1 0x00 h/w initiate image capture > 12 bControlSize 1 0x01 1 byte > 13 bmaControls 1 0x00 No control > > > Class-specific VS Format Descriptor > Offset Field Size Value Description > 0 bLength 1 0x1B Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDesriptorSubtype 1 0x04 VS_FORMATE_UNCOMPRESSED > 3 bFormatIndex 1 0x01 Index of this descriptor > 4 bNumFrameDescriptors 1 0x01 Number of frame descriptor > 5 guidFormat 16 GUID GUID of stream-encoding format > 21 bBitsPerPixel 1 0x08 Number of bits per pixel > 22 bDefaultFrameIndex 1 0x00 Optimum Frame Index > 23 bAspectRatioX 1 0x04 X dimension of picture aspect(1024) > 24 bAspectRatioY 1 0x03 Y dimension of picture aspect(768) > 25 bmInterfaceFlags 1 0x06 Specified non-interlace information > 26 bCopyProtect 1 0x00 No restriction > > > Class-specific VS Frame Descriptor: > Offset Field Size Value Description > 0 bLength 1 0x26 Size of Descriptor > 1 bDescriptorType 1 0x24 CS_INTERFACE > 2 bDescriptorSubtype 1 0x05 VS_FRAME_UNCOPMRESSED > 3 bFrameIndex 1 0x01 Index of this descriptor > 4 bmCapabilities 1 0x03 Capabilities > 5 wWidth 2 0x0400 Width of decoded frame in pixel > 7 wHeight 2 0x0300 Height of decoded frame in pixel > 9 dwMinBitRate 4 Min transmit bit rate > 13 dwMaxtRate 4 Max transmit bit rate > 17 dwMaxVideoFrameBufferSize 4 Video frame size > 21 dwDefaultFrameInerval 4 Frame interval > 25 bFrameIntervalType 1 0x00 How frame interval can be programmed > (continuous) > 26 dwMinFrameInterval 4 Shorted frame interval Supported > 30 dwMaxFrameInterval 4 Longest frame interval supported > 34 dwFrameIntervalStep 4 Granularity of frame interval > > Standard VS Interface descriptor: > Offset Field Size Value Description > 0 bLength 1 0x09 Size of Descriptor > 1 bDescriptorType 1 0x04 INTERFACE Descriptor > 2 bInterfaceNumber 1 0x01 Index of this interface > 3 bAlternateSetting 1 0x01 Index of this setting > 4 bNumEndPoints 1 0x01 0 endpoints > 5 bInterfaceClass 1 0x0E CC_VIDEO > 6 bInterfaceSubClass 1 0x02 SC_VIDEOSTREAM > 7 bInterfaceProtocol 1 0x00 Not used > 8 iInterface 1 0x00 Index of string Descriptor > > Standard VS endpoint descriptor (Isochronous): > Offset Field Size Value Description > 0 bLength 1 0x07 Size of the Descriptor > 1 bDescriptorType 1 0x05 Endpoint > 2 bEndpointAddress 1 0x82 IN Endpoint 2 > 3 bmAttributes 1 0x01 Isochronous transfer > 4 wMaxPacketSize 2 0x0400 Max packet size 1024 > 6 bInterval 1 0x01 One frame interval |
|
|
#8 |
|
Guest
Posts: n/a
|
Re: usb video device
montu.rathod*********** wrote:
> >Thank you. I filled most the descriptor fields. > >I am supporing 15 fps (frame per second). >So as per my knowledge dwDefaultFrameInerval valuse should be >(1/fps) * 100 *10^--9 = 666666. >but i am not able to calculate dwMinFrameInterval, dwMaxFrameInterval >and dwFrameIntervalStep. If you are supporting ONLY 15 fps, then your max frame interval and your min frame interval are the same as your default frame interval. -- - Tim Roberts, timr@probo.com Providenza & Boekelheide, Inc. |
|
|
#9 |
|
Guest
Posts: n/a
|
Re: usb video device
montu.rathod*********** wrote:
> >Thank you. I filled most the descriptor fields. > >I am supporing 15 fps (frame per second). >So as per my knowledge dwDefaultFrameInerval valuse should be >(1/fps) * 100 *10^--9 = 666666. >but i am not able to calculate dwMinFrameInterval, dwMaxFrameInterval >and dwFrameIntervalStep. If you are supporting ONLY 15 fps, then your max frame interval and your min frame interval are the same as your default frame interval. -- - Tim Roberts, timr@probo.com Providenza & Boekelheide, Inc. |
|
|
#10 |
|
Guest
Posts: n/a
|
Re: usb video device
Advertisement montu.rathod*********** wrote:
> >Thank you. I filled most the descriptor fields. > >I am supporing 15 fps (frame per second). >So as per my knowledge dwDefaultFrameInerval valuse should be >(1/fps) * 100 *10^--9 = 666666. >but i am not able to calculate dwMinFrameInterval, dwMaxFrameInterval >and dwFrameIntervalStep. If you are supporting ONLY 15 fps, then your max frame interval and your min frame interval are the same as your default frame interval. -- - Tim Roberts, timr@probo.com Providenza & Boekelheide, Inc. Advertisement |
| Thread Tools | |
| Display Modes | |
|
|
< Home - Windows Help - MS Office Help - Hardware Support >
| New To Site? | Need Help? |