forked from avin2/SensorKinect
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathXnIOParams.h
187 lines (155 loc) · 8.84 KB
/
XnIOParams.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
/****************************************************************************
* *
* 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_IO_PARAMS_H_
#define _XN_IO_PARAMS_H_
#include <XnPlatform.h>
#include <XnStream.h>
#include <XnStreamParams.h>
#define XN_IO_PARAM_MIN_DEPTH_VALUE "MinDepthValue"
#define XN_IO_PARAM_MAX_DEPTH_VALUE "MaxDepthValue"
#define XN_IO_PARAM_FRAME_DELAY "FrameDelay"
#define XN_IO_PARAM_DEPTH_COMPRESSION "DepthCompression"
#define XN_IO_PARAM_IMAGE_COMPRESSION "ImageCompression"
#define XN_IO_PARAM_MISC_COMPRESSION "MiscCompression"
#define XN_IO_PARAM_AUDIO_COMPRESSION "AudioCompression"
#define XN_IO_PARAM_RGB_REGISTRAR_STATE "RGBRegistrarState"
#define XN_IO_PARAM_AUDIO_ENABLED "AudioEnabled"
#define XN_IO_PARAM_AUDIO_LEFT_CHANNEL_VOLUME "AudioLeftChannelVolume"
#define XN_IO_PARAM_AUDIO_RIGHT_CHANNEL_VOLUME "AudioRightChannelVolume"
#define XN_IO_PARAM_AUDIO_SAMPLE_RATE "AudioSampleRate"
#define XN_IO_PARAM_AUDIO_READ_MODE "AudioReadMode"
#define XN_IO_PARAM_AUDIO_READ_CHUNK_SIZE "AudioReadChunkSize"
#define XN_IO_PARAM_AUDIO_READ_SYNC "AudioReadSync"
#define XN_IO_PARAM_DEPTH_WHITE_BALANCE "DepthWhiteBalance"
#define XN_IO_PARAM_DEPTH_INPUT_FORMAT "DepthInputFormat"
#define XN_IO_PARAM_IMAGE_INPUT_FORMAT "ImageInputFormat"
#define XN_IO_PARAM_DEPTH_STATE "DepthState"
#define XN_IO_PARAM_IMAGE_STATE "ImageState"
#define XN_IO_PARAM_HIGHRES_TIMESTAMPS "HighresTimestamps"
#define XN_IO_REGMODE_NO_REGISTER (XnUInt32)0
#define XN_IO_REGMODE_IMAGE_TO_DEPTH (XnUInt32)1
#define XN_IO_REGMODE_DEPTH_TO_IMAGE (XnUInt32)2
#ifdef _XN_DEPRECATE_OLD_IO
#pragma deprecated ("XN_IO_PARAM_MIN_DEPTH_VALUE", "XN_IO_PARAM_MAX_DEPTH_VALUE", "XN_IO_PARAM_FRAME_DELAY", "XN_IO_PARAM_DEPTH_COMPRESSION")
#pragma deprecated ("XN_IO_PARAM_IMAGE_COMPRESSION", "XN_IO_PARAM_MISC_COMPRESSION", "XN_IO_PARAM_AUDIO_COMPRESSION", "XN_IO_PARAM_RGB_REGISTRAR_STATE")
#pragma deprecated ("XN_IO_PARAM_AUDIO_ENABLED", "XN_IO_PARAM_AUDIO_LEFT_CHANNEL_VOLUME", "XN_IO_PARAM_AUDIO_RIGHT_CHANNEL_VOLUME")
#pragma deprecated ("XN_IO_PARAM_AUDIO_SAMPLE_RATE", "XN_IO_PARAM_AUDIO_READ_MODE", "XN_IO_PARAM_AUDIO_READ_CHUNK_SIZE")
#pragma deprecated ("XN_IO_PARAM_AUDIO_READ_SYNC", "XN_IO_PARAM_GMC_MODE", "XN_IO_PARAM_DEPTH_WHITE_BALANCE", "XN_IO_PARAM_DEPTH_INPUT_FORMAT")
#pragma deprecated ("XN_IO_PARAM_IMAGE_INPUT_FORMAT", "XN_IO_PARAM_DEPTH_STATE", "XN_IO_PARAM_IMAGE_STATE", "XN_IO_PARAM_READ_LOG_INTERVAL")
#pragma deprecated ("XN_IO_REGMODE_NO_REGISTER", "XN_IO_REGMODE_IMAGE_TO_DEPTH", "XN_IO_REGMODE_DEPTH_TO_IMAGE")
#endif
typedef XN_OLD_IO_API enum XnIOParams
{
XN_IO_PARAM_IMAGE_RESOLUTION = 0, // Get only for now
XN_IO_PARAM_IMAGE_FPS = 1, // Get only for now
XN_IO_PARAM_IMAGE_AGC = 2, // PARAM_RGB_AGC
XN_IO_PARAM_IMAGE_CONTROL_PROCESSING = 3, // I2C
XN_IO_PARAM_IMAGE_FLICKER_DETECTION = 4, // PARAM_IMAGE_FLICKER_DETECTION
XN_IO_PARAM_DEPTH_RESOLUTION = 5, // Get only for now
XN_IO_PARAM_DEPTH_FPS = 6, // Get only for now
XN_IO_PARAM_DEPTH_AGC = 7, // PARAM_DEPTH_AGC
XN_IO_PARAM_DEPTH_HOLE_FILTER = 8, // PARAM_HOLE_FILTER
XN_IO_PARAM_DEPTH_CONTROL_PROCESSING = 9, // I2C
XN_IO_PARAM_IR_RESOLUTION = 10, // Get only for now
XN_IO_PARAM_IR_FPS = 11, // Get only for now
XN_IO_PARAM_IR_AGC = 12,
XN_IO_PARAM_REGISTRATION = 13, // PARAM_REGISTRATION_ENABLE
XN_IO_PARAM_FRAME_SYNC = 14, // PARAM_FRAME_SYNC_BY
XN_IO_PARAM_DEPTH_MIRROR = 15, // PARAM_MIRROR
XN_IO_PARAM_INNER_PARAM = 17, // PARAM
XN_IO_PARAM_VERSION = 18, // VERSION
XN_IO_PARAM_PRIMARY = 25, // 'Read' returns when new image, new depth or new any received
XN_IO_PARAM_READ_WRITE_MODE = 26, // Get only
XN_IO_PARAM_SHIFT2DEPTH = 27,
XN_IO_PARAM_DEPTH2SHIFT = 28,
XN_IO_PARAM_RESET = 29, // Reset (either power or software)
XN_IO_PARAM_CURRENT_MODE = 31, // Maintenance/Normal
XN_IO_PARAM_LAST_RAW_IMAGE = 32, // Last RAW Image
XN_IO_PARAM_IR_CROPPING = 33, // IR Cropping
XN_IO_PARAM_IMAGE_QUALITY = 38, // Image Quality - 0-default, 1-low, 2-medium, 3-high
XN_IO_PARAM_CMOS_BLANKING_UNITS = 46, // XnCmosBlanking
XN_IO_PARAM_CMOS_BLANKING_TIME = 47, // XnCmosBlankingTime
XN_IO_PARAM_DEPTH_AGC_BIN = 48, // XnDepthAGCBin
XN_IO_PARAM_SUPPORTS_MIRRORING = 49, // Is mirror supported (bool, get only)
XN_IO_PARAM_MIRROR = 50,
XN_IO_PARAM_IMAGE_MIRROR = 51,
XN_IO_PARAM_IR_MIRROR = 52,
} XnIOParams;
typedef XN_OLD_IO_API enum
{
XN_IO_DEPTH_DECIMATION_DISABLED,
XN_IO_DEPTH_DECIMATION_ENABLED
} XnIODepthDecimation;
// some structs here that are deprecated holds other deprecated, so disable warnings
#pragma warning (push)
#pragma warning (disable: XN_DEPRECATED_WARNING_IDS)
typedef XN_OLD_IO_API struct XnDeviceSensorParameters
{
XnBool bConfigure;
XnUInt8 VideoMode;
XnBool bAudioOn;
XnIOImageFormats ImageFormat;
XnIODepthFormats DepthFormat;
XnIODepthDecimation DepthDecimation;
} XnDeviceSensorParameters;
typedef XN_OLD_IO_API enum
{
XN_PRIMARY_ANY,
XN_PRIMARY_DEPTH,
XN_PRIMARY_IMAGE
} XnParamPrimary;
#pragma pack (push, 1)
typedef XN_OLD_IO_API struct {
XnUChar* pBuffer;
XnUInt32 nBufferSize;
} XnDataBuffer;
#pragma pack (pop)
#pragma warning (pop)
// Set Param
// (xx)(yyy)(zzz) - byte comprised of mode(x), stream0(y), stream1(z)
#define XN_VIDEO_PS_MODE 0
#define XN_VIDEO_WEBCAM_MODE 1
#define XN_VIDEO_CURRENT_GET_MODE(x) (((x)>>6)&0x03)
#define XN_VIDEO_STREAM0_GET_MODE(x) (((x)>>3)&0x07)
#define XN_VIDEO_STREAM1_GET_MODE(x) ((x)&0x07)
#define XN_VIDEO_CURRENT_MODE(x) ((x)<<6)
#define XN_VIDEO_STREAM0_MODE(x) (((x)&0x7)<<3)
#define XN_VIDEO_STREAM1_MODE(x) ((x)&0x7)
#define XN_VIDEO_MODE(current, stream0, stream1) \
(XN_VIDEO_CURRENT_MODE(current)|XN_VIDEO_STREAM0_MODE(stream0)|XN_VIDEO_STREAM1_MODE(stream1))
#define XN_VIDEO_MODE_OFF XN_VIDEO_MODE(XN_VIDEO_PS_MODE, XN_VIDEO_STREAM_OFF, XN_VIDEO_STREAM_OFF) // 0x00
#define XN_VIDEO_MODE_COLOR_PS XN_VIDEO_MODE(XN_VIDEO_PS_MODE, XN_VIDEO_STREAM_COLOR, XN_VIDEO_STREAM_OFF) // 0x08
#define XN_VIDEO_MODE_IR XN_VIDEO_MODE(XN_VIDEO_PS_MODE, XN_VIDEO_STREAM_IR, XN_VIDEO_STREAM_OFF) // 0x18
#define XN_VIDEO_MODE_DEPTH XN_VIDEO_MODE(XN_VIDEO_PS_MODE, XN_VIDEO_STREAM_OFF, XN_VIDEO_STREAM_DEPTH)// 0x02
#define XN_VIDEO_MODE_COLOR_DEPTH XN_VIDEO_MODE(XN_VIDEO_PS_MODE, XN_VIDEO_STREAM_COLOR, XN_VIDEO_STREAM_DEPTH)// 0x0a
#define XN_VIDEO_MODE_DEPTH_IR XN_VIDEO_MODE(XN_VIDEO_PS_MODE, XN_VIDEO_STREAM_IR, XN_VIDEO_STREAM_DEPTH)// 0x1a
// Not supported for now?
#define XN_VIDEO_MODE_WEBCAM XN_VIDEO_MODE(XN_VIDEO_WEBCAM_MODE, XN_VIDEO_STREAM_COLOR, XN_VIDEO_STREAM_OFF) // 0x48
#define XN_VIDEO_MODE_COLOR_IR XN_VIDEO_MODE(XN_VIDEO_PS_MODE, XN_VIDEO_STREAM_COLOR, XN_VIDEO_STREAM_IR) // 0x0b
#ifdef _XN_DEPRECATE_OLD_IO
#pragma deprecated ("XN_VIDEO_PS_MODE", "XN_VIDEO_WEBCAM_MODE")
#pragma deprecated ("XN_VIDEO_CURRENT_GET_MODE", "XN_VIDEO_STREAM0_GET_MODE", "XN_VIDEO_STREAM1_GET_MODE")
#pragma deprecated ("XN_VIDEO_CURRENT_MODE", "XN_VIDEO_STREAM0_MODE", "XN_VIDEO_STREAM1_MODE", "XN_VIDEO_MODE")
#pragma deprecated ("XN_VIDEO_MODE_OFF", "XN_VIDEO_MODE_COLOR_PS", "XN_VIDEO_MODE_IR", "XN_VIDEO_MODE_DEPTH")
#pragma deprecated ("XN_VIDEO_MODE_COLOR_DEPTH", "XN_VIDEO_MODE_DEPTH_IR", "XN_VIDEO_MODE_WEBCAM", "XN_VIDEO_MODE_COLOR_IR")
#endif
#endif