24 #ifndef __FIREVISION_CAMS_V4L2_H_ 25 #define __FIREVISION_CAMS_V4L2_H_ 27 #include <fvcams/camera.h> 29 #include <linux/types.h> 30 #include <linux/videodev2.h> 32 #include <fvcams/control/color.h> 33 #include <fvcams/control/image.h> 36 #define MMAP_NUM_BUFFERS 4; 43 class CameraArgumentParser;
54 V4L2Camera(
const char *device_name =
"/dev/video0");
63 virtual void capture();
64 virtual void print_info();
67 virtual unsigned char *buffer();
68 virtual unsigned int buffer_size();
69 virtual void dispose_buffer();
71 virtual unsigned int pixel_width();
72 virtual unsigned int pixel_height();
73 virtual colorspace_t colorspace();
76 virtual void set_image_number(
unsigned int n);
78 virtual bool auto_gain();
79 virtual void set_auto_gain(
bool enabled);
80 virtual bool auto_white_balance();
81 virtual void set_auto_white_balance(
bool enabled);
82 virtual unsigned int exposure_auto();
83 virtual void set_exposure_auto(
unsigned int exposure_auto);
84 virtual int red_balance();
85 virtual void set_red_balance(
int red_balance);
86 virtual int blue_balance();
87 virtual void set_blue_balance(
int blue_balance);
88 virtual int u_balance();
89 virtual void set_u_balance(
int u_balance);
90 virtual int v_balance();
91 virtual void set_v_balance(
int v_balance);
92 virtual unsigned int brightness();
93 virtual void set_brightness(
unsigned int brightness);
94 virtual unsigned int contrast();
95 virtual void set_contrast(
unsigned int contrast);
96 virtual unsigned int saturation();
97 virtual void set_saturation(
unsigned int saturation);
99 virtual void set_hue(
int hue);
100 virtual unsigned int exposure();
101 virtual void set_exposure(
unsigned int exposure);
102 virtual unsigned int gain();
103 virtual void set_gain(
unsigned int gain);
105 virtual const char * format();
106 virtual void set_format(
const char *format);
107 virtual unsigned int width();
108 virtual unsigned int height();
109 virtual void set_size(
unsigned int width,
110 unsigned int height);
111 virtual bool horiz_mirror();
112 virtual bool vert_mirror();
113 virtual void set_horiz_mirror(
bool enabled);
114 virtual void set_vert_mirror(
bool enabled);
115 virtual unsigned int fps();
116 virtual void set_fps(
unsigned int fps);
117 virtual unsigned int lens_x_corr();
118 virtual unsigned int lens_y_corr();
119 virtual void set_lens_x_corr(
unsigned int x_corr);
120 virtual void set_lens_y_corr(
unsigned int y_corr);
122 virtual bool exposure_auto_priority();
123 virtual void set_exposure_auto_priority(
bool enabled);
124 virtual unsigned int white_balance_temperature();
125 virtual void set_white_balance_temperature(
unsigned int white_balance_temperature);
126 virtual unsigned int exposure_absolute();
127 virtual void set_exposure_absolute(
unsigned int exposure_absolute);
128 virtual unsigned int sharpness();
129 virtual void set_sharpness(
unsigned int sharpness);
134 virtual void set_one_control(
const char *ctrl,
unsigned int id,
int value);
135 virtual int get_one_control(
const char *ctrl,
unsigned int id);
138 virtual void post_open();
139 virtual void select_read_method();
140 virtual void select_standard();
141 virtual void select_input();
142 virtual void select_format();
143 virtual void set_fps();
144 virtual void set_controls();
145 virtual void create_buffer();
146 virtual void reset_cropping();
168 unsigned char *buffer;
172 struct ControlParameterInt
180 V4L2CameraData *_data;
182 ReadMethod _read_method;
188 colorspace_t _colorspace;
191 unsigned int _height;
192 unsigned int _bytes_per_line;
193 FrameBuffer *_frame_buffers;
194 unsigned int _buffers_length;
205 ControlParameterInt _brightness;
206 ControlParameterInt _contrast;
207 ControlParameterInt _saturation;
208 ControlParameterInt _hue;
209 ControlParameterInt _red_balance;
210 ControlParameterInt _blue_balance;
211 ControlParameterInt _exposure;
212 ControlParameterInt _gain;
213 ControlParameterInt _lens_x;
214 ControlParameterInt _lens_y;
216 ControlParameterInt _white_balance_temperature;
217 TriState _exposure_auto_priority;
218 ControlParameterInt _exposure_auto;
219 ControlParameterInt _exposure_absolute;
220 ControlParameterInt _sharpness;
229 #endif //__FIREVISION_CAMS_V4L2_H_ char * _device_name
Device name.
Camera interface for image aquiring devices in FireVision.
Camera color control interface.
Video4Linux 2 camera access implementation.
A class for handling time.
Camera image control interface.
General Video4Linux camera implementation.