天嵌二次封装库使用手册  V1.0
tq_uvc2.h
浏览该文件的文档.
1 
2 #ifndef _TQ_UVC2_H__
3 #define _TQ_UVC2_H__
4 
20 #include <stdio.h>
21 #include <fcntl.h>
22 #include <unistd.h>
23 #include <stdint.h>
24 #include <stdlib.h>
25 #include <string.h>
26 #include <malloc.h>
27 #include <stddef.h>
28 #include <sys/mman.h>
29 #include <sys/ioctl.h>
30 #include <sys/types.h>
31 #include <sys/stat.h>
32 #include <asm/types.h>
33 #include <linux/videodev2.h>
34 
38 struct videobuffer {
39  unsigned char *start;
40  size_t offset;
41  unsigned int length;
42 };
43 
47 struct uvc_fd {
48  const char* name;
49  int v4l2_fd;
50  int in_width;
51  int in_height;
52  int width;
53  int height;
54  int sizeimage;
55  int top;
56  int left;
57  int rotate;
58  int cap_fmt;
61  int usb_camera;
62  struct videobuffer buffers[4];
63  unsigned int buf_count;
64  int buf_index;
65 };
66 #ifdef __cplusplus
67 extern "C"
68 {
69 #endif
70 
75  int uvc2_check(char *dev);
76 
88  int uvc2_init(struct uvc_fd *v, const char *devname, int width, int height);
89 
97  int uvc2_start_capturing(struct uvc_fd *v);
98 
104  int ucv2_stop_capturing(struct uvc_fd v);
105 
111  int uvc2_get_buffsize(struct uvc_fd v);
112 
118  void *uvc2_capturing(struct uvc_fd *v);
119 
125  int uvc2_release_capturing(struct uvc_fd v);
126 
131  void uvc2_close(struct uvc_fd v);
132 
142  int YUY2ToRGB(unsigned char *src, unsigned char *rgb, int width, int height, int bits);
143 
152  int convert_yuv_to_rgb_buffer(unsigned char *yuv,
153  unsigned char *rgb,
154  unsigned int width,
155  unsigned int height);
156 #ifdef __cplusplus
157 }
158 #endif
159 #endif
int v4l2_fd
打开设备name后的文件描述符
Definition: tq_uvc2.h:49
int uvc2_release_capturing(struct uvc_fd v)
释放采集到的缓存
视频缓冲区结构体
Definition: tq_uvc2.h:38
int cap_fmt
像素格式
Definition: tq_uvc2.h:58
unsigned int buf_count
缓冲区个数
Definition: tq_uvc2.h:63
int convert_yuv_to_rgb_buffer(unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int height)
将YUV格式转RGB格式(YUY2是YUV422格式,排列是(YUYV),是1 plane)
size_t offset
偏移量
Definition: tq_uvc2.h:40
int buf_index
缓冲区的索引号
Definition: tq_uvc2.h:64
void * uvc2_capturing(struct uvc_fd *v)
获取采集到的缓存
int uvc2_get_buffsize(struct uvc_fd v)
获取采集数据缓存大小
int rotate
旋转度数
Definition: tq_uvc2.h:57
int usb_camera
usb摄像头
Definition: tq_uvc2.h:61
void uvc2_close(struct uvc_fd v)
关闭摄像头
int left
左边边距
Definition: tq_uvc2.h:56
int in_height
输入的高
Definition: tq_uvc2.h:51
int camera_framerate
摄像头帧率
Definition: tq_uvc2.h:59
int capture_mode
捕获模式
Definition: tq_uvc2.h:60
int uvc2_check(char *dev)
检测摄像头是否是 usb 摄像头
int uvc2_start_capturing(struct uvc_fd *v)
开启摄像头采集
int width
Definition: tq_uvc2.h:52
int height
Definition: tq_uvc2.h:53
unsigned char * start
缓冲区起始地址
Definition: tq_uvc2.h:39
int uvc2_init(struct uvc_fd *v, const char *devname, int width, int height)
初始化 usb 摄像头
int ucv2_stop_capturing(struct uvc_fd v)
停止摄像头采集
int sizeimage
图像大小
Definition: tq_uvc2.h:54
uvc设备信息结构体
Definition: tq_uvc2.h:47
const char * name
设备名
Definition: tq_uvc2.h:48
int top
顶部边距
Definition: tq_uvc2.h:55
unsigned int length
缓冲区大小
Definition: tq_uvc2.h:41
int YUY2ToRGB(unsigned char *src, unsigned char *rgb, int width, int height, int bits)
将YUV格式转RGB格式(YUY2是YUV422格式,排列是(YUYV),是1 plane)
int in_width
输入的宽
Definition: tq_uvc2.h:50