UVC 补充说明
1. UVC demo说明¶
UVC demo source code 在sdk/verify/mi\_demo/alderaan/uvc
下。板子烧好image后,uvc demo的可执行bin档在板子的/customer/mi\_demo/prog\_uvc
下。
1.1. 编译步骤¶
-
cd project
-
./setup_config.sh ./xxx (参考编译补充说明)
-
cd sdk/verify/mi_demo/alderaan
-
make uvc
-
get prog_uvc bin at sdk/verify/mi_demo/out/demo/app
1.2. 运行prog_uvc¶
/customer/mi\_demo \# ./prog\_uvc
输入数字来选择分辨率
index 0, Crop(0,0,1920,1080), outputsize(1948,1097), maxfps 30, minfps 3, ResDesc 1920x1080\@30fps choice which resolution use, cnt 1 0
Windows端可以用PotPlay预览UVC设备的图像,右键->打开->设备设置,按如下操作即可看到画面:
图1-1
2. UVC 添加IQ选项设定说明¶
-
在kernel中使能processing unit的设置(其他的unit要在其他相应的地方做同样的设置):
vi ./drivers/usb/gadget/legacy/webcam.c
图2-1
将图中标识部分都设为0xff,表示1.0中所有的镜头属性设置都支持。修改完后替换g_webcam.ko到板子上。
-
先确定要添加的设置属于哪个UNIT ID,然后在应用层的函数“_UVC_Events_Process_Control”中, 最对应的UNIT ID下添加需要的设置,并将其GET INFO中返回的data设为0x3。例如要增加对比度(contrast)的设置,首先确定对比度的设置属于Processing Unit(通过查UVC的spec获知);
图2-2
UVC_GET_INFO case中data设为0x03, 如下:
图2-3
-
在应用层函数“usb_vc_out_data(uint8_t entity, uint8_t cs, uint32_t len, struct uvc_request_data * data)”中添加相应的Unit ID及选项(如果没有的话),函数参数中的“data”则是PC那边传过来的所设定的值。并在这里调用IQ的API进行相应选项的设定。
例如对比度设置,修改如下:
图2-4