Zebra Bioptic Color Camera SDK For Linux  1.0.0-17
All Classes Functions Variables Enumerations Enumerator
camera_enums.h
1 /*
2  * ©2019 Zebra Technologies Corp. and/or its affiliates.
3  */
4 #ifndef CAMERA_CLIENT_ENUMS_H_
5 #define CAMERA_CLIENT_ENUMS_H_
6 
7 #include <cstdint>
8 
9 namespace zebra {
10 namespace camera_sdk {
11 
12 // Property related
13 
17 enum class Set {
18  CURRENT,
19 };
20 
24 enum class Get {
25  CURRENT, // current
26  MINIMUM, // minimum
27  MAXIMUM, // maximum
28  DEFAULT, // default
29  RESOLUTION, // resolution
30 };
31 
32 #define CAMERA_UNIT_OR_TERMINAL_ID_MASK (0xffffff00)
33 
34 /*
35  * Camera property IDs.
36  */
37 enum class CameraPropertyId
38 {
39  // VideoControl Interface Control related
40  VC_CONTROL_BASE = 0x00000100,
41 
42  // VideoStreaming Interface Control related
43  VS_CONTROL_BASE = 0x00000200,
44  PROBE,
45  COMMIT,
46  STILL_PROBE,
47  STILL_COMMIT,
48  STILL_IMAGE_TRIGGER,
49  STREAM_ERROR_CODE,
50  GENERATE_KEY_FRAME,
51  UPDATE_FRAME_SEGMENT,
52  SYNCH_DELAY,
53 
54  // Terminal Control related
55  TE_CONTROL_BASE = 0x00000400,
56 
57  // Camera Terminal Control related
58  CT_CONTROL_BASE = 0x00000800,
59  SCANNING_MODE,
60  AE_MODE,
61  AE_PRIORITY,
62  EXPOSURE_TIME_ABSOLUTE,
63  EXPOSURE_TIME_RELATIVE,
64  FOCUS_ABSOLUTE,
65  FOCUS_RELATIVE,
66  FOCUS_AUTO,
67  IRIS_ABSOLUTE,
68  IRIS_RELATIVE,
69  ZOOM_ABSOLUTE,
70  ZOOM_RELATIVE,
71  PANTILT_ABSOLUTE,
72  PANTILT_RELATIVE,
73  ROLL_ABSOLUTE,
74  ROLL_RELATIVE,
75  PRIVACY,
76  FOCUS_SIMPLE,
77  WINDOW,
78  REGION_OF_INTEREST,
79 
80  // Selector Unit Control related
81  SU_CONTROL_BASE = 0x00001000,
82 
83  // Processing Unit Control related
84  PU_CONTROL_BASE = 0x00002000,
85  BACKLIGHT_COMPENSATION,
86  BRIGHTNESS,
87  CONTRAST,
88  GAIN,
89  POWER_LINE_FREQUENCY,
90  HUE,
91  SATURATION,
92  SHARPNESS,
93  GAMMA,
94  WHITE_BALANCE_TEMPERATURE,
95  WHITE_BALANCE_TEMPERATURE_AUTO,
96  WHITE_BALANCE_COMPONENT,
97  WHITE_BALANCE_COMPONENT_AUTO,
98  DIGITAL_MULTIPLIER,
99  DIGITAL_MULTIPLIER_LIMIT,
100  HUE_AUTO,
101  ANALOG_VIDEO_STANDARD,
102  ANALOG_LOCK_STATUS,
103  CONTRAST_AUTO,
104 
105  // Encoding Unit Control related
106  EU_CONTROL_BASE = 0x00004000,
107  SELECT_LAYER,
108  PROFILE_TOOLSET,
109  VIDEO_RESOLUTION,
110  MIN_FRAME_INTERVAL,
111  SLICE_MODE,
112  RATE_CONTROL_MODE,
113  AVERAGE_BITRATE,
114  CPB_SIZE,
115  PEAK_BIT_RATE,
116  QUANTIZATION_PARAMS,
117  SYNC_REF_FRAME,
118  LTR_BUFFER,
119  LTR_PICTURE,
120  LTR_VALIDATION,
121  LEVEL_IDC_LIMIT,
122  SEI_PAYLOADTYPE,
123  QP_RANGE,
124  PRIORITY,
125  START_OR_STOP_LAYER,
126  ERROR_RESILIENCY,
127 
128  // Extension Unit related
129  // First extension unit
130  XU1_CONTROL_BASE = 0x00008000,
131  VIDEO_MODE = XU1_CONTROL_BASE + 0x01,
132  ILLUMINATION_MODE = XU1_CONTROL_BASE + 0x02,
133  POWER_USER_MODE = XU1_CONTROL_BASE + 0x0A,
134 };
135 
139 enum class DecodeSessionStatus : uint8_t {
140  DECODE_SESSION_START = 0x00,
141  DECODE_SESSION_END,
142 };
143 
147 enum class VideoMode : uint8_t {
148  OFF = 0x00,
149  WAKEUP,
150  CONTINUOUS,
151 };
152 
156 enum class IlluminationMode : uint8_t {
157  STANDARD = 0x00,
158  ALWAYS_ON,
159  ALWAYS_OFF,
160 };
161 
165 enum class PowerUserMode : uint8_t {
166  DISABLE = 0x00,
167  ENABLE,
168 };
169 
170 // Video related
171 
176 enum class FrameDataFormat {
177  UNKNOWN,
178  YUY2,
179  UYVY,
180 };
181 
185 enum class ImageFormat {
186  RGB,
187  YUY2,
188  UYVY,
189 };
190 
191 } /* namespace camera_sdk */
192 } /* namespace zebra */
193 
194 #endif /* CAMERA_CLIENT_ENUMS_H_ */