1dcam1394(7D) Devices dcam1394(7D)
2
3
4
6 dcam1394 - 1394-based digital camera (IIDC) driver
7
9 #include <sys/dcam/dcam1394_io.h>
10
11
13 The dcam1394 driver supports devices implementing the 1394 Trade Asso‐
14 ciation Digital Camera Specification (also referred to as the IIDC
15 specification). Only a subset of the specification is supported.
16
18 Isochronous data is read from the driver frame-by-frame and is main‐
19 tained within the driver in a ring buffer.
20
21
22 Video frames are read from the isochronous input device using read(2).
23
24
25 The dcam1394_frame_t structure describes the frame layout and is
26 defined as follows:
27
28 struct {
29 unsigned int vid_mode;
30 unsigned int seq_num;
31 hrtime_t timestamp;
32 unsigned char *buff;
33 };
34
35
36
37 The size to allocate for the structure is determined by the video mode
38 for which the camera is configured. Possible values for the vid_mode
39 field are listed under DCAM1394_PARAM_VID_MODE below.
40
42 The following ioctl requests are supported:
43
44 DCAM1394_CMD_CAM_RESET
45
46 Reset the device.
47
48
49 DCAM1394_CMD_REG_READ
50
51 Read the indicated dcam/IIDC register. The argument is a pointer to
52 a dcam1394_reg_io_t structure, which is defined as follows:
53
54 struct {
55 unsigned int offs;
56 unsigned int val;
57 };
58
59 The offs field should be set to the offset of the register from
60 which to read. Register offset values are defined in the 1394 Trade
61 Association Digital Camera Specification.
62
63 After the operation is completed, the camera register value is put
64 in the val field.
65
66
67 DCAM1394_CMD_REG_WRITE
68
69 Write the indicated dcam/IIDC register. The argument is a pointer
70 to a dcam1394_reg_io_t structure (described above).
71
72 The offs field should be set to the offset of the register from
73 which to read. The register offset values are defined in the 1394
74 Trade Association Digital Camera Specification.
75
76 The val field should be set to the value to be written to the cam‐
77 era register.
78
79
80 DCAM1394_CMD_PARAM_GET
81
82 Gets a list of parameters associated with a camera. The argument is
83 a pointer to a dcam1394_param_list_t structure (described below).
84 The parameter list is accessed through macros defined below.
85
86 The paramter list only supports Format 1 video formats.
87
88
89 DCAM1394_CMD_PARAM_SET
90
91 Sets a list of parameters associated with a camera. The argument is
92 a pointer to a dcam1394_param_list_t structure (described below).
93 The parameter list is accessed through macros defined below.
94
95 The paramter list only supports Format 1 video formats.
96
97
98 DCAM1394_CMD_FRAME_RCV_START
99
100 Start receiving video frames from the camera.
101
102 The contents of the ring buffer may be accessed by reading the
103 isochronous stream device.
104
105
106 DCAM1394_CMD_FRAME_RCV_STOP
107
108 Stop receiving frames from the camera.
109
110
111 DCAM1394_CMD_RING_BUFF_FLUSH
112
113 Flush the frames in the ring buffer.
114
115
116 DCAM1394_CMD_FRAME_SEQ_NUM_COUNT_RESET
117
118 Reset frame sequence number.
119
120
122 The parameter list is initialized and access through macros. The data
123 type for the parameter list is dcam1394_param_list_t.
124
125
126 The following macros are used to access the parameter list:
127
128 PARAM_LIST_INIT(param_list)
129
130 Initialize the parameter list.
131
132
133 PARAM_LIST_ADD(param_list, param, subparam)
134
135 Add a parameter to the list.
136
137
138 PARAM_LIST_REMOVE(param_list, param, subparam)
139
140 Remove a parameter from the list.
141
142
143 PARAM_LIST_IS_ENTRY(param_list, param, subparam)
144
145 Indicates if a specific parameter is in the list.
146
147
148 PARAM_VAL(param_list, param, subparam)
149
150 Value of a specified parameter.
151
152
153 PARAM_ERR(param_list, param, subparam)
154
155 Indicates if a specific parameter is successfully set.
156
157
158
159 When no subparam value is required, the value DCAM1394_SUBPARAM_NONE
160 may be used.
161
163 The following parameters may appear in the list:
164
165 DCAM1394_PARAM_CAP_POWER_CTRL
166
167 Queries if the camera can be turned off and on through software.
168 The subparam value is ignored.
169
170
171 DCAM1394_PARAM_POWER
172
173 Controls or queries if the camera is powered up. Verify this fea‐
174 ture using DCAM1394_PARAM_CAP_POWER_CTRL before use. The subparam
175 field is ignored.
176
177
178 DCAM1394_PARAM_CAP_VID_MOD
179
180 Queries if a specific video mode is supported by the camera.
181
182 subparam is one of the following and is used to determine if a
183 specified video mode is supported by the camera:
184
185 DCAM1394_SUBPARAM_VID_MODE_0
186 DCAM1394_SUBPARAM_VID_MODE_YUV_444_160_120
187 Video mode is 4:4:4, YUV color space, 160x120 resolution.
188
189 DCAM1394_SUBPARAM_VID_MODE_1
190 DCAM1394_SUBPARAM_VID_MODE_YUV_422_320_240
191 Video mode is 4:2:2, YUV color space, 320x240 resolution.
192
193 DCAM1394_SUBPARAM_VID_MODE_2
194 DCAM1394_SUBPARAM_VID_MODE_YUV_411_640_480
195 Video mode is 4:1:1, YUV color space, 640x480 resolution.
196
197 DCAM1394_SUBPARAM_VID_MODE_3
198 DCAM1394_SUBPARAM_VID_MODE_YUV_422_640_480
199 Video mode is 4:2:2, YUV color space, 640x480 resolution.
200
201 DCAM1394_SUBPARAM_VID_MODE_4
202 DCAM1394_SUBPARAM_VID_MODE_RGB_640_480
203 Video mode is RGB color space, 640x480 resolution.
204
205 DCAM1394_SUBPARAM_VID_MODE_5
206 DCAM1394_SUBPARAM_VID_MODE_Y_640_480
207 Video mode is Y color space, 640x480 resolution.
208
209
210
211 DCAM1394_PARAM_VID_MODE
212
213 Controls or queries the current video mode of the camera. The sub‐
214 param field is ignored. When selecting the video mode, it should be
215 compatible with the capability of the camera, which may be deter‐
216 mined by checking the DCAM1394_PARAM_CAP_VID_MODE parameter.
217
218 The value of this parameter may be one of the following:
219
220 DCAM1394_VID_MODE_0
221 DCAM1394_VID_MODE_YUV_444_160_120
222 Video mode is 4:4:4, YUV color space, 160x120 resolution.
223
224 DCAM1394_VID_MODE_1
225 DCAM1394_VID_MODE_YUV_422_320_240
226 Video mode is 4:2:2, YUV color space, 320x240 resolution.
227
228 DCAM1394_VID_MODE_2
229 DCAM1394_VID_MODE_YUV_411_640_480
230 Video mode is 4:1:1, YUV color space, 640x480 resolution.
231
232 DCAM1394_VID_MODE_3
233 DCAM1394_VID_MODE_YUV_422_640_480
234 Video mode is 4:2:2, YUV color space, 640x480 resolution.
235
236 DCAM1394_VID_MODE_4
237 DCAM1394_VID_MODE_RGB_640_480
238 Video mode is RGB color space, 640x480 resolution.
239
240 DCAM1394_VID_MODE_5
241 DCAM1394_VID_MODE_Y_640_480
242 Video mode is Y color space, 640x480 resolution.
243
244
245
246 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_0
247
248 Queries if a specific frame rate is supported by the camera in
249 video mode 0 (4:4:4, YUV, 160x120).
250
251 subparam is one of the following and used to determine if a speci‐
252 fied frame rate is supported by the camera:
253
254 DCAM1394_SUBPARAM_FRAME_RATE_0
255 DCAM1394_SUBPARAM_FRAME_RATE_3_75_FPS
256 Frame rate is 3.75 frames/second.
257
258 DCAM1394_SUBPARAM_FRAME_RATE_1
259 DCAM1394_SUBPARAM_FRAME_RATE_7_5_FPS
260 Frame rate is 7.5 frames/second.
261
262 DCAM1394_SUBPARAM_FRAME_RATE_2
263 DCAM1394_SUBPARAM_FRAME_RATE_15_FPS
264 Frame rate is 15 frames/second.
265
266 DCAM1394_SUBPARAM_FRAME_RATE_3
267 DCAM1394_SUBPARAM_FRAME_RATE_30_FPS
268 Frame rate is 30 frames/second.
269
270 DCAM1394_SUBPARAM_FRAME_RATE_4
271 DCAM1394_SUBPARAM_FRAME_RATE_60_FPS
272 Frame rate is 60 frames/second.
273
274
275
276 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_1
277
278 Queries if a specific frame rate is supported by the camera in
279 video mode 1 (4:2:2, YUV, 320x240). See
280 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_0 for a listing of valid
281 subparam values.
282
283
284 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_2
285
286 Queries if a specific frame rate is supported by the camera in
287 video mode 2 (4:1:1, YUV, 640x480). See
288 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_0 for a listing of valid
289 subparam values.
290
291
292 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_3
293
294 Queries if a specific frame rate is supported by the camera in
295 video mode 3 (4:2:2, YUV, 640x480). See
296 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_0 for a listing of valid
297 subparam values.
298
299
300 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_4
301
302 Queries if a specific frame rate is supported by the camera in
303 video mode 4. (RGB, 640x480). See
304 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_0 for a listing of valid
305 subparam values.
306
307
308 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_5
309
310 Queries if a specific frame rate is supported by the camera in
311 video mode 5. (Y, 640x480). See
312 DCAM1394_PARAM_CAP_FRAME_RATE_VID_MODE_0 for a listing of valid
313 subparam values.
314
315
316 DCAM1394_PARAM_FRAME_RATE
317
318 Controls or queries the current frame rate of the camera. The sub‐
319 param field is ignored. When selecting a frame rate, it should be
320 compatible with the capability of the camera, which can be deter‐
321 mined by querying one of the frame rate capability parameters
322 above.
323
324 The value of this parameter may be one of the following:
325
326 DCAM1394_FRAME_RATE_0
327 DCAM1394_3_75_FPS
328 The frame rate is 3.75 frames per second.
329
330 DCAM1394_FRAME_RATE_1
331 DCAM1394_7_5_FPS
332 The frame rate is 7.5 frames per second.
333
334 DCAM1394_FRAME_RATE_2
335 DCAM1394_15_FPS
336 The frame rate is 15 frames per second.
337
338 DCAM1394_FRAME_RATE_3
339 DCAM1394_30_FPS
340 The frame rate is 30 frames per second.
341
342 DCAM1394_FRAME_RATE_4
343 DCAM1394_60_FPS
344 The frame rate is 60 frames per second.
345
346
347
348 DCAM1394_PARAM_RING_BUFF_CAPACITY
349
350 Controls or queries the number of frames that the ring buffer may
351 hold. This value can range between 2 and 30. The subparam field is
352 ignored.
353
354
355 DCAM1394_PARAM_RING_BUFF_NUM_FRAMES_READY
356
357 Queries the number of frames in the ring buffer ready to be
358 accessed. The subparam field is ignored.
359
360
361 DCAM1394_PARAM_RING_BUFF_READ_PTR_INCR
362
363 Controls or queries the number of bytes to advance the read pointer
364 as it consumes data from the ring buffer. The subparam field is
365 ignored.
366
367
368 DCAM1394_PARAM_FRAME_NUM_BYTES
369
370 Queries the number of bytes in a frame at the current video mode.
371 The subparam field is ignored.
372
373
374 DCAM1394_PARAM_STATUS
375
376 Queries the parameter status. The subparam field is ignored.
377
378 The values for the parameter status is a bit field with the follow‐
379 ing values possibly set:
380
381 DCAM1394_STATUS_FRAME_RCV_DONE
382
383 Frame successfully received.
384
385
386 DCAM1394_STATUS_RING_BUFF_LOST_FRAME
387
388 A frame has been lost while processing the ring buffer.
389
390
391 DCAM1394_STATUS_PARAM_CHANGE
392
393 A parameter has been changed.
394
395
396 DCAM1394_STATUS_FRAME_SEQ_NUM_COUNT_OVERFLOW
397
398 Frame sequence number has reached its maximum possible value
399 and has overflowed.
400
401
402 DCAM1394_STATUS_CAM_UNPLUG
403
404 Camera has been unplugged.
405
406
407
408 DCAM1394_PARAM_BRIGHTNESS
409
410 Query or control a camera feature. This feature queries or controls
411 the brightness of the camera.
412
413 DCAM1394_SUBPARAM_PRESENCE
414
415 Indicates if the feature is available.
416
417
418 DCAM1394_SUBPARAM_CAP_ON_OFF
419
420 Indicates if the feature may be enabled and disabled. May only
421 be queried.
422
423
424 DCAM1394_SUBPARAM_ON_OFF
425
426 Indicates if the feature is enabled.
427
428
429 DCAM1394_SUBPARAM_CAP_CTRL_AUTO
430
431 Indicates if the automatic control of this feature is supported
432 by the camera. May only be queried.
433
434
435 DCAM1394_SUBPARAM_CAP_CTRL_MANUAL
436
437 Indicates if the manual control of this feature is supported by
438 the camera. May only be queried.
439
440
441 DCAM1394_SUBPARAM_CTRL_MODE
442
443 Indicates if the feature is in auto or manual mode.
444
445
446 DCAM1394_SUBPARAM_MIN_VAL
447
448 Minimum value of the feature. May only be queried.
449
450
451 DCAM1394_SUBPARAM_MAX_VAL
452
453 Maximum value of the feature. May only be queried.
454
455
456 DCAM1394_SUBPARAM_VALUE
457
458 Current value of the feature.
459
460
461 DCAM1394_SUBPARAM_CAP_READ
462
463 Indicates if the feature may be read. May only be
464 queried.
465
466
467
468 DCAM1394_PARAM_EXPOSURE
469
470 Query or control a camera feature. This feature queries or controls
471 the exposure of the camera. The subparams supported by this feature
472 are described under DCAM1394_PARAM_BRIGHTNESS.
473
474
475 DCAM1394_PARAM_SHARPNESS
476
477 Query or control a camera feature. This feature queries or controls
478 the sharpness of the camera. The subparams supported by this fea‐
479 ture are described under DCAM1394_PARAM_BRIGHTNESS.
480
481
482 DCAM1394_PARAM_WHITE_BALANCE
483
484 Query or control a camera feature. This feature queries or controls
485 the white balance of the camera. The subparams supported by this
486 feature are described under DCAM1394_PARAM_BRIGHTNESS, except for
487 DCAM1394_SUBPARAM_VALUE. DCAM1394_SUBPARAM_VALUE is replaced by two
488 distinct subparams.
489
490 DCAM1394_SUBPARAM_U_VALUE U or B component of the white balance.
491
492
493 DCAM1394_SUBPARAM_V_VALUE V or R component of the white balance.
494
495
496
497 DCAM1394_PARAM_HUE
498
499 Query or control a camera feature. This feature queries or controls
500 the hue of the camera. The subparams supported by this feature are
501 described under DCAM1394_PARAM_BRIGHTNESS.
502
503
504 DCAM1394_PARAM_SATURATION
505
506 Query or control a camera feature. This feature queries or controls
507 the saturation of the camera. The subparams supported by this fea‐
508 ture are described under DCAM1394_PARAM_BRIGHTNESS.
509
510
511 DCAM1394_PARAM_GAMMA
512
513 Query or control a camera feature. This feature queries or controls
514 the gamma of the camera. The subparams supported by this feature
515 are described under DCAM1394_PARAM_BRIGHTNESS.
516
517
518 DCAM1394_PARAM_SHUTTER
519
520 Query or control a camera feature. This feature queries or controls
521 the sharpness of the camera. The subparams supported by this fea‐
522 ture are described under DCAM1394_PARAM_BRIGHTNESS.
523
524
525 DCAM1394_PARAM_GAIN
526
527 Query or control a camera feature. This feature queries or controls
528 the gain of the camera. The subparams supported by this feature are
529 described under DCAM1394_PARAM_BRIGHTNESS.
530
531
532 DCAM1394_PARAM_IRIS
533
534 Query or control a camera feature. This feature queries or controls
535 the iris of the camera. The subparams supported by this feature are
536 described under DCAM1394_PARAM_BRIGHTNESS.
537
538
539 DCAM1394_PARAM_FOCUS
540
541 Query or control a camera feature. This feature queries or controls
542 the focus of the camera. The subparams supported by this feature
543 are described under DCAM1394_PARAM_BRIGHTNESS.
544
545
546 DCAM1394_PARAM_ZOOM
547
548 Query or control a camera feature. This feature queries or controls
549 the zoom of the camera. The subparams supported by this feature are
550 described under DCAM1394_PARAM_BRIGHTNESS.
551
552
553 DCAM1394_PARAM_PAN
554
555 Query or control a camera feature. This feature queries or controls
556 the pan of the camera. The subparams supported by this feature are
557 described under DCAM1394_PARAM_BRIGHTNESS.
558
559
560 DCAM1394_PARAM_TILT
561
562 Query or control a camera feature. This feature queries or controls
563 the tilt of the camera.The subparams supported by this feature are
564 described under DCAM1394_PARAM_BRIGHTNESS.
565
566
568 /dev/dcamN Device node for isochronous input from camera.
569
570
571 /dev/dcamctlN Device node for camera control.
572
573
575 kernel/drv/sparcv9/dcam1394
576
577 64-bit ELF kernel module.
578
579
580 kernel/drv/dcam1394
581
582 32-bit ELF kernel module.
583
584
586 See attributes(5) for descriptions of the following attributes:
587
588
589
590
591 ┌─────────────────────────────┬─────────────────────────────┐
592 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
593 ├─────────────────────────────┼─────────────────────────────┤
594 │Interface Stability │Evolving │
595 └─────────────────────────────┴─────────────────────────────┘
596
598 attributes(5), hci1394(7D)
599
600
601 1394 Trade Association Digital Camera Specification, Version 1.04 -
602 1996
603
604
605 IEEE Std 1394-2000 Standard for a High Performance Serial Bus - 2000
606
607
608
609SunOS 5.11 19 May 2004 dcam1394(7D)