天嵌二次封装库使用手册  V2.1.2
tq_uvc.h
浏览该文件的文档.
1 
7 #ifndef LINUX_LIBV2_SOURCE_USB_CAMERA_TQ_UVC_H_
8 #define LINUX_LIBV2_SOURCE_USB_CAMERA_TQ_UVC_H_
9 
10 // Copyright 2024 广东省天嵌嵌入式技术股份有限公司
11 
12 #include <libhardware.h>
13 
14 #ifdef __cplusplus
15 #define UVC_API extern "C"
16 #else
17 #define UVC_API
18 #endif
19  UVC_API int tq_uvc_init(char *dev_name, int width, int high, int fps, void **buff);
20  /*
21  * 描述:初始化摄像头
22  * 参数:char *dev_name//设备文件名
23  int width//宽
24  int high//高
25  int fps//帧率
26  void** buff
27  * 返回值:成功:设备文件
28  * 失败:-1:打开设备文件失败
29  * 失败:-2:设置数据流参数失败
30  * 失败:-3:设置视频的制式和帧格式
31  * 失败:-4:内存申请失败
32  * 失败:-5:查询申请到的内存失败
33  * 失败:-6:将空闲的内存加入可捕获视频的队列失败
34  * 失败:-7:打开视频流失败
35  * 失败:-99:参数错误
36  */
37 
38  UVC_API int tq_uvc_check(char *dev);
39  /*
40  * 描述:检测摄像头是否存在
41  * 参数:index用于检测第几个摄像头,从0开始,对应video0~x
42  *返回值:存在返回0,不存在返回-1 参数错误返回-99
43  *
44 */
45 
46  UVC_API int tq_uvc_args(int fd, int *width, int *high);
47  /*
48  * 描述:获取设备可支持的图像尺寸
49  * 参数:int fd//设备文件(uvc_init的返回值),int width(用于存放设备当前分辨率的宽),int high(用于存放设备当前分辨率的高)
50  * 返回值:成功:0
51  * 失败:-1:获取失败
52  * 失败:-98:未初始化
53  * 失败:-99:参数错误
54 */
55 
56  UVC_API int tq_uvc_format(int fd, struct uvc_struct_format **);
57  /*
58  * 描述:获取设备可支持的格式
59  * 参数:int fd//设备文件(uvc_init的返回值),struct uvc_format**(用于存放设备可支持的格式)
60  * 返回值:成功:int(可支持设备格式的数量)
61  * 失败:-98:未初始化
62  * 失败:-99:参数错误
63 */
64 
66  /*
67  * 描述:查询设备属性
68  * 参数:int fd//设备文件(uvc_init的返回值)
69  * 返回值:成功:uvc_Attributes结构体
70  * uvc_Attributes.driverName[16]//驱动模块的名字
71  * uvc_Attributes.cardName[32]//设备名字
72  * uvc_Attributes.bus_info[32]//总线信息
73  * uvc_Attributes.verison[10]//内核版本
74  * 失败:查询失败,结构体uvc_Attributes所有值均为error(-1)
75  * 失败:未初始化,结构体uvc_Attributes所有值均为error(-98)
76  * 失败:参数错误,结构体uvc_Attributes所有值均为error(-99)
77  */
78 
79  UVC_API int tq_uvc_capturing(int fd);
80  /*
81  * 描述:将已经捕获好视频的内存拉出已捕获视频的队列
82  * 参数:int fd//设备文件(uvc_init的返回值)
83  * 返回值:int 索引值:成功:大于0
84  * 失败:-1
85  * 失败:-98:未初始化
86  * 失败:-99:参数错误
87  */
88 
89  UVC_API int tq_uvc_release(int fd, int index);
90  /*
91  * 描述:将空闲的内存加入可捕获视频的队列
92  * 参数:int fd//设备文件(uvc_init的返回值)
93  * int index//索引值(uvc_capturing的返回值)
94  * 返回值:int 成功:0
95  * 失败:-1
96  * 失败:-98:未初始化
97  * 失败:-99:参数错误
98 */
99 
100  UVC_API int tq_uvc_close(int fd, void **buff);
101 /*
102  * 描述:关闭摄像头
103  * 参数:int fd//设备文件(uvc_init的返回值),void **buff(与初始化函数uvc_init调用同一个)
104  * 返回值:成功:0
105  * 失败:-1 关闭失败
106  * 失败:-2:查询申请到的内存失败
107  * 失败:-98:未初始化
108  * 失败:-99:参数错误
109 */
110 
111 #endif
UVC_API int tq_uvc_check(char *dev)
UVC_API int tq_uvc_format(int fd, struct uvc_struct_format **)
UVC_API int tq_uvc_capturing(int fd)
UVC_API struct uvc_struct_Attributes tq_uvc_Attributes(int fd)
UVC_API int tq_uvc_release(int fd, int index)
#define UVC_API
Definition: tq_uvc.h:17
UVC_API int tq_uvc_args(int fd, int *width, int *high)
UVC_API int tq_uvc_init(char *dev_name, int width, int high, int fps, void **buff)
UVC_API int tq_uvc_close(int fd, void **buff)