forked from avin2/SensorKinect
-
Notifications
You must be signed in to change notification settings - Fork 0
/
XnStreamParams.h
639 lines (574 loc) · 21.5 KB
/
XnStreamParams.h
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
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
/****************************************************************************
* *
* PrimeSense Sensor 5.x Alpha *
* Copyright (C) 2011 PrimeSense Ltd. *
* *
* This file is part of PrimeSense Sensor. *
* *
* PrimeSense Sensor is free software: you can redistribute it and/or modify*
* it under the terms of the GNU Lesser General Public License as published *
* by the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* PrimeSense Sensor is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with PrimeSense Sensor. If not, see <http://www.gnu.org/licenses/>.*
* *
****************************************************************************/
#ifndef _XN_STREAM_PARAMS_H_
#define _XN_STREAM_PARAMS_H_
//---------------------------------------------------------------------------
// Includes
//---------------------------------------------------------------------------
#include <XnStreamFormats.h>
//---------------------------------------------------------------------------
// Types
//---------------------------------------------------------------------------
/** The maximum permitted Xiron device name string length. */
#define XN_DEVICE_MAX_STRING_LENGTH 200
//---------------------------------------------------------------------------
// Modules Names
//---------------------------------------------------------------------------
#define XN_MODULE_NAME_DEVICE "Device"
#define XN_MODULE_NAME_FIXED_PARAMS "FixedParams"
#define XN_MODULE_NAME_SHIFTS "Shifts"
#ifndef XN_USE_DEVICE_3_6
#pragma deprecated ("XN_MODULE_NAME_FIXED_PARAMS", "XN_MODULE_NAME_SHIFTS")
#endif
//---------------------------------------------------------------------------
// Streams Types
//---------------------------------------------------------------------------
#define XN_STREAM_TYPE_DEPTH "Depth"
#define XN_STREAM_TYPE_IMAGE "Image"
#define XN_STREAM_TYPE_IR "IR"
#define XN_STREAM_TYPE_AUDIO "Audio"
//---------------------------------------------------------------------------
// Streams Names
//---------------------------------------------------------------------------
#define XN_STREAM_NAME_DEPTH XN_STREAM_TYPE_DEPTH
#define XN_STREAM_NAME_IMAGE XN_STREAM_TYPE_IMAGE
#define XN_STREAM_NAME_IR XN_STREAM_TYPE_IR
#define XN_STREAM_NAME_AUDIO XN_STREAM_TYPE_AUDIO
//---------------------------------------------------------------------------
// General Properties
//---------------------------------------------------------------------------
#define XN_STREAM_PROPERTY_TYPE "Type"
#define XN_STREAM_PROPERTY_IS_STREAM "IsStream"
#define XN_STREAM_PROPERTY_IS_FRAME_BASED "IsFrameBased"
#define XN_STREAM_PROPERTY_IS_PIXEL_BASED "IsPixelBased"
#define XN_STREAM_PROPERTY_IS_STREAMING "IsStreaming"
/** Integer */
#define XN_MODULE_PROPERTY_LOCK "Lock"
//---------------------------------------------------------------------------
// General Stream Properties
//---------------------------------------------------------------------------
/** Integer */
#define XN_STREAM_PROPERTY_STATE "State"
/** Integer */
#define XN_STREAM_PROPERTY_REQUIRED_DATA_SIZE "RequiredDataSize"
/** Integer */
#define XN_STREAM_PROPERTY_FRAME_ID "FrameId"
/** Integer */
#define XN_STREAM_PROPERTY_TIMESTAMP "Timestamp"
/** Integer */
#define XN_STREAM_PROPERTY_IS_NEW_DATA "IsNew"
/** Integer (XnOutputFormats)*/
#define XN_STREAM_PROPERTY_OUTPUT_FORMAT "OutputFormat"
/** General (void*) */
#define XN_STREAM_PROPERTY_BUFFER "Buffer"
/** Integer */
#define XN_STREAM_PROPERTY_BUFFER_SIZE "BufferSize"
/** Integer */
#define XN_STREAM_PROPERTY_COMPRESSION "Compression"
/** String */
#define XN_STREAM_PROPERTY_SHARED_BUFFER_NAME "SharedBufferName"
/** Boolean */
#define XN_STREAM_PROPERTY_ACTUAL_READ_DATA "ActualReadData"
/** Integer */
#define XN_STREAM_PROPERTY_BUFFER_ALLOCATED_SIZE XN_STREAM_PROPERTY_REQUIRED_DATA_SIZE
#ifndef USE_DEVICE_3_6
#pragma deprecated ("XN_STREAM_PROPERTY_BUFFER_ALLOCATED_SIZE")
#endif
//---------------------------------------------------------------------------
// Frame-Based Stream Properties (Depth, Image, IR)
//---------------------------------------------------------------------------
/** Integer */
#define XN_STREAM_PROPERTY_FPS "FPS"
/** Integer */
#define XN_STREAM_PROPERTY_NUMBER_OF_FRAMES "NumberOfFrames"
/** Integer */
#define XN_STREAM_PROPERTY_INPUT_FORMAT "InputFormat"
/** XnDynamicSizeBuffer */
#define XN_STREAM_PROPERTY_LAST_RAW_FRAME "LastRawFrame"
/** XnGeneralBuffer array */
#define XN_STREAM_PROPERTY_EXTERNAL_BUFFER_POOL "ExternalBufferPool"
//---------------------------------------------------------------------------
// Pixel-Based Stream Properties (Depth, Image, IR)
//---------------------------------------------------------------------------
/** XnResolutions */
#define XN_STREAM_PROPERTY_RESOLUTION "Resolution"
/** Integer */
#define XN_STREAM_PROPERTY_X_RES "XRes"
/** Integer */
#define XN_STREAM_PROPERTY_Y_RES "YRes"
/** Integer */
#define XN_STREAM_PROPERTY_BYTES_PER_PIXEL "BytesPerPixel"
/** XnCropping */
#define XN_STREAM_PROPERTY_CROPPING "Cropping"
/** Boolean */
#define XN_STREAM_PROPERTY_WHITE_BALANCE_ENABLED "WhiteBalancedEnabled"
/** Integer */
#define XN_STREAM_PROPERTY_GAIN "Gain"
/** Integer */
#define XN_STREAM_PROPERTY_SUPPORT_MODES_COUNT "SupportedModesCount"
/** General (XnCmosPreset array) */
#define XN_STREAM_PROPERTY_SUPPORT_MODES "SupportedModes"
//---------------------------------------------------------------------------
// Depth Specific Properties
//---------------------------------------------------------------------------
/** Integer */
#define XN_STREAM_PROPERTY_HOLE_FILTER "HoleFilter"
/** Integer */
#define XN_STREAM_PROPERTY_MIN_DEPTH "MinDepthValue"
/** Integer */
#define XN_STREAM_PROPERTY_MAX_DEPTH "MaxDepthValue"
/** Integer */
#define XN_STREAM_PROPERTY_SHADOW "ShadowValue"
/** Integer */
#define XN_STREAM_PROPERTY_NO_SAMPLE "NoSampleValue"
/** Boolean */
#define XN_STREAM_PROPERTY_REGISTRATION "Registration"
/** XnProcessingType */
#define XN_STREAM_PROPERTY_REGISTRATION_TYPE "RegistrationType"
/** XnDepthAGCBin* */
#define XN_STREAM_PROPERTY_AGC_BIN "AGCBin"
/** Integer */
#define XN_STREAM_PROPERTY_CONST_SHIFT "ConstShift"
/** Integer */
#define XN_STREAM_PROPERTY_PIXEL_SIZE_FACTOR "PixelSizeFactor"
/** Integer */
#define XN_STREAM_PROPERTY_MAX_SHIFT "MaxShift"
/** Integer */
#define XN_STREAM_PROPERTY_PARAM_COEFF "ParamCoeff"
/** Integer */
#define XN_STREAM_PROPERTY_SHIFT_SCALE "ShiftScale"
/** XN_DEPTH_TYPE[] */
#define XN_STREAM_PROPERTY_S2D_TABLE "S2D"
/** XnUInt16[] */
#define XN_STREAM_PROPERTY_D2S_TABLE "D2S"
/** Integer */
#define XN_STREAM_PROPERTY_DEVICE_MAX_DEPTH "DeviceMaxDepth"
/** XN_DEPTH_TYPE */
#define XN_STREAM_PROPERTY_ZERO_PLANE_DISTANCE "ZPD"
/** Real */
#define XN_STREAM_PROPERTY_ZERO_PLANE_PIXEL_SIZE "ZPPS"
/** Real */
#define XN_STREAM_PROPERTY_EMITTER_DCMOS_DISTANCE "LDDIS"
/** Real */
#define XN_STREAM_PROPERTY_DCMOS_RCMOS_DISTANCE "DCRCDIS"
/** Boolean */
#define XN_STREAM_PROPERTY_GMC_MODE "GmcMode"
/** Boolean */
#define XN_STREAM_PROPERTY_CLOSE_RANGE "CloseRange"
/** XnUInt16* (general) */
#define XN_STREAM_PROPERTY_SHIFTS_MAP "ShiftsMap"
//---------------------------------------------------------------------------
// Shifts Properties (up to v3.6)
//---------------------------------------------------------------------------
/** Integer */
#define XN_MODULE_PROPERTY_CONST_SHIFT XN_STREAM_PROPERTY_CONST_SHIFT
/** Integer */
#define XN_MODULE_PROPERTY_PIXEL_SIZE_FACTOR XN_STREAM_PROPERTY_PIXEL_SIZE_FACTOR
/** Integer */
#define XN_MODULE_PROPERTY_MAX_SHIFT XN_STREAM_PROPERTY_MAX_SHIFT
/** Integer */
#define XN_MODULE_PROPERTY_PARAM_COEFF XN_STREAM_PROPERTY_PARAM_COEFF
/** Integer */
#define XN_MODULE_PROPERTY_SHIFT_SCALE XN_STREAM_PROPERTY_SHIFT_SCALE
/** XN_DEPTH_TYPE[] */
#define XN_MODULE_PROPERTY_S2D_TABLE XN_STREAM_PROPERTY_S2D_TABLE
/** XnUInt16[] */
#define XN_MODULE_PROPERTY_D2S_TABLE XN_STREAM_PROPERTY_D2S_TABLE
#ifndef XN_USE_DEVICE_3_6
#pragma deprecated ("XN_MODULE_PROPERTY_CONST_SHIFT", "XN_MODULE_PROPERTY_PIXEL_SIZE_FACTOR", "XN_MODULE_PROPERTY_MAX_SHIFT")
#pragma deprecated ("XN_MODULE_PROPERTY_PARAM_COEFF", "XN_MODULE_PROPERTY_SHIFT_SCALE")
#pragma deprecated ("XN_MODULE_PROPERTY_S2D_TABLE", "XN_MODULE_PROPERTY_D2S_TABLE")
#endif
//---------------------------------------------------------------------------
// FixedParams Properties (up to v3.6)
//---------------------------------------------------------------------------
/** XN_DEPTH_TYPE */
#define XN_MODULE_PROPERTY_ZERO_PLANE_DISTANCE XN_STREAM_PROPERTY_ZERO_PLANE_DISTANCE
/** Real */
#define XN_MODULE_PROPERTY_ZERO_PLANE_PIXEL_SIZE XN_STREAM_PROPERTY_ZERO_PLANE_PIXEL_SIZE
/** Real */
#define XN_MODULE_PROPERTY_EMITTER_DCMOS_DISTANCE XN_STREAM_PROPERTY_EMITTER_DCMOS_DISTANCE
#ifndef XN_USE_DEVICE_3_6
#pragma deprecated ("XN_MODULE_PROPERTY_ZERO_PLANE_DISTANCE", "XN_MODULE_PROPERTY_ZERO_PLANE_PIXEL_SIZE", "XN_MODULE_PROPERTY_EMITTER_DCMOS_DISTANCE")
#endif
//---------------------------------------------------------------------------
// Image Specific Properties
//---------------------------------------------------------------------------
/** Integer */
#define XN_STREAM_PROPERTY_FLICKER "Flicker"
/** Integer */
#define XN_STREAM_PROPERTY_QUALITY "Quality"
/** Float */
#define XN_STREAM_PROPERTY_BRIGHTNESS XN_CAPABILITY_BRIGHTNESS
/** Float */
#define XN_STREAM_PROPERTY_CONTRAST XN_CAPABILITY_CONTRAST
/** Float */
#define XN_STREAM_PROPERTY_SATURATION XN_CAPABILITY_SATURATION
/** Float */
#define XN_STREAM_PROPERTY_SHARPNESS XN_CAPABILITY_SHARPNESS
/** Float */
#define XN_STREAM_PROPERTY_COLOR_TEMPERATURE XN_CAPABILITY_COLOR_TEMPERATURE
/** Float */
#define XN_STREAM_PROPERTY_BACKLIGHT_COMPENSATION XN_CAPABILITY_BACKLIGHT_COMPENSATION
/** Float */
#define XN_STREAM_PROPERTY_ZOOM XN_CAPABILITY_ZOOM
/** Integer (in microseconds) */
#define XN_STREAM_PROPERTY_EXPOSURE XN_CAPABILITY_EXPOSURE
/** Float */
#define XN_STREAM_PROPERTY_PAN XN_CAPABILITY_PAN
/** Float */
#define XN_STREAM_PROPERTY_TILT XN_CAPABILITY_TILT
/** Boolean */
#define XN_STREAM_PROPERTY_LOW_LIGHT_COMPENSATION XN_CAPABILITY_LOW_LIGHT_COMPENSATION
//---------------------------------------------------------------------------
// Audio Specific Properties
//---------------------------------------------------------------------------
/** XnSampleRate */
#define XN_STREAM_PROPERTY_SAMPLE_RATE "SampleRate"
/** Integer */
#define XN_STREAM_PROPERTY_LEFT_CHANNEL_VOLUME "LeftChannelVolume"
/** Integer */
#define XN_STREAM_PROPERTY_RIGHT_CHANNEL_VOLUME "RightChannelVolume"
/** Integer */
#define XN_STREAM_PROPERTY_NUMBER_OF_CHANNELS "NumOfChannels"
/** Boolean */
#define XN_STREAM_PROPERTY_IS_STEREO "IsStereo"
/** Integer */
#define XN_STREAM_PROPERTY_READ_MODE "ReadMode"
/** Integer */
#define XN_STREAM_PROPERTY_READ_CHUNK_SIZE "ReadChunkSize"
/** Integer */
#define XN_STREAM_PROPERTY_READ_SYNC "AudioReadSync"
#ifndef XN_USE_DEVICE_3_6
#pragma deprecated ("XN_STREAM_PROPERTY_READ_MODE", "XN_STREAM_PROPERTY_READ_SYNC")
#endif
//---------------------------------------------------------------------------
// DeviceParams Properties
//---------------------------------------------------------------------------
/** XnSDKVersion */
#define XN_MODULE_PROPERTY_SDK_VERSION "SDKVersion"
/** String */
#define XN_MODULE_PROPERTY_DEVICE_NAME "DeviceName"
/** String */
#define XN_MODULE_PROPERTY_USB_PATH "USBPath"
/** Integer (XnSensorUsbInterface) */
#define XN_MODULE_PROPERTY_USB_INTERFACE "UsbInterface"
/** Integer */
#define XN_MODULE_PROPERTY_NUMBER_OF_BUFFERS "NumberOfBuffers"
/** Boolean */
#define XN_MODULE_PROPERTY_READ_ENDPOINT_1 "ReadEndpoint1"
/** Boolean */
#define XN_MODULE_PROPERTY_READ_ENDPOINT_2 "ReadEndpoint2"
/** Boolean */
#define XN_MODULE_PROPERTY_READ_ENDPOINT_3 "ReadEndpoint3"
/** Boolean */
#define XN_MODULE_PROPERTY_RESET_SENSOR_ON_STARTUP "ResetSensorOnStartup"
/** Boolean */
#define XN_MODULE_PROPERTY_LEAN_INIT "LeanInit"
/** String */
#define XN_MODULE_PROPERTY_ID "ID"
/** String */
#define XN_MODULE_PROPERTY_PRIMARY_STREAM "PrimaryStream"
/** Boolean */
#define XN_MODULE_PROPERTY_MIRROR "Mirror"
/** Boolean */
#define XN_MODULE_PROPERTY_READ_DATA "ReadData"
/** Integer */
#define XN_MODULE_PROPERTY_READ_WRITE_MODE "ReadWriteMode"
/** Integer */
#define XN_MODULE_PROPERTY_SHARE_MODE "ShareMode"
/** Boolean */
#define XN_MODULE_PROPERTY_FRAME_DELAY "FrameDelay"
/** Boolean */
#define XN_MODULE_PROPERTY_FRAME_SYNC "FrameSync"
/** XnCmosBlankingUnits */
#define XN_MODULE_PROPERTY_CMOS_BLANKING_UNITS "CmosBlankingUnits"
/** XnCmosBlankingTime */
#define XN_MODULE_PROPERTY_CMOS_BLANKING_TIME "CmosBlankingTime"
/** XnInnerParam */
#define XN_MODULE_PROPERTY_FIRMWARE_PARAM "FirmwareParam"
/** XnVersions */
#define XN_MODULE_PROPERTY_VERSION "Version"
/* XnDynamicSizeBuffer */
#define XN_MODULE_PROPERTY_FIXED_PARAMS "FixedParams"
/** Integer */
#define XN_MODULE_PROPERTY_RESET "Reset"
/** Integer */
#define XN_MODULE_PROPERTY_FIRMWARE_MODE "FirmwareMode"
/** Boolean */
#define XN_MODULE_PROPERTY_HIGH_RES_TIMESTAMPS "HighResTimestamps"
/** Boolean */
#define XN_MODULE_PROPERTY_HOST_TIMESTAMPS "HostTimestamps"
/** Boolean */
#define XN_MODULE_PROPERTY_CLOSE_STREAMS_ON_SHUTDOWN "CloseStreamsOnShutdown"
/** Integer */
#define XN_MODULE_PROPERTY_SERVER_NO_CLIENTS_TIMEOUT "ServerNoClientsTimeout"
/** Integer */
#define XN_MODULE_PROPERTY_SERVER_START_NEW_LOG_FILE "ServerStartNewLogFile"
/** String */
#define XN_MODULE_PROPERTY_SERVER_LOG_FILE "ServerLogFile"
/** Integer */
#define XN_MODULE_PROPERTY_ERROR_STATE "ErrorState"
/** Boolean */
#define XN_MODULE_PROPERTY_ENABLE_MULTI_PROCESS "EnableMultiProcess"
/** Boolean */
#define XN_MODULE_PROPERTY_ENABLE_MULTI_USERS "EnableMultiUsers"
/** String */
#define XN_MODULE_PROPERTY_PHYSICAL_DEVICE_NAME "PhysicalDeviceName"
/** String */
#define XN_MODULE_PROPERTY_VENDOR_SPECIFIC_DATA "VendorSpecificData"
/** String */
#define XN_MODULE_PROPERTY_SENSOR_PLATFORM_STRING "SensorPlatformString"
/** Boolean */
#define XN_MODULE_PROPERTY_AUDIO_SUPPORTED "AudioSupported"
/** Boolean */
#define XN_MODULE_PROPERTY_IMAGE_SUPPORTED "ImageSupported"
#define XN_MODULE_PROPERTY_IMAGE_CONTROL "ImageControl"
#define XN_MODULE_PROPERTY_DEPTH_CONTROL "DepthControl"
#define XN_MODULE_PROPERTY_AHB "AHB"
//---------------------------------------------------------------------------
// Defines
//---------------------------------------------------------------------------
#define XN_PRIMARY_STREAM_ANY "Any"
#define XN_PRIMARY_STREAM_NONE "None"
#define XN_MAX_LOG_SIZE (6*1024)
#define XN_GAIN_AUTO 0U
#define XN_QVGA_X_RES 320
#define XN_QVGA_Y_RES 240
#define XN_VGA_X_RES 640
#define XN_VGA_Y_RES 480
#define XN_SXGA_X_RES 1280
#define XN_SXGA_Y_RES 1024
#define XN_UXGA_X_RES 1600
#define XN_UXGA_Y_RES 1200
#define XN_IO_MAX_I2C_BUFFER_SIZE 10
//---------------------------------------------------------------------------
// Enums - values of various properties
//---------------------------------------------------------------------------
typedef enum XnResolutions
{
XN_RESOLUTION_CUSTOM = -1,
XN_RESOLUTION_QVGA = 0, // 320x240
XN_RESOLUTION_VGA = 1, // 640x480
XN_RESOLUTION_SXGA = 2, // 1280x1024
XN_RESOLUTION_UXGA = 3, // 1600x1200
XN_RESOLUTION_QQVGA = 4, // 160x120
XN_RESOLUTION_QCIF = 5, // 176x144
XN_RESOLUTION_240P = 6, // 432x240
XN_RESOLUTION_CIF = 7, // 352x288
XN_RESOLUTION_WVGA = 8, // 640x360
XN_RESOLUTION_480P = 9, // 864x480
XN_RESOLUTION_800_448 = 10, // 800x448
XN_RESOLUTION_SVGA = 11, // 800x600
XN_RESOLUTION_576P = 12, // 1024x576
XN_RESOLUTION_DV = 13, // 960x720
XN_RESOLUTION_720P = 14, // 1280x720
XN_RESOLUTION_1280_960 = 15, // 1280x960
} XnResolutions;
typedef enum
{
XN_SENSOR_FW_VER_UNKNOWN = 0,
XN_SENSOR_FW_VER_0_17 = 1,
XN_SENSOR_FW_VER_1_1 = 2,
XN_SENSOR_FW_VER_1_2 = 3,
XN_SENSOR_FW_VER_3_0 = 4,
XN_SENSOR_FW_VER_4_0 = 5,
XN_SENSOR_FW_VER_5_0 = 6,
XN_SENSOR_FW_VER_5_1 = 7,
XN_SENSOR_FW_VER_5_2 = 8,
XN_SENSOR_FW_VER_5_3 = 9,
XN_SENSOR_FW_VER_5_4 = 10,
XN_SENSOR_FW_VER_5_5 = 11,
XN_SENSOR_FW_VER_5_6 = 12,
XN_SENSOR_FW_VER_5_7 = 13,
} XnFWVer;
typedef enum
{
XN_MODE_PS = 0,
XN_MODE_MAINTENANCE = 1,
XN_MODE_SAFE_MODE = 2,
} XnParamCurrentMode;
typedef enum {
XN_SENSOR_VER_UNKNOWN = 0,
XN_SENSOR_VER_2_0 = 1,
XN_SENSOR_VER_3_0 = 2,
XN_SENSOR_VER_4_0 = 3,
XN_SENSOR_VER_5_0 = 4
} XnSensorVer;
typedef enum {
XN_SENSOR_HW_VER_UNKNOWN = 0,
XN_SENSOR_HW_VER_FPDB_10 = 1,
XN_SENSOR_HW_VER_CDB_10 = 2,
XN_SENSOR_HW_VER_RD_3 = 3,
XN_SENSOR_HW_VER_RD_5 = 4,
XN_SENSOR_HW_VER_RD1081 = 5,
XN_SENSOR_HW_VER_RD1082 = 6
} XnHWVer;
typedef enum {
XN_SENSOR_CHIP_VER_UNKNOWN = 0,
XN_SENSOR_CHIP_VER_PS1000 = 1,
XN_SENSOR_CHIP_VER_PS1080 = 2,
XN_SENSOR_CHIP_VER_PS1080A6 = 3
} XnChipVer;
typedef enum
{
XN_CMOS_TYPE_IMAGE = 0,
XN_CMOS_TYPE_DEPTH = 1,
XN_CMOS_COUNT
} XnCMOSType;
typedef enum
{
XN_IO_IMAGE_FORMAT_BAYER = 0,
XN_IO_IMAGE_FORMAT_YUV422 = 1,
XN_IO_IMAGE_FORMAT_JPEG = 2,
XN_IO_IMAGE_FORMAT_JPEG_420 = 3,
XN_IO_IMAGE_FORMAT_JPEG_MONO = 4,
XN_IO_IMAGE_FORMAT_UNCOMPRESSED_YUV422 = 5,
XN_IO_IMAGE_FORMAT_UNCOMPRESSED_BAYER = 6,
XN_IO_IMAGE_FORMAT_UNCOMPRESSED_GRAY8 = 7,
} XnIOImageFormats;
typedef enum
{
XN_IO_DEPTH_FORMAT_UNCOMPRESSED_16_BIT = 0,
XN_IO_DEPTH_FORMAT_COMPRESSED_PS = 1,
XN_IO_DEPTH_FORMAT_UNCOMPRESSED_10_BIT = 2,
XN_IO_DEPTH_FORMAT_UNCOMPRESSED_11_BIT = 3,
XN_IO_DEPTH_FORMAT_UNCOMPRESSED_12_BIT = 4,
} XnIODepthFormats;
typedef enum
{
XN_VIDEO_STREAM_OFF = 0,
XN_VIDEO_STREAM_COLOR = 1,
XN_VIDEO_STREAM_DEPTH = 2,
XN_VIDEO_STREAM_IR = 3,
} XnVideoStreamMode;
typedef enum
{
XN_AUDIO_STREAM_OFF = 0,
XN_AUDIO_STREAM_ON = 1,
} XnAudioStreamMode;
typedef enum
{
XN_RESET_TYPE_POWER = 0,
XN_RESET_TYPE_SOFT = 1,
XN_RESET_TYPE_SOFT_FIRST = 2,
} XnParamResetType;
typedef enum XnSensorUsbInterface
{
XN_SENSOR_USB_INTERFACE_DEFAULT = 0,
XN_SENSOR_USB_INTERFACE_ISO_ENDPOINTS = 1,
XN_SENSOR_USB_INTERFACE_BULK_ENDPOINTS = 2,
} XnSensorUsbInterface;
typedef enum XnProcessingType
{
XN_PROCESSING_DONT_CARE = 0,
XN_PROCESSING_HARDWARE = 1,
XN_PROCESSING_SOFTWARE = 2,
} XnProcessingType;
//---------------------------------------------------------------------------
// Data Structures - structures that are arguments to properties
//---------------------------------------------------------------------------
#pragma pack (push, 1)
typedef struct XnSDKVersion
{
XnUInt8 nMajor;
XnUInt8 nMinor;
XnUInt8 nMaintenance;
XnUInt16 nBuild;
} XnSDKVersion;
typedef struct {
XnUInt8 nMajor;
XnUInt8 nMinor;
XnUInt16 nBuild;
XnUInt32 nChip;
XnUInt16 nFPGA;
XnUInt16 nSystemVersion;
XnSDKVersion SDK;
XnHWVer HWVer;
XnFWVer FWVer;
XnSensorVer SensorVer;
XnChipVer ChipVer;
} XnVersions;
typedef struct
{
XnUInt16 nParam;
XnUInt16 nValue;
} XnInnerParamData;
typedef struct XnCmosBlankingTime
{
XnCMOSType nCmosID;
XnFloat nTimeInMilliseconds;
XnUInt16 nNumberOfFrames;
} XnCmosBlankingTime;
typedef struct XnCmosBlankingUnits
{
XnCMOSType nCmosID;
XnUInt16 nUnits;
XnUInt16 nNumberOfFrames;
} XnCmosBlankingUnits;
typedef struct XnDepthAGCBin
{
XnUInt16 nBin;
XnUInt16 nMin;
XnUInt16 nMax;
} XnDepthAGCBin;
typedef struct XnDynamicSizeBuffer
{
void* pData;
XnUInt32 nMaxSize;
XnUInt32 nDataSize;
} XnDynamicSizeBuffer;
typedef struct XnCmosPreset
{
XnUInt16 nFormat;
XnUInt16 nResolution;
XnUInt16 nFPS;
} XnCmosPreset;
typedef struct XnI2CWriteData
{
XnUInt16 nBus;
XnUInt16 nSlaveAddress;
XnUInt16 cpWriteBuffer[XN_IO_MAX_I2C_BUFFER_SIZE];
XnUInt16 nWriteSize;
} XnI2CWriteData;
typedef struct XnI2CReadData
{
XnUInt16 nBus;
XnUInt16 nSlaveAddress;
XnUInt16 cpReadBuffer[XN_IO_MAX_I2C_BUFFER_SIZE];
XnUInt16 cpWriteBuffer[XN_IO_MAX_I2C_BUFFER_SIZE];
XnUInt16 nReadSize;
XnUInt16 nWriteSize;
} XnI2CReadData;
typedef struct XnControlProcessingData
{
XnUInt16 nRegister;
XnUInt16 nValue;
} XnControlProcessingData;
typedef struct
{
XnUInt32 nRegister;
XnUInt32 nValue;
XnUInt32 nMask;
} XnAHBData;
#pragma pack (pop)
#endif // _XN_STREAM_PARAMS_H_