UVC规范(USB摄像头)
+ -

UVC 处理单元描述符 摄像头颜色亮度对比度控制

2020-09-30 4979 3

处理单元描述符的ID使用bUnitID字段标识。同一视频功能内的任何其他单元或终端不得具有相同的功能ID。

bSourceID字段用于描述此处理单元的连接。它包含此处理单元通过其输入引脚连接到的设备或终端的ID。
bSourceID必须引用同一视频功能中的单元或终端。
bmControls字段是一个位图,指示视频流的某些处理控件的特性.

   UINT8  bLength;
   UINT8  bDescriptorType;
   UINT8  bDescriptorSubtype;
   UINT8  bUnitID;
   UINT8  bSourceID;
   UINT16 wMaxMultiplier;
   UINT8 bControlSize;
   UINT8 bmControls[3];
   UINT8 iProcessing;
   UINT8 bmVideoStandards;
  • bLength:描述符的长度,13字节。
  • bDescriptorType:描述符类型,CS_INTERFACE,值为0x24.
  • bDescriptorSubtype:描述符子类型。 VC_PROCESSING_UNIT ,值为0x05
  • bUnitID:ID,非零值。
  • bSourceID:连接到此单元的单元ID或实体ID.
  • wMaxMultiplier:如果支持数字乘法器控制,此字段表示最大数字放大倍数乘以100。例如,对于支持1-4.5X的设备数码变焦(4.5倍倍增),此区域设置为450。如不支持,则为0
  • bControlSize:bmControls的字节大小,为3
  • bmControls:相应的位为1表示支持这种控制。
    • D0:亮度
    • D1:对比度
    • D2:色调
    • D3:饱和
    • D4:锐度
    • D5:伽马射线
    • D6:白平衡温度
    • D7:白平衡分量
    • D8:背光补偿
    • D9:增益
    • D10:电源线频率
    • D11:色调,自动
    • D12:白平衡温度,自动
    • D13:白平衡组件,自动
    • D14:数字乘法器
    • D15:数字乘法器限制
    • D16:模拟视频标准
    • D17:模拟视频锁定状态
    • D18:对比度,自动
    • D19–D23:保留。设为零
  • bmVideoStandards:处理单元支持的所有模拟视频标准的位图。
    • D0: None
    • D1: NTSC – 525/60
    • D2: PAL – 625/50
    • D3: SECAM – 625/50
    • D4: NTSC – 625/50
    • D5: PAL – 525/60
    • D6-D7: Reserved. Set to zero.

UVC版本引起的处理单元描符版本不同

不同的UVC版本,其处理单元描述符稍有不同:
具体可详见:
https://www.usbzh.com/article/detail-1331.html
https://www.usbzh.com/article/detail-443.html

处理单元描述符示例

UVC1.0处理单元描述符示例

-------- Video Control Processing Unit Descriptor -----
bLength                  : 0x0B (11 bytes)
bDescriptorType          : 0x24 (Video Control Interface)
bDescriptorSubtype       : 0x05 (Processing Unit)
bUnitID                  : 0x02 (2)
bSourceID                : 0x01 (1)
wMaxMultiplier           : 0x0000
bControlSize             : 0x02 (2 bytes)
bmControls               : 0x7F, 0x17
 D0                      : 1  yes -  Brightness
 D1                      : 1  yes -  Contrast
 D2                      : 1  yes -  Hue
 D3                      : 1  yes -  Saturation
 D4                      : 1  yes -  Sharpness
 D5                      : 1  yes -  Gamma
 D6                      : 1  yes -  White Balance Temperature
 D7                      : 0   no -  White Balance Component
 D8                      : 1  yes -  Backlight Compensation
 D9                      : 1  yes -  Gain
 D10                     : 1  yes -  Power Line Frequency
 D11                     : 0   no -  Hue, Auto
 D12                     : 1  yes -  White Balance Temperature, Auto
 D13                     : 0   no -  White Balance Component, Auto
 D14                     : 0   no -  Digital Multiplier
 D15                     : 0   no -  Digital Multiplier Limit
iProcessing              : 0x00 (No String Descriptor)
Data (HexDump)           : 0B 24 05 02 01 00 00 02 7F 17 00                  .$.........

UVC1.1/UVC1.5处理单元描述符示例

 -------- Video Control Processing Unit Descriptor -----
bLength                  : 0x0D (13 bytes)
bDescriptorType          : 0x24 (Video Control Interface)
bDescriptorSubtype       : 0x05 (Processing Unit)
bUnitID                  : 0x02
bSourceID                : 0x01
wMaxMultiplier           : 0x0000
bControlSize             : 0x03
bmControls               : 0x0F, 0x00, 0x00
 D0                      : 1  yes -  Brightness
 D1                      : 1  yes -  Contrast
 D2                      : 1  yes -  Hue
 D3                      : 1  yes -  Saturation
 D4                      : 0   no -  Sharpness
 D5                      : 0   no -  Gamma
 D6                      : 0   no -  White Balance Temperature
 D7                      : 0   no -  White Balance Component
 D8                      : 0   no -  Backlight Compensation
 D9                      : 0   no -  Gain
 D10                     : 0   no -  Power Line Frequency
 D11                     : 0   no -  Hue, Auto
 D12                     : 0   no -  White Balance Temperature, Auto
 D13                     : 0   no -  White Balance Component, Auto
 D14                     : 0   no -  Digital Multiplier
 D15                     : 0   no -  Digital Multiplier Limit
 D16                     : 0   no -  Analog Video Standard
 D17                     : 0   no -  Analog Video Lock Status
 D18                     : 0   no -  Contrast, Auto
 D19                     : 0   no -  Reserved
 D20                     : 0   no -  Reserved
 D21                     : 0   no -  Reserved
 D22                     : 0   no -  Reserved
 D23                     : 0   no -  Reserved
iProcessing              : 0x00
bmVideoStandards         : 0x00
 D0                      : 0   no -  None
 D1                      : 0   no -  NTSC  - 525/60
 D2                      : 0   no -  PAL   - 625/50
 D3                      : 0   no -  SECAM - 625/50
 D4                      : 0   no -  NTSC  - 625/50
 D5                      : 0   no -  PAL   - 525/60
 D6                      : 0   no -  Reserved
 D7                      : 0   no -  Reserved
Data (HexDump)           : 0D 24 05 02 01 00 00 03 0F 00 00 00 00            .$...........
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

UVC 扩展单元描述符
扩展单元描述符允许硬件设计者定义任意一组控制接口,使类驱动程序可以在设备与供应商提供的主机软件之间进行通讯控制。扩展单元描述符ID由bUnitID字段中的值唯一标识描述符。同一视频功能内的任何其他单元或终端不得具有相同的功能ID。guidExtensionCode字段包含特定于供应商的代码,该代......
USB 设置描述符SetDescriptor
ID请求码说明7SET_DESCRIPTOR修改设备中有关的描述符,或者增加新的描述符SetDescriptoret用于设置USB的描述符,在SetDescriptor请求的数据阶段,主机将向USB设备发送指定的描述符类型 。bmRequestType(1)bRequest(1)wValue(2)w......
USB超高速 超高速端点伴随描述符
在接口中描述的每个超高速端点都紧跟着一个超高速端点伴侣描述符( EndpointCompanion descriptor)。这个描述符包含只给超高速端点定义的附加端点特性。这个描述符总是 作 为 配 置 描 述 符 信 息 的 一 部 分 在GetDescriptor(Configuration) ......
UVC 描述符描述符布局
USB设备的描述符用于向主机报告其设备的属性信息,UVC设备属于USB设备的一种,故和通用的USB设备一样,也包含设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。UVC设备在也定义了一些特有的描述符,用于对USB视频设备的扩展。这些特有的UVC描述符和通用的USB描述符,共同组成了UV......
USB音箱 UAC设备描述符分析
这里看到,USB规范采用的是USB1.1版本,不过字符串中又显示的是”USB2.0 Device”,所以这里就有点迷~关于设备描述符各字段的详细解释,详见USB规范中设备描述符一节。从bDeviceClass,bDeviceSubClass和bDeviceSubClass都被置为0来看,这是一个典......
USB超高速 精密时间测量描述符
精密时间测量描述符(Precision Time Measurement)应由支持PTM能力的所有集线器和设备实现。OffsetFieldSizeValueDescription0bLength1数字描述符长度1bDescriptorType1常量描述符的类型,这里为DEVICE CAPABILIT......
UVC 相机终端描述符
相机端点描述符使用bTerminalID来标识其惟一的ID,所有的请求必须使用此ID。wTerminalType用来描述相关的物理实体的信息。typedef struct _CAMERA_TERMINAL_DESCRIPTOR UINT8 bLength; UINT8 bDescr......
UVC Windows下UVC摄像头数据分析
这里我们分析一款UVC摄像头来进行数据分析。环境:win10 x64工具:bushound,usbviewer将摄像头插入PC后,打开usbviewer工具,可以看到关于此摄像头的相关信息。可以看到,这个摄像头其实是一个USB复合设备,所以其对应的系统驱动为USBCCGP,然后再由USB复合设......
UAC 类特定音频控制接口头描述符
UAC类特定音频控制头接口描述符这个名字有点绕,其实这个描述符是前接标准的音频控制接口描述符,后续关于音频控制的所有相关描述符,起着承上起下的作用。当然也可以认为是音频控制相关描述符的前导。这是因为UAC类特定音频控制接口描述符含有一个关键的字段wTotalLength,用于包含音频控制所有接口描述......
UVC的版本区别之处理单元描述符
UVC规范自发布到现在,已经有UVC1.0,UVC1.1和UVC1.5三个版本了。在Windows环境下,支持的最广泛的是UVC1.0,从Win7开始支持UVC1.1,从Win8开始支持UVC1.5.我们常用的UVC摄像头一般为了支持更加广泛的操作系统,一般情况下UVC的固件是UVC1.0,但随着固......
UVC 颜色匹配描述符
颜色匹配描述符是一个可选描述符,这是一个与图像成像时色域相关的参数。对于未压缩的视频格式,必须使用颜色匹配描述符bt709是srgb色域。色域是对一种颜色进行编码的方法,也指一个技术系统能够产生的颜色的总和。在计算机图形处理中,色域是颜色的某个完全的子集。颜色子集最常见的应用是用来精确地代表一......
HID 触摸屏的报表描述符
讲道理,这个触摸屏的报告描述符是我从网上搜索的一段代码,这个触摸屏的报告内容本人也进行了测试。测试是通过本站编写的虚拟触摸屏驱动实现的。0x05, 0x0d, // USAGE_PAGE (Digitizers) 0 0x......
USB音箱 UAC配置描述符分析
该USB音箱的配置描述符和普通USB设备描述符结构体一致,并无特别区别。该配置描述符的总长度(包括后续的所有其它描述符)为110字节,这里相对华为耳机的要少了很多,这是因为少了像麦克风和HID。从配置描述符的字段bmAttributes来看,并不支持远程唤醒功能。 ------------......
UVC 选择器单元描述符
UVC Selector Unit Descriptor 是指 USB Video Class (UVC) 设备的一种描述符类型,用于描述 UVC 设备的功能和特性。Selector Unit Descriptor 提供了选择单元的信息,选择单元通常用于控制 UVC 设备上的不同输入源或输出源。具体......
华为UAC耳机 配置描述符
配置描述符的大小其实不光包括配置描述符自身,也包括后续的所有描述符。这里我们只先介绍一下配置描述符,后续的接口描述符和其它UAC相关描述符在后续一节介绍。配置描述符的内容如下: ------------------ Configuration Descriptor --------------......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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