UVC摄像头VS_PROBE_CONTROL和VS_COMMIT_CONTROL对应的数据结构定义

19 0 2021-06-29 本文地址:http://www.usbzh.com/fun/detail-33.html

UVC 视频流接口控制请求 http://www.usbzh.com/article/detail-45.html 需要使用一些数据字段进行通讯,如UVC1.0是26个字节的长度,UVC1.1是34字节的长度,UVC1.5是48字节的长度。
这里我们定义一个通用长48字节结构体,对应VS_PROBE_CONTROL和VS_COMMIT_CONTROL进行数据通讯的结构体。

注意:这个结构体需要1字节对齐

// VideoStreaming Requests
typedef struct  _VideoControl
{
#pragam pack(1)
   UINT16 bmHint;                      
   UINT8  bFormatIndex;                
   UINT8  bFrameIndex;                 
   UINT32 dwFrameInterval;             
   UINT16 wKeyFrameRate;               
   UINT16 wPFrameRate;                 
   UINT16 wCompQuality;                
   UINT16 wCompWindowSize;             
   UINT16 wDelay;                      
   UINT32 dwMaxVideoFrameSize;         
   UINT32 dwMaxPayloadTransferSize;    //UVC1.0 分隔符
   UINT32 dwClockFrequency;            
   UINT8  bmFramingInfo;
   UINT8  bPreferedVersion;
   UINT8  bMinVersion;
   UINT8  bMaxVersion;                  UVC1.1 分隔符
   UINT8  bUsage;                     
   UINT8  bBitDepthLuma;
   UINT8  bmSettings;
   UINT8  bMaxNumberOfRefFramesPlus1;
   UINT16 bmRateControlModes;
   UINT16 bmLayoutPerStream[4];         //UVC1.5 分隔符
#pragma pack()
} VideoControl;
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!