forked from groupgets/libuvc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
standard-units.yaml
518 lines (513 loc) · 12.8 KB
/
standard-units.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
units:
camera_terminal:
type: standard
description: Standard camera input terminal (captures images from sensor)
control_prefix: CT
controls:
scanning_mode:
control: SCANNING_MODE
length: 1
fields:
mode:
type: int
position: 0
length: 1
doc: '0: interlaced, 1: progressive'
ae_mode:
control: AE_MODE
length: 1
fields:
mode:
type: int
position: 0
length: 1
doc: '1: manual mode; 2: auto mode; 4: shutter priority mode; 8: aperture
priority mode'
doc:
get: |-
@brief Reads camera's auto-exposure mode.
See uvc_set_ae_mode() for a description of the available modes.
set: |-
@brief Sets camera's auto-exposure mode.
Cameras may support any of the following AE modes:
* UVC_AUTO_EXPOSURE_MODE_MANUAL (1) - manual exposure time, manual iris
* UVC_AUTO_EXPOSURE_MODE_AUTO (2) - auto exposure time, auto iris
* UVC_AUTO_EXPOSURE_MODE_SHUTTER_PRIORITY (4) - manual exposure time, auto iris
* UVC_AUTO_EXPOSURE_MODE_APERTURE_PRIORITY (8) - auto exposure time, manual iris
Most cameras provide manual mode and aperture priority mode.
ae_priority:
control: AE_PRIORITY
length: 1
fields:
priority:
type: int
position: 0
length: 1
doc: '0: frame rate must remain constant; 1: frame rate may be varied
for AE purposes'
doc:
get: |-
@brief Checks whether the camera may vary the frame rate for exposure control reasons.
See uvc_set_ae_priority() for a description of the `priority` field.
set: |-
@brief Chooses whether the camera may vary the frame rate for exposure control reasons.
A `priority` value of zero means the camera may not vary its frame rate. A value of 1
means the frame rate is variable. This setting has no effect outside of the `auto` and
`shutter_priority` auto-exposure modes.
exposure_abs:
control: EXPOSURE_TIME_ABSOLUTE
length: 4
fields:
time:
type: int
position: 0
length: 4
doc: ''
doc:
get: |-
@brief Gets the absolute exposure time.
See uvc_set_exposure_abs() for a description of the `time` field.
set: |-
@brief Sets the absolute exposure time.
The `time` parameter should be provided in units of 0.0001 seconds (e.g., use the value 100
for a 10ms exposure period). Auto exposure should be set to `manual` or `shutter_priority`
before attempting to change this setting.
exposure_rel:
control: EXPOSURE_TIME_RELATIVE
length: 1
fields:
step:
type: int
position: 0
length: 1
signed: true
doc: number of steps by which to change the exposure time, or zero to
set the default exposure time
doc: '@brief {gets_sets} the exposure time relative to the current setting.'
focus_abs:
control: FOCUS_ABSOLUTE
length: 2
fields:
focus:
type: int
position: 0
length: 2
doc: focal target distance in millimeters
doc: '@brief {gets_sets} the distance at which an object is optimally focused.'
focus_rel:
control: FOCUS_RELATIVE
length: 2
fields:
focus_rel:
type: int
position: 0
length: 1
signed: true
doc: TODO
speed:
type: int
position: 1
length: 1
doc: TODO
focus_simple_range:
control: FOCUS_SIMPLE
length: 1
fields:
focus:
type: int
position: 0
length: 1
doc: TODO
focus_auto:
control: FOCUS_AUTO
length: 1
fields:
state:
type: int
position: 0
length: 1
doc: TODO
iris_abs:
control: IRIS_ABSOLUTE
length: 2
fields:
iris:
type: int
position: 0
length: 2
doc: TODO
iris_rel:
control: IRIS_RELATIVE
length: 1
fields:
iris_rel:
type: int
position: 0
length: 1
doc: TODO
zoom_abs:
control: ZOOM_ABSOLUTE
length: 2
fields:
focal_length:
type: int
position: 0
length: 2
doc: TODO
zoom_rel:
control: ZOOM_RELATIVE
length: 3
fields:
zoom_rel:
type: int
position: 0
length: 1
signed: true
doc: TODO
digital_zoom:
type: int
position: 1
length: 1
doc: TODO
speed:
type: int
position: 2
length: 1
doc: TODO
pantilt_abs:
control: PANTILT_ABSOLUTE
length: 8
fields:
pan:
type: int
position: 0
length: 4
signed: true
doc: TODO
tilt:
type: int
position: 4
length: 4
signed: true
doc: TODO
pantilt_rel:
control: PANTILT_RELATIVE
length: 4
fields:
pan_rel:
type: int
position: 0
length: 1
signed: true
doc: TODO
pan_speed:
type: int
position: 1
length: 1
doc: TODO
tilt_rel:
type: int
position: 2
length: 1
signed: true
doc: TODO
tilt_speed:
type: int
position: 3
length: 1
doc: TODO
roll_abs:
control: ROLL_ABSOLUTE
length: 2
fields:
roll:
type: int
position: 0
length: 2
signed: true
doc: TODO
roll_rel:
control: ROLL_RELATIVE
length: 2
fields:
roll_rel:
type: int
position: 0
length: 1
signed: true
doc: TODO
speed:
type: int
position: 1
length: 1
doc: TODO
privacy:
control: PRIVACY
length: 1
fields:
privacy:
type: int
position: 0
length: 1
doc: TODO
digital_window:
control: DIGITAL_WINDOW
length: 12
fields:
window_top:
type: int
position: 0
length: 2
doc: TODO
window_left:
type: int
position: 2
length: 2
doc: TODO
window_bottom:
type: int
position: 4
length: 2
doc: TODO
window_right:
type: int
position: 6
length: 2
doc: TODO
num_steps:
type: int
position: 8
length: 2
doc: TODO
num_steps_units:
type: int
position: 10
length: 2
doc: TODO
digital_roi:
control: REGION_OF_INTEREST
length: 10
fields:
roi_top:
type: int
position: 0
length: 2
doc: TODO
roi_left:
type: int
position: 2
length: 2
doc: TODO
roi_bottom:
type: int
position: 4
length: 2
doc: TODO
roi_right:
type: int
position: 6
length: 2
doc: TODO
auto_controls:
type: int
position: 8
length: 2
doc: TODO
processing_unit:
type: standard
description: Standard processing unit (processes images between other units)
control_prefix: PU
controls:
backlight_compensation:
control: BACKLIGHT_COMPENSATION
length: 2
fields:
backlight_compensation:
type: int
position: 0
length: 2
doc: device-dependent backlight compensation mode; zero means backlight
compensation is disabled
brightness:
control: BRIGHTNESS
length: 2
fields:
brightness:
type: int
position: 0
length: 2
signed: true
doc: TODO
contrast:
control: CONTRAST
length: 2
fields:
contrast:
type: int
position: 0
length: 2
doc: TODO
contrast_auto:
control: CONTRAST_AUTO
length: 1
fields:
contrast_auto:
type: int
position: 0
length: 1
doc: TODO
gain:
control: GAIN
length: 2
fields:
gain:
type: int
position: 0
length: 2
doc: TODO
power_line_frequency:
control: POWER_LINE_FREQUENCY
length: 1
fields:
power_line_frequency:
type: int
position: 0
length: 1
doc: TODO
hue:
control: HUE
length: 2
fields:
hue:
type: int
position: 0
length: 2
signed: true
doc: TODO
hue_auto:
control: HUE_AUTO
length: 1
fields:
hue_auto:
type: int
position: 0
length: 1
doc: TODO
saturation:
control: SATURATION
length: 2
fields:
saturation:
type: int
position: 0
length: 2
doc: TODO
sharpness:
control: SHARPNESS
length: 2
fields:
sharpness:
type: int
position: 0
length: 2
doc: TODO
gamma:
control: GAMMA
length: 2
fields:
gamma:
type: int
position: 0
length: 2
doc: TODO
white_balance_temperature:
control: WHITE_BALANCE_TEMPERATURE
length: 2
fields:
temperature:
type: int
position: 0
length: 2
doc: TODO
white_balance_temperature_auto:
control: WHITE_BALANCE_TEMPERATURE_AUTO
length: 1
fields:
temperature_auto:
type: int
position: 0
length: 1
doc: TODO
white_balance_component:
control: WHITE_BALANCE_COMPONENT
length: 4
fields:
blue:
type: int
position: 0
length: 2
doc: TODO
red:
type: int
position: 2
length: 2
doc: TODO
white_balance_component_auto:
control: WHITE_BALANCE_COMPONENT_AUTO
length: 1
fields:
white_balance_component_auto:
type: int
position: 0
length: 1
doc: TODO
digital_multiplier:
control: DIGITAL_MULTIPLIER
length: 2
fields:
multiplier_step:
type: int
position: 0
length: 2
doc: TODO
digital_multiplier_limit:
control: DIGITAL_MULTIPLIER_LIMIT
length: 2
fields:
multiplier_step:
type: int
position: 0
length: 2
doc: TODO
analog_video_standard:
control: ANALOG_VIDEO_STANDARD
length: 1
fields:
video_standard:
type: int
position: 0
length: 1
doc: TODO
analog_video_lock_status:
control: ANALOG_LOCK_STATUS
length: 1
fields:
status:
type: int
position: 0
length: 1
doc: TODO
selector_unit:
type: standard
description: Standard selector unit (controls connectivity between other units)
control_prefix: SU
controls:
input_select:
control: INPUT_SELECT
length: 1
fields:
selector:
type: int
position: 0
length: 1
doc: TODO