@@ -42,19 +42,31 @@ extern "C" {
42
42
*/
43
43
#define VIDEO_CID_BASE 0x00980900
44
44
45
- /** Amount of perceived light of the image , the luma (Y') value . */
45
+ /** Picture brightness, or more precisely , the black level . */
46
46
#define VIDEO_CID_BRIGHTNESS (VIDEO_CID_BASE + 0)
47
47
48
- /** Amount of difference between the bright colors and dark colors . */
48
+ /** Picture contrast or luma gain . */
49
49
#define VIDEO_CID_CONTRAST (VIDEO_CID_BASE + 1)
50
50
51
- /** Colorfulness of the image while preserving its brightness */
51
+ /** Picture color saturation or chroma gain. */
52
52
#define VIDEO_CID_SATURATION (VIDEO_CID_BASE + 2)
53
53
54
- /** Shift in the tint of every colors, clockwise in a RGB color wheel */
54
+ /** Hue or color balance. */
55
55
#define VIDEO_CID_HUE (VIDEO_CID_BASE + 3)
56
56
57
- /** Amount of time an image sensor is exposed to light, affecting the brightness */
57
+ /** Automatic white balance (cameras). */
58
+ #define VIDEO_CID_AUTO_WHITE_BALANCE (VIDEO_CID_BASE + 12)
59
+
60
+ /** Red chroma balance, as a ratio to the green channel. */
61
+ #define VIDEO_CID_RED_BALANCE (VIDEO_CID_BASE + 14)
62
+
63
+ /** Blue chroma balance, as a ratio to the green channel. */
64
+ #define VIDEO_CID_BLUE_BALANCE (VIDEO_CID_BASE + 15)
65
+
66
+ /** Gamma adjust. */
67
+ #define VIDEO_CID_GAMMA (VIDEO_CID_BASE + 16)
68
+
69
+ /** Image sensor exposure time. */
58
70
#define VIDEO_CID_EXPOSURE (VIDEO_CID_BASE + 17)
59
71
60
72
/** Automatic gain control */
@@ -81,9 +93,61 @@ enum video_power_line_frequency {
81
93
VIDEO_CID_POWER_LINE_FREQUENCY_AUTO = 3 ,
82
94
};
83
95
84
- /** Balance of colors in direction of blue (cold) or red (warm) */
96
+ /** Enables automatic hue control by the device.
97
+ * Setting @ref VIDEO_CID_HUE while automatic hue control is enabled is undefined.
98
+ * Drivers should ignore such request.
99
+ */
100
+ #define VIDEO_CID_HUE_AUTO (VIDEO_CID_BASE + 25)
101
+
102
+ /** White balance settings as a color temperature in Kelvin.
103
+ * A driver should have a minimum range of 2800 (incandescent) to 6500 (daylight).
104
+ */
85
105
#define VIDEO_CID_WHITE_BALANCE_TEMPERATURE (VIDEO_CID_BASE + 26)
86
106
107
+ /** Adjusts the sharpness filters in a camera.
108
+ * The minimum value disables the filters, higher values give a sharper picture.
109
+ */
110
+ #define VIDEO_CID_SHARPNESS (VIDEO_CID_BASE + 27)
111
+
112
+ /** Adjusts the backlight compensation in a camera.
113
+ * The minimum value disables backlight compensation.
114
+ */
115
+ #define VIDEO_CID_BACKLIGHT_COMPENSATION (VIDEO_CID_BASE + 28)
116
+
117
+ /** Selects a color effect. */
118
+ #define VIDEO_CID_COLORFX (VIDEO_CID_BASE + 31)
119
+ enum video_colorfx {
120
+ VIDEO_COLORFX_NONE = 0 ,
121
+ VIDEO_COLORFX_BW = 1 ,
122
+ VIDEO_COLORFX_SEPIA = 2 ,
123
+ VIDEO_COLORFX_NEGATIVE = 3 ,
124
+ VIDEO_COLORFX_EMBOSS = 4 ,
125
+ VIDEO_COLORFX_SKETCH = 5 ,
126
+ VIDEO_COLORFX_SKY_BLUE = 6 ,
127
+ VIDEO_COLORFX_GRASS_GREEN = 7 ,
128
+ VIDEO_COLORFX_SKIN_WHITEN = 8 ,
129
+ VIDEO_COLORFX_VIVID = 9 ,
130
+ VIDEO_COLORFX_AQUA = 10 ,
131
+ VIDEO_COLORFX_ART_FREEZE = 11 ,
132
+ VIDEO_COLORFX_SILHOUETTE = 12 ,
133
+ VIDEO_COLORFX_SOLARIZATION = 13 ,
134
+ VIDEO_COLORFX_ANTIQUE = 14 ,
135
+ };
136
+
137
+ /* Enable Automatic Brightness. */
138
+ #define VIDEO_CID_AUTOBRIGHTNESS (VIDEO_CID_BASE + 32)
139
+
140
+ /** Switch the band-stop filter of a camera sensor on or off, or specify its strength.
141
+ * Such band-stop filters can be used, for example, to filter out the fluorescent light component.
142
+ */
143
+ #define VIDEO_CID_BAND_STOP_FILTER (VIDEO_CID_BASE + 33)
144
+
145
+ /** Sets the alpha color component.
146
+ * Some devices produce data with a user-controllable alpha component. Set the value applied to
147
+ * the alpha channel of every pixel produced.
148
+ */
149
+ #define VIDEO_CID_ALPHA_COMPONENT (VIDEO_CID_BASE + 41)
150
+
87
151
/** Last base CID + 1 */
88
152
#define VIDEO_CID_LASTP1 (VIDEO_CID_BASE + 44)
89
153
@@ -107,18 +171,151 @@ enum video_power_line_frequency {
107
171
*/
108
172
#define VIDEO_CID_CAMERA_CLASS_BASE 0x009a0900
109
173
110
- /** Adjustments of exposure time and/or iris aperture. */
174
+ /** Enables automatic adjustments of the exposure time and/or iris aperture.
175
+ * Manual exposure or iris changes when it is not @ref VIDEO_EXPOSURE_MANUAL is undefined.
176
+ * Drivers should ignore such requests.
177
+ */
111
178
#define VIDEO_CID_EXPOSURE_AUTO (VIDEO_CID_CAMERA_CLASS_BASE + 1)
112
- enum video_exposure_auto_type {
179
+ enum video_exposure_type {
113
180
VIDEO_EXPOSURE_AUTO = 0 ,
114
181
VIDEO_EXPOSURE_MANUAL = 1 ,
115
182
VIDEO_EXPOSURE_SHUTTER_PRIORITY = 2 ,
116
183
VIDEO_EXPOSURE_APERTURE_PRIORITY = 3
117
184
};
118
185
119
- /** Amount of optical zoom applied through to the camera optics */
186
+ /** Determines the exposure time of the camera sensor.
187
+ * The exposure time is limited by the frame in terval. Drivers should interpret the values as
188
+ * 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000
189
+ * for 10 seconds.
190
+ */
191
+ #define VIDEO_CID_EXPOSURE_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 2)
192
+
193
+ /** Whether the device may dynamically vary the frame rate under the effect of auto-exposure
194
+ * Applicable when @ref VIDEO_CID_EXPOSURE_AUTO is set to @ref VIDEO_EXPOSURE_AUTO or
195
+ * @ref VIDEO_EXPOSURE_APERTURE_PRIORITY. Disabled by default: the frame rate must remain constant.
196
+ */
197
+ #define VIDEO_CID_EXPOSURE_AUTO_PRIORITY (VIDEO_CID_CAMERA_CLASS_BASE + 3)
198
+
199
+ /** This write-only control turns the camera horizontally by the specified amount.
200
+ * The unit is undefined. A positive value moves the camera to the right (clockwise when viewed
201
+ * from above), a negative value to the left. A value of zero does not cause motion.
202
+ */
203
+ #define VIDEO_CID_PAN_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 4)
204
+
205
+ /** This write-only control turns the camera vertically by the specified amount.
206
+ * The unit is undefined. A positive value moves the camera up, a negative value down.
207
+ * A value of zero does not cause motion.
208
+ */
209
+ #define VIDEO_CID_TILT_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 5)
210
+
211
+ /** This control turns the camera horizontally to the specified position.
212
+ * Positive values move the camera to the right (clockwise when viewed from above), negative
213
+ * values to the left. Drivers should interpret the values as arc seconds, with valid values
214
+ * between -180 * 3600 and +180 * 3600 inclusive.
215
+ */
216
+ #define VIDEO_CID_PAN_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 8)
217
+
218
+ /** This control turns the camera vertically to the specified position.
219
+ * Positive values move the camera up, negative values down. Drivers should interpret the values as
220
+ * arc seconds, with valid values between -180 * 3600 and +180 * 3600 inclusive.
221
+ */
222
+ #define VIDEO_CID_TILT_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 9)
223
+
224
+ /** This control sets the focal point of the camera to the specified position.
225
+ * The unit is undefined. Positive values set the focus closer to the camera, negative values
226
+ * towards infinity.
227
+ */
228
+ #define VIDEO_CID_FOCUS_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 10)
229
+
230
+ /** This write-only control moves the focal point of the camera by the specified amount.
231
+ * The unit is undefined. Positive values move the focus closer to the camera, negative values
232
+ * towards infinity.
233
+ */
234
+ #define VIDEO_CID_FOCUS_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 11)
235
+
236
+ /** Enables continuous automatic focus adjustments.
237
+ * Manual focus adjustments while this control is on (set to 1) is undefined.
238
+ * Drivers should ignore such requests.
239
+ */
240
+ #define VIDEO_CID_FOCUS_AUTO (VIDEO_CID_CAMERA_CLASS_BASE + 12)
241
+
242
+ /** Specify the objective lens focal length as an absolute value.
243
+ * The zoom unit is driver-specific and its value should be a positive integer.
244
+ */
120
245
#define VIDEO_CID_ZOOM_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 13)
121
246
247
+ /** This write-only control sets the objective lens focal length relatively to the current value.
248
+ * Positive values move the zoom lens group towards the telephoto direction, negative values
249
+ * towards the wide-angle direction. The zoom unit is driver-specific.
250
+ */
251
+ #define VIDEO_CID_ZOOM_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 14)
252
+
253
+ /** Start a continuous zoom movement.
254
+ * Move the objective lens group at the specified speed until it reaches physical device limits or
255
+ * until an explicit request to stop the movement. A positive value moves the zoom lens group
256
+ * towards the telephoto direction. A value of zero stops the zoom lens group movement.
257
+ * A negative value moves the zoom lens group towards the wide-angle direction.
258
+ * The zoom speed unit is driver-specific.
259
+ */
260
+ #define VIDEO_CID_ZOOM_CONTINUOUS (VIDEO_CID_CAMERA_CLASS_BASE + 15)
261
+
262
+ /** This control sets the camera's aperture to the specified value.
263
+ * The unit is undefined. Larger values open the iris wider, smaller values close it.
264
+ */
265
+ #define VIDEO_CID_IRIS_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 17)
266
+
267
+ /** This write-only control modifies the camera's aperture by the specified amount.
268
+ * The unit is undefined. Positive values open the iris one step further, negative values close
269
+ * it one step further.
270
+ */
271
+ #define VIDEO_CID_IRIS_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 18)
272
+
273
+ /** Enables or disables the camera's wide dynamic range feature.
274
+ * This feature allows to obtain clear images in situations where intensity of the illumination
275
+ * varies significantly throughout the scene, i.e. there are simultaneously very dark and very
276
+ * bright areas. It is most commonly realized in cameras by combining two subsequent frames with
277
+ * different exposure times.
278
+ */
279
+ #define VIDEO_CID_WIDE_DYNAMIC_RANGE (VIDEO_CID_CAMERA_CLASS_BASE + 21)
280
+
281
+ /**This control turns the camera horizontally at the specific speed.
282
+ * The unit is undefined. A positive value moves the camera to the right (clockwise when viewed
283
+ * from above), a negative value to the left. A value of zero stops the motion if one is in
284
+ * progress and has no effect otherwise.
285
+ */
286
+ #define VIDEO_CID_PAN_SPEED (VIDEO_CID_CAMERA_CLASS_BASE + 32)
287
+
288
+ /** This control turns the camera vertically at the specified speed.
289
+ * The unit is undefined. A positive value moves the camera up, a negative value down.
290
+ * A value of zero stops the motion if one is in progress and has no effect otherwise.
291
+ */
292
+ #define VIDEO_CID_TILT_SPEED (VIDEO_CID_CAMERA_CLASS_BASE + 33)
293
+
294
+ /** This read-only control describes the camera position on the device
295
+ * It by reports where the camera camera is installed, its mounting position on the device.
296
+ * This control is particularly meaningful for devices which have a well defined orientation,
297
+ * such as phones, laptops and portable devices since the control is expressed as a position
298
+ * relative to the device's intended usage orientation.
299
+ * , or , are said to have the
300
+ * @ref VIDEO_CAMERA_ORIENTATION_EXTERNAL orientation.
301
+ */
302
+ #define VIDEO_CID_CAMERA_ORIENTATION (VIDEO_CID_CAMERA_CLASS_BASE + 34)
303
+ enum video_camera_orientation {
304
+ /** Camera installed on the user-facing side of a phone/tablet/laptop device */
305
+ VIDEO_CAMERA_ORIENTATION_FRONT = 0 ,
306
+ /** Camera installed on the opposite side of the user */
307
+ VIDEO_CAMERA_ORIENTATION_BACK = 1 ,
308
+ /** Camera sensors not directly attached to the device or that can move freely */
309
+ VIDEO_CAMERA_ORIENTATION_EXTERNAL = 2 ,
310
+ };
311
+
312
+ /** This read-only control describes the orientation of the sensor in the device.
313
+ * The value is the rotation correction in degrees in the counter-clockwise direction to be
314
+ * applied to the captured images once captured to memory to compensate for the camera sensor
315
+ * mounting rotation.
316
+ */
317
+ #define VIDEO_CID_CAMERA_SENSOR_ROTATION (VIDEO_CID_CAMERA_CLASS_BASE + 35)
318
+
122
319
/**
123
320
* @}
124
321
*/
0 commit comments