1dcam1394(7D)                        Devices                       dcam1394(7D)
2
3
4

NAME

6       dcam1394 - 1394-based digital camera (IIDC) driver
7

SYNOPSIS

9       #include <sys/dcam/dcam1394_io.h>
10
11

DESCRIPTION

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

READING DATA

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

IOCTL REQUESTS

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

PARAMETER LIST ACCESS

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

PARAMETERS

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

DEVICE SPECIAL FILES

568       /dev/dcamN       Device node for isochronous input from camera.
569
570
571       /dev/dcamctlN    Device node for camera control.
572
573

FILES

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

ATTRIBUTES

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

SEE ALSO

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)
Impressum