1 /*
2 * Copyright (C) 2012 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 /**
18 * !! Do not reference this file directly !!
19 *
20 * It is logically a part of camera_metadata.c. It is broken out for ease of
21 * maintaining the tag info.
22 *
23 * Array assignments are done using specified-index syntax to keep things in
24 * sync with camera_metadata_tags.h
25 */
26
27 /**
28 * ! Do not edit this file directly !
29 *
30 * Generated automatically from camera_metadata_tag_info.mako
31 */
32
33 const char *camera_metadata_section_names[ANDROID_SECTION_COUNT] = {
34 [ANDROID_COLOR_CORRECTION] = "android.colorCorrection",
35 [ANDROID_CONTROL] = "android.control",
36 [ANDROID_DEMOSAIC] = "android.demosaic",
37 [ANDROID_EDGE] = "android.edge",
38 [ANDROID_FLASH] = "android.flash",
39 [ANDROID_FLASH_INFO] = "android.flash.info",
40 [ANDROID_HOT_PIXEL] = "android.hotPixel",
41 [ANDROID_JPEG] = "android.jpeg",
42 [ANDROID_LENS] = "android.lens",
43 [ANDROID_LENS_INFO] = "android.lens.info",
44 [ANDROID_NOISE_REDUCTION] = "android.noiseReduction",
45 [ANDROID_QUIRKS] = "android.quirks",
46 [ANDROID_REQUEST] = "android.request",
47 [ANDROID_SCALER] = "android.scaler",
48 [ANDROID_SENSOR] = "android.sensor",
49 [ANDROID_SENSOR_INFO] = "android.sensor.info",
50 [ANDROID_SHADING] = "android.shading",
51 [ANDROID_STATISTICS] = "android.statistics",
52 [ANDROID_STATISTICS_INFO] = "android.statistics.info",
53 [ANDROID_TONEMAP] = "android.tonemap",
54 [ANDROID_LED] = "android.led",
55 [ANDROID_INFO] = "android.info",
56 [ANDROID_BLACK_LEVEL] = "android.blackLevel",
57 [ANDROID_SYNC] = "android.sync",
58 [ANDROID_REPROCESS] = "android.reprocess",
59 [ANDROID_DEPTH] = "android.depth",
60 };
61
62 unsigned int camera_metadata_section_bounds[ANDROID_SECTION_COUNT][2] = {
63 [ANDROID_COLOR_CORRECTION] = { ANDROID_COLOR_CORRECTION_START,
64 ANDROID_COLOR_CORRECTION_END },
65 [ANDROID_CONTROL] = { ANDROID_CONTROL_START,
66 ANDROID_CONTROL_END },
67 [ANDROID_DEMOSAIC] = { ANDROID_DEMOSAIC_START,
68 ANDROID_DEMOSAIC_END },
69 [ANDROID_EDGE] = { ANDROID_EDGE_START,
70 ANDROID_EDGE_END },
71 [ANDROID_FLASH] = { ANDROID_FLASH_START,
72 ANDROID_FLASH_END },
73 [ANDROID_FLASH_INFO] = { ANDROID_FLASH_INFO_START,
74 ANDROID_FLASH_INFO_END },
75 [ANDROID_HOT_PIXEL] = { ANDROID_HOT_PIXEL_START,
76 ANDROID_HOT_PIXEL_END },
77 [ANDROID_JPEG] = { ANDROID_JPEG_START,
78 ANDROID_JPEG_END },
79 [ANDROID_LENS] = { ANDROID_LENS_START,
80 ANDROID_LENS_END },
81 [ANDROID_LENS_INFO] = { ANDROID_LENS_INFO_START,
82 ANDROID_LENS_INFO_END },
83 [ANDROID_NOISE_REDUCTION] = { ANDROID_NOISE_REDUCTION_START,
84 ANDROID_NOISE_REDUCTION_END },
85 [ANDROID_QUIRKS] = { ANDROID_QUIRKS_START,
86 ANDROID_QUIRKS_END },
87 [ANDROID_REQUEST] = { ANDROID_REQUEST_START,
88 ANDROID_REQUEST_END },
89 [ANDROID_SCALER] = { ANDROID_SCALER_START,
90 ANDROID_SCALER_END },
91 [ANDROID_SENSOR] = { ANDROID_SENSOR_START,
92 ANDROID_SENSOR_END },
93 [ANDROID_SENSOR_INFO] = { ANDROID_SENSOR_INFO_START,
94 ANDROID_SENSOR_INFO_END },
95 [ANDROID_SHADING] = { ANDROID_SHADING_START,
96 ANDROID_SHADING_END },
97 [ANDROID_STATISTICS] = { ANDROID_STATISTICS_START,
98 ANDROID_STATISTICS_END },
99 [ANDROID_STATISTICS_INFO] = { ANDROID_STATISTICS_INFO_START,
100 ANDROID_STATISTICS_INFO_END },
101 [ANDROID_TONEMAP] = { ANDROID_TONEMAP_START,
102 ANDROID_TONEMAP_END },
103 [ANDROID_LED] = { ANDROID_LED_START,
104 ANDROID_LED_END },
105 [ANDROID_INFO] = { ANDROID_INFO_START,
106 ANDROID_INFO_END },
107 [ANDROID_BLACK_LEVEL] = { ANDROID_BLACK_LEVEL_START,
108 ANDROID_BLACK_LEVEL_END },
109 [ANDROID_SYNC] = { ANDROID_SYNC_START,
110 ANDROID_SYNC_END },
111 [ANDROID_REPROCESS] = { ANDROID_REPROCESS_START,
112 ANDROID_REPROCESS_END },
113 [ANDROID_DEPTH] = { ANDROID_DEPTH_START,
114 ANDROID_DEPTH_END },
115 };
116
117 static tag_info_t android_color_correction[ANDROID_COLOR_CORRECTION_END -
118 ANDROID_COLOR_CORRECTION_START] = {
119 [ ANDROID_COLOR_CORRECTION_MODE - ANDROID_COLOR_CORRECTION_START ] =
120 { "mode", TYPE_BYTE },
121 [ ANDROID_COLOR_CORRECTION_TRANSFORM - ANDROID_COLOR_CORRECTION_START ] =
122 { "transform", TYPE_RATIONAL
123 },
124 [ ANDROID_COLOR_CORRECTION_GAINS - ANDROID_COLOR_CORRECTION_START ] =
125 { "gains", TYPE_FLOAT },
126 [ ANDROID_COLOR_CORRECTION_ABERRATION_MODE - ANDROID_COLOR_CORRECTION_START ] =
127 { "aberrationMode", TYPE_BYTE },
128 [ ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES - ANDROID_COLOR_CORRECTION_START ] =
129 { "availableAberrationModes", TYPE_BYTE },
130 };
131
132 static tag_info_t android_control[ANDROID_CONTROL_END -
133 ANDROID_CONTROL_START] = {
134 [ ANDROID_CONTROL_AE_ANTIBANDING_MODE - ANDROID_CONTROL_START ] =
135 { "aeAntibandingMode", TYPE_BYTE },
136 [ ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION - ANDROID_CONTROL_START ] =
137 { "aeExposureCompensation", TYPE_INT32 },
138 [ ANDROID_CONTROL_AE_LOCK - ANDROID_CONTROL_START ] =
139 { "aeLock", TYPE_BYTE },
140 [ ANDROID_CONTROL_AE_MODE - ANDROID_CONTROL_START ] =
141 { "aeMode", TYPE_BYTE },
142 [ ANDROID_CONTROL_AE_REGIONS - ANDROID_CONTROL_START ] =
143 { "aeRegions", TYPE_INT32 },
144 [ ANDROID_CONTROL_AE_TARGET_FPS_RANGE - ANDROID_CONTROL_START ] =
145 { "aeTargetFpsRange", TYPE_INT32 },
146 [ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER - ANDROID_CONTROL_START ] =
147 { "aePrecaptureTrigger", TYPE_BYTE },
148 [ ANDROID_CONTROL_AF_MODE - ANDROID_CONTROL_START ] =
149 { "afMode", TYPE_BYTE },
150 [ ANDROID_CONTROL_AF_REGIONS - ANDROID_CONTROL_START ] =
151 { "afRegions", TYPE_INT32 },
152 [ ANDROID_CONTROL_AF_TRIGGER - ANDROID_CONTROL_START ] =
153 { "afTrigger", TYPE_BYTE },
154 [ ANDROID_CONTROL_AWB_LOCK - ANDROID_CONTROL_START ] =
155 { "awbLock", TYPE_BYTE },
156 [ ANDROID_CONTROL_AWB_MODE - ANDROID_CONTROL_START ] =
157 { "awbMode", TYPE_BYTE },
158 [ ANDROID_CONTROL_AWB_REGIONS - ANDROID_CONTROL_START ] =
159 { "awbRegions", TYPE_INT32 },
160 [ ANDROID_CONTROL_CAPTURE_INTENT - ANDROID_CONTROL_START ] =
161 { "captureIntent", TYPE_BYTE },
162 [ ANDROID_CONTROL_EFFECT_MODE - ANDROID_CONTROL_START ] =
163 { "effectMode", TYPE_BYTE },
164 [ ANDROID_CONTROL_MODE - ANDROID_CONTROL_START ] =
165 { "mode", TYPE_BYTE },
166 [ ANDROID_CONTROL_SCENE_MODE - ANDROID_CONTROL_START ] =
167 { "sceneMode", TYPE_BYTE },
168 [ ANDROID_CONTROL_VIDEO_STABILIZATION_MODE - ANDROID_CONTROL_START ] =
169 { "videoStabilizationMode", TYPE_BYTE },
170 [ ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES - ANDROID_CONTROL_START ] =
171 { "aeAvailableAntibandingModes", TYPE_BYTE },
172 [ ANDROID_CONTROL_AE_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
173 { "aeAvailableModes", TYPE_BYTE },
174 [ ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES - ANDROID_CONTROL_START ] =
175 { "aeAvailableTargetFpsRanges", TYPE_INT32 },
176 [ ANDROID_CONTROL_AE_COMPENSATION_RANGE - ANDROID_CONTROL_START ] =
177 { "aeCompensationRange", TYPE_INT32 },
178 [ ANDROID_CONTROL_AE_COMPENSATION_STEP - ANDROID_CONTROL_START ] =
179 { "aeCompensationStep", TYPE_RATIONAL
180 },
181 [ ANDROID_CONTROL_AF_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
182 { "afAvailableModes", TYPE_BYTE },
183 [ ANDROID_CONTROL_AVAILABLE_EFFECTS - ANDROID_CONTROL_START ] =
184 { "availableEffects", TYPE_BYTE },
185 [ ANDROID_CONTROL_AVAILABLE_SCENE_MODES - ANDROID_CONTROL_START ] =
186 { "availableSceneModes", TYPE_BYTE },
187 [ ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES - ANDROID_CONTROL_START ] =
188 { "availableVideoStabilizationModes",
189 TYPE_BYTE },
190 [ ANDROID_CONTROL_AWB_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
191 { "awbAvailableModes", TYPE_BYTE },
192 [ ANDROID_CONTROL_MAX_REGIONS - ANDROID_CONTROL_START ] =
193 { "maxRegions", TYPE_INT32 },
194 [ ANDROID_CONTROL_SCENE_MODE_OVERRIDES - ANDROID_CONTROL_START ] =
195 { "sceneModeOverrides", TYPE_BYTE },
196 [ ANDROID_CONTROL_AE_PRECAPTURE_ID - ANDROID_CONTROL_START ] =
197 { "aePrecaptureId", TYPE_INT32 },
198 [ ANDROID_CONTROL_AE_STATE - ANDROID_CONTROL_START ] =
199 { "aeState", TYPE_BYTE },
200 [ ANDROID_CONTROL_AF_STATE - ANDROID_CONTROL_START ] =
201 { "afState", TYPE_BYTE },
202 [ ANDROID_CONTROL_AF_TRIGGER_ID - ANDROID_CONTROL_START ] =
203 { "afTriggerId", TYPE_INT32 },
204 [ ANDROID_CONTROL_AWB_STATE - ANDROID_CONTROL_START ] =
205 { "awbState", TYPE_BYTE },
206 [ ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS - ANDROID_CONTROL_START ] =
207 { "availableHighSpeedVideoConfigurations",
208 TYPE_INT32 },
209 [ ANDROID_CONTROL_AE_LOCK_AVAILABLE - ANDROID_CONTROL_START ] =
210 { "aeLockAvailable", TYPE_BYTE },
211 [ ANDROID_CONTROL_AWB_LOCK_AVAILABLE - ANDROID_CONTROL_START ] =
212 { "awbLockAvailable", TYPE_BYTE },
213 [ ANDROID_CONTROL_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
214 { "availableModes", TYPE_BYTE },
215 };
216
217 static tag_info_t android_demosaic[ANDROID_DEMOSAIC_END -
218 ANDROID_DEMOSAIC_START] = {
219 [ ANDROID_DEMOSAIC_MODE - ANDROID_DEMOSAIC_START ] =
220 { "mode", TYPE_BYTE },
221 };
222
223 static tag_info_t android_edge[ANDROID_EDGE_END -
224 ANDROID_EDGE_START] = {
225 [ ANDROID_EDGE_MODE - ANDROID_EDGE_START ] =
226 { "mode", TYPE_BYTE },
227 [ ANDROID_EDGE_STRENGTH - ANDROID_EDGE_START ] =
228 { "strength", TYPE_BYTE },
229 [ ANDROID_EDGE_AVAILABLE_EDGE_MODES - ANDROID_EDGE_START ] =
230 { "availableEdgeModes", TYPE_BYTE },
231 };
232
233 static tag_info_t android_flash[ANDROID_FLASH_END -
234 ANDROID_FLASH_START] = {
235 [ ANDROID_FLASH_FIRING_POWER - ANDROID_FLASH_START ] =
236 { "firingPower", TYPE_BYTE },
237 [ ANDROID_FLASH_FIRING_TIME - ANDROID_FLASH_START ] =
238 { "firingTime", TYPE_INT64 },
239 [ ANDROID_FLASH_MODE - ANDROID_FLASH_START ] =
240 { "mode", TYPE_BYTE },
241 [ ANDROID_FLASH_COLOR_TEMPERATURE - ANDROID_FLASH_START ] =
242 { "colorTemperature", TYPE_BYTE },
243 [ ANDROID_FLASH_MAX_ENERGY - ANDROID_FLASH_START ] =
244 { "maxEnergy", TYPE_BYTE },
245 [ ANDROID_FLASH_STATE - ANDROID_FLASH_START ] =
246 { "state", TYPE_BYTE },
247 };
248
249 static tag_info_t android_flash_info[ANDROID_FLASH_INFO_END -
250 ANDROID_FLASH_INFO_START] = {
251 [ ANDROID_FLASH_INFO_AVAILABLE - ANDROID_FLASH_INFO_START ] =
252 { "available", TYPE_BYTE },
253 [ ANDROID_FLASH_INFO_CHARGE_DURATION - ANDROID_FLASH_INFO_START ] =
254 { "chargeDuration", TYPE_INT64 },
255 };
256
257 static tag_info_t android_hot_pixel[ANDROID_HOT_PIXEL_END -
258 ANDROID_HOT_PIXEL_START] = {
259 [ ANDROID_HOT_PIXEL_MODE - ANDROID_HOT_PIXEL_START ] =
260 { "mode", TYPE_BYTE },
261 [ ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES - ANDROID_HOT_PIXEL_START ] =
262 { "availableHotPixelModes", TYPE_BYTE },
263 };
264
265 static tag_info_t android_jpeg[ANDROID_JPEG_END -
266 ANDROID_JPEG_START] = {
267 [ ANDROID_JPEG_GPS_COORDINATES - ANDROID_JPEG_START ] =
268 { "gpsCoordinates", TYPE_DOUBLE },
269 [ ANDROID_JPEG_GPS_PROCESSING_METHOD - ANDROID_JPEG_START ] =
270 { "gpsProcessingMethod", TYPE_BYTE },
271 [ ANDROID_JPEG_GPS_TIMESTAMP - ANDROID_JPEG_START ] =
272 { "gpsTimestamp", TYPE_INT64 },
273 [ ANDROID_JPEG_ORIENTATION - ANDROID_JPEG_START ] =
274 { "orientation", TYPE_INT32 },
275 [ ANDROID_JPEG_QUALITY - ANDROID_JPEG_START ] =
276 { "quality", TYPE_BYTE },
277 [ ANDROID_JPEG_THUMBNAIL_QUALITY - ANDROID_JPEG_START ] =
278 { "thumbnailQuality", TYPE_BYTE },
279 [ ANDROID_JPEG_THUMBNAIL_SIZE - ANDROID_JPEG_START ] =
280 { "thumbnailSize", TYPE_INT32 },
281 [ ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES - ANDROID_JPEG_START ] =
282 { "availableThumbnailSizes", TYPE_INT32 },
283 [ ANDROID_JPEG_MAX_SIZE - ANDROID_JPEG_START ] =
284 { "maxSize", TYPE_INT32 },
285 [ ANDROID_JPEG_SIZE - ANDROID_JPEG_START ] =
286 { "size", TYPE_INT32 },
287 };
288
289 static tag_info_t android_lens[ANDROID_LENS_END -
290 ANDROID_LENS_START] = {
291 [ ANDROID_LENS_APERTURE - ANDROID_LENS_START ] =
292 { "aperture", TYPE_FLOAT },
293 [ ANDROID_LENS_FILTER_DENSITY - ANDROID_LENS_START ] =
294 { "filterDensity", TYPE_FLOAT },
295 [ ANDROID_LENS_FOCAL_LENGTH - ANDROID_LENS_START ] =
296 { "focalLength", TYPE_FLOAT },
297 [ ANDROID_LENS_FOCUS_DISTANCE - ANDROID_LENS_START ] =
298 { "focusDistance", TYPE_FLOAT },
299 [ ANDROID_LENS_OPTICAL_STABILIZATION_MODE - ANDROID_LENS_START ] =
300 { "opticalStabilizationMode", TYPE_BYTE },
301 [ ANDROID_LENS_FACING - ANDROID_LENS_START ] =
302 { "facing", TYPE_BYTE },
303 [ ANDROID_LENS_POSE_ROTATION - ANDROID_LENS_START ] =
304 { "poseRotation", TYPE_FLOAT },
305 [ ANDROID_LENS_POSE_TRANSLATION - ANDROID_LENS_START ] =
306 { "poseTranslation", TYPE_FLOAT },
307 [ ANDROID_LENS_FOCUS_RANGE - ANDROID_LENS_START ] =
308 { "focusRange", TYPE_FLOAT },
309 [ ANDROID_LENS_STATE - ANDROID_LENS_START ] =
310 { "state", TYPE_BYTE },
311 [ ANDROID_LENS_INTRINSIC_CALIBRATION - ANDROID_LENS_START ] =
312 { "intrinsicCalibration", TYPE_FLOAT },
313 [ ANDROID_LENS_RADIAL_DISTORTION - ANDROID_LENS_START ] =
314 { "radialDistortion", TYPE_FLOAT },
315 };
316
317 static tag_info_t android_lens_info[ANDROID_LENS_INFO_END -
318 ANDROID_LENS_INFO_START] = {
319 [ ANDROID_LENS_INFO_AVAILABLE_APERTURES - ANDROID_LENS_INFO_START ] =
320 { "availableApertures", TYPE_FLOAT },
321 [ ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES - ANDROID_LENS_INFO_START ] =
322 { "availableFilterDensities", TYPE_FLOAT },
323 [ ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS - ANDROID_LENS_INFO_START ] =
324 { "availableFocalLengths", TYPE_FLOAT },
325 [ ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION - ANDROID_LENS_INFO_START ] =
326 { "availableOpticalStabilization", TYPE_BYTE },
327 [ ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE - ANDROID_LENS_INFO_START ] =
328 { "hyperfocalDistance", TYPE_FLOAT },
329 [ ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE - ANDROID_LENS_INFO_START ] =
330 { "minimumFocusDistance", TYPE_FLOAT },
331 [ ANDROID_LENS_INFO_SHADING_MAP_SIZE - ANDROID_LENS_INFO_START ] =
332 { "shadingMapSize", TYPE_INT32 },
333 [ ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION - ANDROID_LENS_INFO_START ] =
334 { "focusDistanceCalibration", TYPE_BYTE },
335 };
336
337 static tag_info_t android_noise_reduction[ANDROID_NOISE_REDUCTION_END -
338 ANDROID_NOISE_REDUCTION_START] = {
339 [ ANDROID_NOISE_REDUCTION_MODE - ANDROID_NOISE_REDUCTION_START ] =
340 { "mode", TYPE_BYTE },
341 [ ANDROID_NOISE_REDUCTION_STRENGTH - ANDROID_NOISE_REDUCTION_START ] =
342 { "strength", TYPE_BYTE },
343 [ ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES - ANDROID_NOISE_REDUCTION_START ] =
344 { "availableNoiseReductionModes", TYPE_BYTE },
345 };
346
347 static tag_info_t android_quirks[ANDROID_QUIRKS_END -
348 ANDROID_QUIRKS_START] = {
349 [ ANDROID_QUIRKS_METERING_CROP_REGION - ANDROID_QUIRKS_START ] =
350 { "meteringCropRegion", TYPE_BYTE },
351 [ ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO - ANDROID_QUIRKS_START ] =
352 { "triggerAfWithAuto", TYPE_BYTE },
353 [ ANDROID_QUIRKS_USE_ZSL_FORMAT - ANDROID_QUIRKS_START ] =
354 { "useZslFormat", TYPE_BYTE },
355 [ ANDROID_QUIRKS_USE_PARTIAL_RESULT - ANDROID_QUIRKS_START ] =
356 { "usePartialResult", TYPE_BYTE },
357 [ ANDROID_QUIRKS_PARTIAL_RESULT - ANDROID_QUIRKS_START ] =
358 { "partialResult", TYPE_BYTE },
359 };
360
361 static tag_info_t android_request[ANDROID_REQUEST_END -
362 ANDROID_REQUEST_START] = {
363 [ ANDROID_REQUEST_FRAME_COUNT - ANDROID_REQUEST_START ] =
364 { "frameCount", TYPE_INT32 },
365 [ ANDROID_REQUEST_ID - ANDROID_REQUEST_START ] =
366 { "id", TYPE_INT32 },
367 [ ANDROID_REQUEST_INPUT_STREAMS - ANDROID_REQUEST_START ] =
368 { "inputStreams", TYPE_INT32 },
369 [ ANDROID_REQUEST_METADATA_MODE - ANDROID_REQUEST_START ] =
370 { "metadataMode", TYPE_BYTE },
371 [ ANDROID_REQUEST_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
372 { "outputStreams", TYPE_INT32 },
373 [ ANDROID_REQUEST_TYPE - ANDROID_REQUEST_START ] =
374 { "type", TYPE_BYTE },
375 [ ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
376 { "maxNumOutputStreams", TYPE_INT32 },
377 [ ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS - ANDROID_REQUEST_START ] =
378 { "maxNumReprocessStreams", TYPE_INT32 },
379 [ ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS - ANDROID_REQUEST_START ] =
380 { "maxNumInputStreams", TYPE_INT32 },
381 [ ANDROID_REQUEST_PIPELINE_DEPTH - ANDROID_REQUEST_START ] =
382 { "pipelineDepth", TYPE_BYTE },
383 [ ANDROID_REQUEST_PIPELINE_MAX_DEPTH - ANDROID_REQUEST_START ] =
384 { "pipelineMaxDepth", TYPE_BYTE },
385 [ ANDROID_REQUEST_PARTIAL_RESULT_COUNT - ANDROID_REQUEST_START ] =
386 { "partialResultCount", TYPE_INT32 },
387 [ ANDROID_REQUEST_AVAILABLE_CAPABILITIES - ANDROID_REQUEST_START ] =
388 { "availableCapabilities", TYPE_BYTE },
389 [ ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS - ANDROID_REQUEST_START ] =
390 { "availableRequestKeys", TYPE_INT32 },
391 [ ANDROID_REQUEST_AVAILABLE_RESULT_KEYS - ANDROID_REQUEST_START ] =
392 { "availableResultKeys", TYPE_INT32 },
393 [ ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS - ANDROID_REQUEST_START ] =
394 { "availableCharacteristicsKeys", TYPE_INT32 },
395 };
396
397 static tag_info_t android_scaler[ANDROID_SCALER_END -
398 ANDROID_SCALER_START] = {
399 [ ANDROID_SCALER_CROP_REGION - ANDROID_SCALER_START ] =
400 { "cropRegion", TYPE_INT32 },
401 [ ANDROID_SCALER_AVAILABLE_FORMATS - ANDROID_SCALER_START ] =
402 { "availableFormats", TYPE_INT32 },
403 [ ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS - ANDROID_SCALER_START ] =
404 { "availableJpegMinDurations", TYPE_INT64 },
405 [ ANDROID_SCALER_AVAILABLE_JPEG_SIZES - ANDROID_SCALER_START ] =
406 { "availableJpegSizes", TYPE_INT32 },
407 [ ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM - ANDROID_SCALER_START ] =
408 { "availableMaxDigitalZoom", TYPE_FLOAT },
409 [ ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS - ANDROID_SCALER_START ] =
410 { "availableProcessedMinDurations",
411 TYPE_INT64 },
412 [ ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES - ANDROID_SCALER_START ] =
413 { "availableProcessedSizes", TYPE_INT32 },
414 [ ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS - ANDROID_SCALER_START ] =
415 { "availableRawMinDurations", TYPE_INT64 },
416 [ ANDROID_SCALER_AVAILABLE_RAW_SIZES - ANDROID_SCALER_START ] =
417 { "availableRawSizes", TYPE_INT32 },
418 [ ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP - ANDROID_SCALER_START ] =
419 { "availableInputOutputFormatsMap",
420 TYPE_INT32 },
421 [ ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS - ANDROID_SCALER_START ] =
422 { "availableStreamConfigurations", TYPE_INT32 },
423 [ ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS - ANDROID_SCALER_START ] =
424 { "availableMinFrameDurations", TYPE_INT64 },
425 [ ANDROID_SCALER_AVAILABLE_STALL_DURATIONS - ANDROID_SCALER_START ] =
426 { "availableStallDurations", TYPE_INT64 },
427 [ ANDROID_SCALER_CROPPING_TYPE - ANDROID_SCALER_START ] =
428 { "croppingType", TYPE_BYTE },
429 };
430
431 static tag_info_t android_sensor[ANDROID_SENSOR_END -
432 ANDROID_SENSOR_START] = {
433 [ ANDROID_SENSOR_EXPOSURE_TIME - ANDROID_SENSOR_START ] =
434 { "exposureTime", TYPE_INT64 },
435 [ ANDROID_SENSOR_FRAME_DURATION - ANDROID_SENSOR_START ] =
436 { "frameDuration", TYPE_INT64 },
437 [ ANDROID_SENSOR_SENSITIVITY - ANDROID_SENSOR_START ] =
438 { "sensitivity", TYPE_INT32 },
439 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT1 - ANDROID_SENSOR_START ] =
440 { "referenceIlluminant1", TYPE_BYTE },
441 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT2 - ANDROID_SENSOR_START ] =
442 { "referenceIlluminant2", TYPE_BYTE },
443 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM1 - ANDROID_SENSOR_START ] =
444 { "calibrationTransform1", TYPE_RATIONAL
445 },
446 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM2 - ANDROID_SENSOR_START ] =
447 { "calibrationTransform2", TYPE_RATIONAL
448 },
449 [ ANDROID_SENSOR_COLOR_TRANSFORM1 - ANDROID_SENSOR_START ] =
450 { "colorTransform1", TYPE_RATIONAL
451 },
452 [ ANDROID_SENSOR_COLOR_TRANSFORM2 - ANDROID_SENSOR_START ] =
453 { "colorTransform2", TYPE_RATIONAL
454 },
455 [ ANDROID_SENSOR_FORWARD_MATRIX1 - ANDROID_SENSOR_START ] =
456 { "forwardMatrix1", TYPE_RATIONAL
457 },
458 [ ANDROID_SENSOR_FORWARD_MATRIX2 - ANDROID_SENSOR_START ] =
459 { "forwardMatrix2", TYPE_RATIONAL
460 },
461 [ ANDROID_SENSOR_BASE_GAIN_FACTOR - ANDROID_SENSOR_START ] =
462 { "baseGainFactor", TYPE_RATIONAL
463 },
464 [ ANDROID_SENSOR_BLACK_LEVEL_PATTERN - ANDROID_SENSOR_START ] =
465 { "blackLevelPattern", TYPE_INT32 },
466 [ ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY - ANDROID_SENSOR_START ] =
467 { "maxAnalogSensitivity", TYPE_INT32 },
468 [ ANDROID_SENSOR_ORIENTATION - ANDROID_SENSOR_START ] =
469 { "orientation", TYPE_INT32 },
470 [ ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS - ANDROID_SENSOR_START ] =
471 { "profileHueSatMapDimensions", TYPE_INT32 },
472 [ ANDROID_SENSOR_TIMESTAMP - ANDROID_SENSOR_START ] =
473 { "timestamp", TYPE_INT64 },
474 [ ANDROID_SENSOR_TEMPERATURE - ANDROID_SENSOR_START ] =
475 { "temperature", TYPE_FLOAT },
476 [ ANDROID_SENSOR_NEUTRAL_COLOR_POINT - ANDROID_SENSOR_START ] =
477 { "neutralColorPoint", TYPE_RATIONAL
478 },
479 [ ANDROID_SENSOR_NOISE_PROFILE - ANDROID_SENSOR_START ] =
480 { "noiseProfile", TYPE_DOUBLE },
481 [ ANDROID_SENSOR_PROFILE_HUE_SAT_MAP - ANDROID_SENSOR_START ] =
482 { "profileHueSatMap", TYPE_FLOAT },
483 [ ANDROID_SENSOR_PROFILE_TONE_CURVE - ANDROID_SENSOR_START ] =
484 { "profileToneCurve", TYPE_FLOAT },
485 [ ANDROID_SENSOR_GREEN_SPLIT - ANDROID_SENSOR_START ] =
486 { "greenSplit", TYPE_FLOAT },
487 [ ANDROID_SENSOR_TEST_PATTERN_DATA - ANDROID_SENSOR_START ] =
488 { "testPatternData", TYPE_INT32 },
489 [ ANDROID_SENSOR_TEST_PATTERN_MODE - ANDROID_SENSOR_START ] =
490 { "testPatternMode", TYPE_INT32 },
491 [ ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES - ANDROID_SENSOR_START ] =
492 { "availableTestPatternModes", TYPE_INT32 },
493 [ ANDROID_SENSOR_ROLLING_SHUTTER_SKEW - ANDROID_SENSOR_START ] =
494 { "rollingShutterSkew", TYPE_INT64 },
495 };
496
497 static tag_info_t android_sensor_info[ANDROID_SENSOR_INFO_END -
498 ANDROID_SENSOR_INFO_START] = {
499 [ ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
500 { "activeArraySize", TYPE_INT32 },
501 [ ANDROID_SENSOR_INFO_SENSITIVITY_RANGE - ANDROID_SENSOR_INFO_START ] =
502 { "sensitivityRange", TYPE_INT32 },
503 [ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT - ANDROID_SENSOR_INFO_START ] =
504 { "colorFilterArrangement", TYPE_BYTE },
505 [ ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE - ANDROID_SENSOR_INFO_START ] =
506 { "exposureTimeRange", TYPE_INT64 },
507 [ ANDROID_SENSOR_INFO_MAX_FRAME_DURATION - ANDROID_SENSOR_INFO_START ] =
508 { "maxFrameDuration", TYPE_INT64 },
509 [ ANDROID_SENSOR_INFO_PHYSICAL_SIZE - ANDROID_SENSOR_INFO_START ] =
510 { "physicalSize", TYPE_FLOAT },
511 [ ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
512 { "pixelArraySize", TYPE_INT32 },
513 [ ANDROID_SENSOR_INFO_WHITE_LEVEL - ANDROID_SENSOR_INFO_START ] =
514 { "whiteLevel", TYPE_INT32 },
515 [ ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE - ANDROID_SENSOR_INFO_START ] =
516 { "timestampSource", TYPE_BYTE },
517 [ ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED - ANDROID_SENSOR_INFO_START ] =
518 { "lensShadingApplied", TYPE_BYTE },
519 [ ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
520 { "preCorrectionActiveArraySize", TYPE_INT32 },
521 };
522
523 static tag_info_t android_shading[ANDROID_SHADING_END -
524 ANDROID_SHADING_START] = {
525 [ ANDROID_SHADING_MODE - ANDROID_SHADING_START ] =
526 { "mode", TYPE_BYTE },
527 [ ANDROID_SHADING_STRENGTH - ANDROID_SHADING_START ] =
528 { "strength", TYPE_BYTE },
529 [ ANDROID_SHADING_AVAILABLE_MODES - ANDROID_SHADING_START ] =
530 { "availableModes", TYPE_BYTE },
531 };
532
533 static tag_info_t android_statistics[ANDROID_STATISTICS_END -
534 ANDROID_STATISTICS_START] = {
535 [ ANDROID_STATISTICS_FACE_DETECT_MODE - ANDROID_STATISTICS_START ] =
536 { "faceDetectMode", TYPE_BYTE },
537 [ ANDROID_STATISTICS_HISTOGRAM_MODE - ANDROID_STATISTICS_START ] =
538 { "histogramMode", TYPE_BYTE },
539 [ ANDROID_STATISTICS_SHARPNESS_MAP_MODE - ANDROID_STATISTICS_START ] =
540 { "sharpnessMapMode", TYPE_BYTE },
541 [ ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE - ANDROID_STATISTICS_START ] =
542 { "hotPixelMapMode", TYPE_BYTE },
543 [ ANDROID_STATISTICS_FACE_IDS - ANDROID_STATISTICS_START ] =
544 { "faceIds", TYPE_INT32 },
545 [ ANDROID_STATISTICS_FACE_LANDMARKS - ANDROID_STATISTICS_START ] =
546 { "faceLandmarks", TYPE_INT32 },
547 [ ANDROID_STATISTICS_FACE_RECTANGLES - ANDROID_STATISTICS_START ] =
548 { "faceRectangles", TYPE_INT32 },
549 [ ANDROID_STATISTICS_FACE_SCORES - ANDROID_STATISTICS_START ] =
550 { "faceScores", TYPE_BYTE },
551 [ ANDROID_STATISTICS_HISTOGRAM - ANDROID_STATISTICS_START ] =
552 { "histogram", TYPE_INT32 },
553 [ ANDROID_STATISTICS_SHARPNESS_MAP - ANDROID_STATISTICS_START ] =
554 { "sharpnessMap", TYPE_INT32 },
555 [ ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP - ANDROID_STATISTICS_START ] =
556 { "lensShadingCorrectionMap", TYPE_BYTE },
557 [ ANDROID_STATISTICS_LENS_SHADING_MAP - ANDROID_STATISTICS_START ] =
558 { "lensShadingMap", TYPE_FLOAT },
559 [ ANDROID_STATISTICS_PREDICTED_COLOR_GAINS - ANDROID_STATISTICS_START ] =
560 { "predictedColorGains", TYPE_FLOAT },
561 [ ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM - ANDROID_STATISTICS_START ] =
562 { "predictedColorTransform", TYPE_RATIONAL
563 },
564 [ ANDROID_STATISTICS_SCENE_FLICKER - ANDROID_STATISTICS_START ] =
565 { "sceneFlicker", TYPE_BYTE },
566 [ ANDROID_STATISTICS_HOT_PIXEL_MAP - ANDROID_STATISTICS_START ] =
567 { "hotPixelMap", TYPE_INT32 },
568 [ ANDROID_STATISTICS_LENS_SHADING_MAP_MODE - ANDROID_STATISTICS_START ] =
569 { "lensShadingMapMode", TYPE_BYTE },
570 };
571
572 static tag_info_t android_statistics_info[ANDROID_STATISTICS_INFO_END -
573 ANDROID_STATISTICS_INFO_START] = {
574 [ ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES - ANDROID_STATISTICS_INFO_START ] =
575 { "availableFaceDetectModes", TYPE_BYTE },
576 [ ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT - ANDROID_STATISTICS_INFO_START ] =
577 { "histogramBucketCount", TYPE_INT32 },
578 [ ANDROID_STATISTICS_INFO_MAX_FACE_COUNT - ANDROID_STATISTICS_INFO_START ] =
579 { "maxFaceCount", TYPE_INT32 },
580 [ ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT - ANDROID_STATISTICS_INFO_START ] =
581 { "maxHistogramCount", TYPE_INT32 },
582 [ ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE - ANDROID_STATISTICS_INFO_START ] =
583 { "maxSharpnessMapValue", TYPE_INT32 },
584 [ ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE - ANDROID_STATISTICS_INFO_START ] =
585 { "sharpnessMapSize", TYPE_INT32 },
586 [ ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES - ANDROID_STATISTICS_INFO_START ] =
587 { "availableHotPixelMapModes", TYPE_BYTE },
588 [ ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES - ANDROID_STATISTICS_INFO_START ] =
589 { "availableLensShadingMapModes", TYPE_BYTE },
590 };
591
592 static tag_info_t android_tonemap[ANDROID_TONEMAP_END -
593 ANDROID_TONEMAP_START] = {
594 [ ANDROID_TONEMAP_CURVE_BLUE - ANDROID_TONEMAP_START ] =
595 { "curveBlue", TYPE_FLOAT },
596 [ ANDROID_TONEMAP_CURVE_GREEN - ANDROID_TONEMAP_START ] =
597 { "curveGreen", TYPE_FLOAT },
598 [ ANDROID_TONEMAP_CURVE_RED - ANDROID_TONEMAP_START ] =
599 { "curveRed", TYPE_FLOAT },
600 [ ANDROID_TONEMAP_MODE - ANDROID_TONEMAP_START ] =
601 { "mode", TYPE_BYTE },
602 [ ANDROID_TONEMAP_MAX_CURVE_POINTS - ANDROID_TONEMAP_START ] =
603 { "maxCurvePoints", TYPE_INT32 },
604 [ ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES - ANDROID_TONEMAP_START ] =
605 { "availableToneMapModes", TYPE_BYTE },
606 [ ANDROID_TONEMAP_GAMMA - ANDROID_TONEMAP_START ] =
607 { "gamma", TYPE_FLOAT },
608 [ ANDROID_TONEMAP_PRESET_CURVE - ANDROID_TONEMAP_START ] =
609 { "presetCurve", TYPE_BYTE },
610 };
611
612 static tag_info_t android_led[ANDROID_LED_END -
613 ANDROID_LED_START] = {
614 [ ANDROID_LED_TRANSMIT - ANDROID_LED_START ] =
615 { "transmit", TYPE_BYTE },
616 [ ANDROID_LED_AVAILABLE_LEDS - ANDROID_LED_START ] =
617 { "availableLeds", TYPE_BYTE },
618 };
619
620 static tag_info_t android_info[ANDROID_INFO_END -
621 ANDROID_INFO_START] = {
622 [ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL - ANDROID_INFO_START ] =
623 { "supportedHardwareLevel", TYPE_BYTE },
624 };
625
626 static tag_info_t android_black_level[ANDROID_BLACK_LEVEL_END -
627 ANDROID_BLACK_LEVEL_START] = {
628 [ ANDROID_BLACK_LEVEL_LOCK - ANDROID_BLACK_LEVEL_START ] =
629 { "lock", TYPE_BYTE },
630 };
631
632 static tag_info_t android_sync[ANDROID_SYNC_END -
633 ANDROID_SYNC_START] = {
634 [ ANDROID_SYNC_FRAME_NUMBER - ANDROID_SYNC_START ] =
635 { "frameNumber", TYPE_INT64 },
636 [ ANDROID_SYNC_MAX_LATENCY - ANDROID_SYNC_START ] =
637 { "maxLatency", TYPE_INT32 },
638 };
639
640 static tag_info_t android_reprocess[ANDROID_REPROCESS_END -
641 ANDROID_REPROCESS_START] = {
642 [ ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR - ANDROID_REPROCESS_START ] =
643 { "effectiveExposureFactor", TYPE_FLOAT },
644 [ ANDROID_REPROCESS_MAX_CAPTURE_STALL - ANDROID_REPROCESS_START ] =
645 { "maxCaptureStall", TYPE_INT32 },
646 };
647
648 static tag_info_t android_depth[ANDROID_DEPTH_END -
649 ANDROID_DEPTH_START] = {
650 [ ANDROID_DEPTH_MAX_DEPTH_SAMPLES - ANDROID_DEPTH_START ] =
651 { "maxDepthSamples", TYPE_INT32 },
652 [ ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS - ANDROID_DEPTH_START ] =
653 { "availableDepthStreamConfigurations",
654 TYPE_INT32 },
655 [ ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS - ANDROID_DEPTH_START ] =
656 { "availableDepthMinFrameDurations",
657 TYPE_INT64 },
658 [ ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS - ANDROID_DEPTH_START ] =
659 { "availableDepthStallDurations", TYPE_INT64 },
660 [ ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE - ANDROID_DEPTH_START ] =
661 { "depthIsExclusive", TYPE_BYTE },
662 };
663
664
665 tag_info_t *tag_info[ANDROID_SECTION_COUNT] = {
666 android_color_correction,
667 android_control,
668 android_demosaic,
669 android_edge,
670 android_flash,
671 android_flash_info,
672 android_hot_pixel,
673 android_jpeg,
674 android_lens,
675 android_lens_info,
676 android_noise_reduction,
677 android_quirks,
678 android_request,
679 android_scaler,
680 android_sensor,
681 android_sensor_info,
682 android_shading,
683 android_statistics,
684 android_statistics_info,
685 android_tonemap,
686 android_led,
687 android_info,
688 android_black_level,
689 android_sync,
690 android_reprocess,
691 android_depth,
692 };
693
camera_metadata_enum_snprint(uint32_t tag,uint32_t value,char * dst,size_t size)694 int camera_metadata_enum_snprint(uint32_t tag,
695 uint32_t value,
696 char *dst,
697 size_t size) {
698 const char *msg = "error: not an enum";
699 int ret = -1;
700
701 switch(tag) {
702 case ANDROID_COLOR_CORRECTION_MODE: {
703 switch (value) {
704 case ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
705 msg = "TRANSFORM_MATRIX";
706 ret = 0;
707 break;
708 case ANDROID_COLOR_CORRECTION_MODE_FAST:
709 msg = "FAST";
710 ret = 0;
711 break;
712 case ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY:
713 msg = "HIGH_QUALITY";
714 ret = 0;
715 break;
716 default:
717 msg = "error: enum value out of range";
718 }
719 break;
720 }
721 case ANDROID_COLOR_CORRECTION_TRANSFORM: {
722 break;
723 }
724 case ANDROID_COLOR_CORRECTION_GAINS: {
725 break;
726 }
727 case ANDROID_COLOR_CORRECTION_ABERRATION_MODE: {
728 switch (value) {
729 case ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF:
730 msg = "OFF";
731 ret = 0;
732 break;
733 case ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST:
734 msg = "FAST";
735 ret = 0;
736 break;
737 case ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY:
738 msg = "HIGH_QUALITY";
739 ret = 0;
740 break;
741 default:
742 msg = "error: enum value out of range";
743 }
744 break;
745 }
746 case ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: {
747 break;
748 }
749
750 case ANDROID_CONTROL_AE_ANTIBANDING_MODE: {
751 switch (value) {
752 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF:
753 msg = "OFF";
754 ret = 0;
755 break;
756 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ:
757 msg = "50HZ";
758 ret = 0;
759 break;
760 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ:
761 msg = "60HZ";
762 ret = 0;
763 break;
764 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO:
765 msg = "AUTO";
766 ret = 0;
767 break;
768 default:
769 msg = "error: enum value out of range";
770 }
771 break;
772 }
773 case ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION: {
774 break;
775 }
776 case ANDROID_CONTROL_AE_LOCK: {
777 switch (value) {
778 case ANDROID_CONTROL_AE_LOCK_OFF:
779 msg = "OFF";
780 ret = 0;
781 break;
782 case ANDROID_CONTROL_AE_LOCK_ON:
783 msg = "ON";
784 ret = 0;
785 break;
786 default:
787 msg = "error: enum value out of range";
788 }
789 break;
790 }
791 case ANDROID_CONTROL_AE_MODE: {
792 switch (value) {
793 case ANDROID_CONTROL_AE_MODE_OFF:
794 msg = "OFF";
795 ret = 0;
796 break;
797 case ANDROID_CONTROL_AE_MODE_ON:
798 msg = "ON";
799 ret = 0;
800 break;
801 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH:
802 msg = "ON_AUTO_FLASH";
803 ret = 0;
804 break;
805 case ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
806 msg = "ON_ALWAYS_FLASH";
807 ret = 0;
808 break;
809 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
810 msg = "ON_AUTO_FLASH_REDEYE";
811 ret = 0;
812 break;
813 default:
814 msg = "error: enum value out of range";
815 }
816 break;
817 }
818 case ANDROID_CONTROL_AE_REGIONS: {
819 break;
820 }
821 case ANDROID_CONTROL_AE_TARGET_FPS_RANGE: {
822 break;
823 }
824 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER: {
825 switch (value) {
826 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
827 msg = "IDLE";
828 ret = 0;
829 break;
830 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START:
831 msg = "START";
832 ret = 0;
833 break;
834 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL:
835 msg = "CANCEL";
836 ret = 0;
837 break;
838 default:
839 msg = "error: enum value out of range";
840 }
841 break;
842 }
843 case ANDROID_CONTROL_AF_MODE: {
844 switch (value) {
845 case ANDROID_CONTROL_AF_MODE_OFF:
846 msg = "OFF";
847 ret = 0;
848 break;
849 case ANDROID_CONTROL_AF_MODE_AUTO:
850 msg = "AUTO";
851 ret = 0;
852 break;
853 case ANDROID_CONTROL_AF_MODE_MACRO:
854 msg = "MACRO";
855 ret = 0;
856 break;
857 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
858 msg = "CONTINUOUS_VIDEO";
859 ret = 0;
860 break;
861 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
862 msg = "CONTINUOUS_PICTURE";
863 ret = 0;
864 break;
865 case ANDROID_CONTROL_AF_MODE_EDOF:
866 msg = "EDOF";
867 ret = 0;
868 break;
869 default:
870 msg = "error: enum value out of range";
871 }
872 break;
873 }
874 case ANDROID_CONTROL_AF_REGIONS: {
875 break;
876 }
877 case ANDROID_CONTROL_AF_TRIGGER: {
878 switch (value) {
879 case ANDROID_CONTROL_AF_TRIGGER_IDLE:
880 msg = "IDLE";
881 ret = 0;
882 break;
883 case ANDROID_CONTROL_AF_TRIGGER_START:
884 msg = "START";
885 ret = 0;
886 break;
887 case ANDROID_CONTROL_AF_TRIGGER_CANCEL:
888 msg = "CANCEL";
889 ret = 0;
890 break;
891 default:
892 msg = "error: enum value out of range";
893 }
894 break;
895 }
896 case ANDROID_CONTROL_AWB_LOCK: {
897 switch (value) {
898 case ANDROID_CONTROL_AWB_LOCK_OFF:
899 msg = "OFF";
900 ret = 0;
901 break;
902 case ANDROID_CONTROL_AWB_LOCK_ON:
903 msg = "ON";
904 ret = 0;
905 break;
906 default:
907 msg = "error: enum value out of range";
908 }
909 break;
910 }
911 case ANDROID_CONTROL_AWB_MODE: {
912 switch (value) {
913 case ANDROID_CONTROL_AWB_MODE_OFF:
914 msg = "OFF";
915 ret = 0;
916 break;
917 case ANDROID_CONTROL_AWB_MODE_AUTO:
918 msg = "AUTO";
919 ret = 0;
920 break;
921 case ANDROID_CONTROL_AWB_MODE_INCANDESCENT:
922 msg = "INCANDESCENT";
923 ret = 0;
924 break;
925 case ANDROID_CONTROL_AWB_MODE_FLUORESCENT:
926 msg = "FLUORESCENT";
927 ret = 0;
928 break;
929 case ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT:
930 msg = "WARM_FLUORESCENT";
931 ret = 0;
932 break;
933 case ANDROID_CONTROL_AWB_MODE_DAYLIGHT:
934 msg = "DAYLIGHT";
935 ret = 0;
936 break;
937 case ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
938 msg = "CLOUDY_DAYLIGHT";
939 ret = 0;
940 break;
941 case ANDROID_CONTROL_AWB_MODE_TWILIGHT:
942 msg = "TWILIGHT";
943 ret = 0;
944 break;
945 case ANDROID_CONTROL_AWB_MODE_SHADE:
946 msg = "SHADE";
947 ret = 0;
948 break;
949 default:
950 msg = "error: enum value out of range";
951 }
952 break;
953 }
954 case ANDROID_CONTROL_AWB_REGIONS: {
955 break;
956 }
957 case ANDROID_CONTROL_CAPTURE_INTENT: {
958 switch (value) {
959 case ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM:
960 msg = "CUSTOM";
961 ret = 0;
962 break;
963 case ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW:
964 msg = "PREVIEW";
965 ret = 0;
966 break;
967 case ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
968 msg = "STILL_CAPTURE";
969 ret = 0;
970 break;
971 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
972 msg = "VIDEO_RECORD";
973 ret = 0;
974 break;
975 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
976 msg = "VIDEO_SNAPSHOT";
977 ret = 0;
978 break;
979 case ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
980 msg = "ZERO_SHUTTER_LAG";
981 ret = 0;
982 break;
983 case ANDROID_CONTROL_CAPTURE_INTENT_MANUAL:
984 msg = "MANUAL";
985 ret = 0;
986 break;
987 default:
988 msg = "error: enum value out of range";
989 }
990 break;
991 }
992 case ANDROID_CONTROL_EFFECT_MODE: {
993 switch (value) {
994 case ANDROID_CONTROL_EFFECT_MODE_OFF:
995 msg = "OFF";
996 ret = 0;
997 break;
998 case ANDROID_CONTROL_EFFECT_MODE_MONO:
999 msg = "MONO";
1000 ret = 0;
1001 break;
1002 case ANDROID_CONTROL_EFFECT_MODE_NEGATIVE:
1003 msg = "NEGATIVE";
1004 ret = 0;
1005 break;
1006 case ANDROID_CONTROL_EFFECT_MODE_SOLARIZE:
1007 msg = "SOLARIZE";
1008 ret = 0;
1009 break;
1010 case ANDROID_CONTROL_EFFECT_MODE_SEPIA:
1011 msg = "SEPIA";
1012 ret = 0;
1013 break;
1014 case ANDROID_CONTROL_EFFECT_MODE_POSTERIZE:
1015 msg = "POSTERIZE";
1016 ret = 0;
1017 break;
1018 case ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD:
1019 msg = "WHITEBOARD";
1020 ret = 0;
1021 break;
1022 case ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD:
1023 msg = "BLACKBOARD";
1024 ret = 0;
1025 break;
1026 case ANDROID_CONTROL_EFFECT_MODE_AQUA:
1027 msg = "AQUA";
1028 ret = 0;
1029 break;
1030 default:
1031 msg = "error: enum value out of range";
1032 }
1033 break;
1034 }
1035 case ANDROID_CONTROL_MODE: {
1036 switch (value) {
1037 case ANDROID_CONTROL_MODE_OFF:
1038 msg = "OFF";
1039 ret = 0;
1040 break;
1041 case ANDROID_CONTROL_MODE_AUTO:
1042 msg = "AUTO";
1043 ret = 0;
1044 break;
1045 case ANDROID_CONTROL_MODE_USE_SCENE_MODE:
1046 msg = "USE_SCENE_MODE";
1047 ret = 0;
1048 break;
1049 case ANDROID_CONTROL_MODE_OFF_KEEP_STATE:
1050 msg = "OFF_KEEP_STATE";
1051 ret = 0;
1052 break;
1053 default:
1054 msg = "error: enum value out of range";
1055 }
1056 break;
1057 }
1058 case ANDROID_CONTROL_SCENE_MODE: {
1059 switch (value) {
1060 case ANDROID_CONTROL_SCENE_MODE_DISABLED:
1061 msg = "DISABLED";
1062 ret = 0;
1063 break;
1064 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY:
1065 msg = "FACE_PRIORITY";
1066 ret = 0;
1067 break;
1068 case ANDROID_CONTROL_SCENE_MODE_ACTION:
1069 msg = "ACTION";
1070 ret = 0;
1071 break;
1072 case ANDROID_CONTROL_SCENE_MODE_PORTRAIT:
1073 msg = "PORTRAIT";
1074 ret = 0;
1075 break;
1076 case ANDROID_CONTROL_SCENE_MODE_LANDSCAPE:
1077 msg = "LANDSCAPE";
1078 ret = 0;
1079 break;
1080 case ANDROID_CONTROL_SCENE_MODE_NIGHT:
1081 msg = "NIGHT";
1082 ret = 0;
1083 break;
1084 case ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
1085 msg = "NIGHT_PORTRAIT";
1086 ret = 0;
1087 break;
1088 case ANDROID_CONTROL_SCENE_MODE_THEATRE:
1089 msg = "THEATRE";
1090 ret = 0;
1091 break;
1092 case ANDROID_CONTROL_SCENE_MODE_BEACH:
1093 msg = "BEACH";
1094 ret = 0;
1095 break;
1096 case ANDROID_CONTROL_SCENE_MODE_SNOW:
1097 msg = "SNOW";
1098 ret = 0;
1099 break;
1100 case ANDROID_CONTROL_SCENE_MODE_SUNSET:
1101 msg = "SUNSET";
1102 ret = 0;
1103 break;
1104 case ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO:
1105 msg = "STEADYPHOTO";
1106 ret = 0;
1107 break;
1108 case ANDROID_CONTROL_SCENE_MODE_FIREWORKS:
1109 msg = "FIREWORKS";
1110 ret = 0;
1111 break;
1112 case ANDROID_CONTROL_SCENE_MODE_SPORTS:
1113 msg = "SPORTS";
1114 ret = 0;
1115 break;
1116 case ANDROID_CONTROL_SCENE_MODE_PARTY:
1117 msg = "PARTY";
1118 ret = 0;
1119 break;
1120 case ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT:
1121 msg = "CANDLELIGHT";
1122 ret = 0;
1123 break;
1124 case ANDROID_CONTROL_SCENE_MODE_BARCODE:
1125 msg = "BARCODE";
1126 ret = 0;
1127 break;
1128 case ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO:
1129 msg = "HIGH_SPEED_VIDEO";
1130 ret = 0;
1131 break;
1132 case ANDROID_CONTROL_SCENE_MODE_HDR:
1133 msg = "HDR";
1134 ret = 0;
1135 break;
1136 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT:
1137 msg = "FACE_PRIORITY_LOW_LIGHT";
1138 ret = 0;
1139 break;
1140 default:
1141 msg = "error: enum value out of range";
1142 }
1143 break;
1144 }
1145 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
1146 switch (value) {
1147 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
1148 msg = "OFF";
1149 ret = 0;
1150 break;
1151 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON:
1152 msg = "ON";
1153 ret = 0;
1154 break;
1155 default:
1156 msg = "error: enum value out of range";
1157 }
1158 break;
1159 }
1160 case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
1161 break;
1162 }
1163 case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
1164 break;
1165 }
1166 case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
1167 break;
1168 }
1169 case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
1170 break;
1171 }
1172 case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
1173 break;
1174 }
1175 case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
1176 break;
1177 }
1178 case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
1179 break;
1180 }
1181 case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
1182 break;
1183 }
1184 case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
1185 break;
1186 }
1187 case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
1188 break;
1189 }
1190 case ANDROID_CONTROL_MAX_REGIONS: {
1191 break;
1192 }
1193 case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
1194 break;
1195 }
1196 case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
1197 break;
1198 }
1199 case ANDROID_CONTROL_AE_STATE: {
1200 switch (value) {
1201 case ANDROID_CONTROL_AE_STATE_INACTIVE:
1202 msg = "INACTIVE";
1203 ret = 0;
1204 break;
1205 case ANDROID_CONTROL_AE_STATE_SEARCHING:
1206 msg = "SEARCHING";
1207 ret = 0;
1208 break;
1209 case ANDROID_CONTROL_AE_STATE_CONVERGED:
1210 msg = "CONVERGED";
1211 ret = 0;
1212 break;
1213 case ANDROID_CONTROL_AE_STATE_LOCKED:
1214 msg = "LOCKED";
1215 ret = 0;
1216 break;
1217 case ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED:
1218 msg = "FLASH_REQUIRED";
1219 ret = 0;
1220 break;
1221 case ANDROID_CONTROL_AE_STATE_PRECAPTURE:
1222 msg = "PRECAPTURE";
1223 ret = 0;
1224 break;
1225 default:
1226 msg = "error: enum value out of range";
1227 }
1228 break;
1229 }
1230 case ANDROID_CONTROL_AF_STATE: {
1231 switch (value) {
1232 case ANDROID_CONTROL_AF_STATE_INACTIVE:
1233 msg = "INACTIVE";
1234 ret = 0;
1235 break;
1236 case ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN:
1237 msg = "PASSIVE_SCAN";
1238 ret = 0;
1239 break;
1240 case ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED:
1241 msg = "PASSIVE_FOCUSED";
1242 ret = 0;
1243 break;
1244 case ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN:
1245 msg = "ACTIVE_SCAN";
1246 ret = 0;
1247 break;
1248 case ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED:
1249 msg = "FOCUSED_LOCKED";
1250 ret = 0;
1251 break;
1252 case ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
1253 msg = "NOT_FOCUSED_LOCKED";
1254 ret = 0;
1255 break;
1256 case ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
1257 msg = "PASSIVE_UNFOCUSED";
1258 ret = 0;
1259 break;
1260 default:
1261 msg = "error: enum value out of range";
1262 }
1263 break;
1264 }
1265 case ANDROID_CONTROL_AF_TRIGGER_ID: {
1266 break;
1267 }
1268 case ANDROID_CONTROL_AWB_STATE: {
1269 switch (value) {
1270 case ANDROID_CONTROL_AWB_STATE_INACTIVE:
1271 msg = "INACTIVE";
1272 ret = 0;
1273 break;
1274 case ANDROID_CONTROL_AWB_STATE_SEARCHING:
1275 msg = "SEARCHING";
1276 ret = 0;
1277 break;
1278 case ANDROID_CONTROL_AWB_STATE_CONVERGED:
1279 msg = "CONVERGED";
1280 ret = 0;
1281 break;
1282 case ANDROID_CONTROL_AWB_STATE_LOCKED:
1283 msg = "LOCKED";
1284 ret = 0;
1285 break;
1286 default:
1287 msg = "error: enum value out of range";
1288 }
1289 break;
1290 }
1291 case ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS: {
1292 break;
1293 }
1294 case ANDROID_CONTROL_AE_LOCK_AVAILABLE: {
1295 switch (value) {
1296 case ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE:
1297 msg = "FALSE";
1298 ret = 0;
1299 break;
1300 case ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE:
1301 msg = "TRUE";
1302 ret = 0;
1303 break;
1304 default:
1305 msg = "error: enum value out of range";
1306 }
1307 break;
1308 }
1309 case ANDROID_CONTROL_AWB_LOCK_AVAILABLE: {
1310 switch (value) {
1311 case ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE:
1312 msg = "FALSE";
1313 ret = 0;
1314 break;
1315 case ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE:
1316 msg = "TRUE";
1317 ret = 0;
1318 break;
1319 default:
1320 msg = "error: enum value out of range";
1321 }
1322 break;
1323 }
1324 case ANDROID_CONTROL_AVAILABLE_MODES: {
1325 break;
1326 }
1327
1328 case ANDROID_DEMOSAIC_MODE: {
1329 switch (value) {
1330 case ANDROID_DEMOSAIC_MODE_FAST:
1331 msg = "FAST";
1332 ret = 0;
1333 break;
1334 case ANDROID_DEMOSAIC_MODE_HIGH_QUALITY:
1335 msg = "HIGH_QUALITY";
1336 ret = 0;
1337 break;
1338 default:
1339 msg = "error: enum value out of range";
1340 }
1341 break;
1342 }
1343
1344 case ANDROID_EDGE_MODE: {
1345 switch (value) {
1346 case ANDROID_EDGE_MODE_OFF:
1347 msg = "OFF";
1348 ret = 0;
1349 break;
1350 case ANDROID_EDGE_MODE_FAST:
1351 msg = "FAST";
1352 ret = 0;
1353 break;
1354 case ANDROID_EDGE_MODE_HIGH_QUALITY:
1355 msg = "HIGH_QUALITY";
1356 ret = 0;
1357 break;
1358 case ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG:
1359 msg = "ZERO_SHUTTER_LAG";
1360 ret = 0;
1361 break;
1362 default:
1363 msg = "error: enum value out of range";
1364 }
1365 break;
1366 }
1367 case ANDROID_EDGE_STRENGTH: {
1368 break;
1369 }
1370 case ANDROID_EDGE_AVAILABLE_EDGE_MODES: {
1371 break;
1372 }
1373
1374 case ANDROID_FLASH_FIRING_POWER: {
1375 break;
1376 }
1377 case ANDROID_FLASH_FIRING_TIME: {
1378 break;
1379 }
1380 case ANDROID_FLASH_MODE: {
1381 switch (value) {
1382 case ANDROID_FLASH_MODE_OFF:
1383 msg = "OFF";
1384 ret = 0;
1385 break;
1386 case ANDROID_FLASH_MODE_SINGLE:
1387 msg = "SINGLE";
1388 ret = 0;
1389 break;
1390 case ANDROID_FLASH_MODE_TORCH:
1391 msg = "TORCH";
1392 ret = 0;
1393 break;
1394 default:
1395 msg = "error: enum value out of range";
1396 }
1397 break;
1398 }
1399 case ANDROID_FLASH_COLOR_TEMPERATURE: {
1400 break;
1401 }
1402 case ANDROID_FLASH_MAX_ENERGY: {
1403 break;
1404 }
1405 case ANDROID_FLASH_STATE: {
1406 switch (value) {
1407 case ANDROID_FLASH_STATE_UNAVAILABLE:
1408 msg = "UNAVAILABLE";
1409 ret = 0;
1410 break;
1411 case ANDROID_FLASH_STATE_CHARGING:
1412 msg = "CHARGING";
1413 ret = 0;
1414 break;
1415 case ANDROID_FLASH_STATE_READY:
1416 msg = "READY";
1417 ret = 0;
1418 break;
1419 case ANDROID_FLASH_STATE_FIRED:
1420 msg = "FIRED";
1421 ret = 0;
1422 break;
1423 case ANDROID_FLASH_STATE_PARTIAL:
1424 msg = "PARTIAL";
1425 ret = 0;
1426 break;
1427 default:
1428 msg = "error: enum value out of range";
1429 }
1430 break;
1431 }
1432
1433 case ANDROID_FLASH_INFO_AVAILABLE: {
1434 switch (value) {
1435 case ANDROID_FLASH_INFO_AVAILABLE_FALSE:
1436 msg = "FALSE";
1437 ret = 0;
1438 break;
1439 case ANDROID_FLASH_INFO_AVAILABLE_TRUE:
1440 msg = "TRUE";
1441 ret = 0;
1442 break;
1443 default:
1444 msg = "error: enum value out of range";
1445 }
1446 break;
1447 }
1448 case ANDROID_FLASH_INFO_CHARGE_DURATION: {
1449 break;
1450 }
1451
1452 case ANDROID_HOT_PIXEL_MODE: {
1453 switch (value) {
1454 case ANDROID_HOT_PIXEL_MODE_OFF:
1455 msg = "OFF";
1456 ret = 0;
1457 break;
1458 case ANDROID_HOT_PIXEL_MODE_FAST:
1459 msg = "FAST";
1460 ret = 0;
1461 break;
1462 case ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY:
1463 msg = "HIGH_QUALITY";
1464 ret = 0;
1465 break;
1466 default:
1467 msg = "error: enum value out of range";
1468 }
1469 break;
1470 }
1471 case ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: {
1472 break;
1473 }
1474
1475 case ANDROID_JPEG_GPS_COORDINATES: {
1476 break;
1477 }
1478 case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
1479 break;
1480 }
1481 case ANDROID_JPEG_GPS_TIMESTAMP: {
1482 break;
1483 }
1484 case ANDROID_JPEG_ORIENTATION: {
1485 break;
1486 }
1487 case ANDROID_JPEG_QUALITY: {
1488 break;
1489 }
1490 case ANDROID_JPEG_THUMBNAIL_QUALITY: {
1491 break;
1492 }
1493 case ANDROID_JPEG_THUMBNAIL_SIZE: {
1494 break;
1495 }
1496 case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
1497 break;
1498 }
1499 case ANDROID_JPEG_MAX_SIZE: {
1500 break;
1501 }
1502 case ANDROID_JPEG_SIZE: {
1503 break;
1504 }
1505
1506 case ANDROID_LENS_APERTURE: {
1507 break;
1508 }
1509 case ANDROID_LENS_FILTER_DENSITY: {
1510 break;
1511 }
1512 case ANDROID_LENS_FOCAL_LENGTH: {
1513 break;
1514 }
1515 case ANDROID_LENS_FOCUS_DISTANCE: {
1516 break;
1517 }
1518 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
1519 switch (value) {
1520 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF:
1521 msg = "OFF";
1522 ret = 0;
1523 break;
1524 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON:
1525 msg = "ON";
1526 ret = 0;
1527 break;
1528 default:
1529 msg = "error: enum value out of range";
1530 }
1531 break;
1532 }
1533 case ANDROID_LENS_FACING: {
1534 switch (value) {
1535 case ANDROID_LENS_FACING_FRONT:
1536 msg = "FRONT";
1537 ret = 0;
1538 break;
1539 case ANDROID_LENS_FACING_BACK:
1540 msg = "BACK";
1541 ret = 0;
1542 break;
1543 case ANDROID_LENS_FACING_EXTERNAL:
1544 msg = "EXTERNAL";
1545 ret = 0;
1546 break;
1547 default:
1548 msg = "error: enum value out of range";
1549 }
1550 break;
1551 }
1552 case ANDROID_LENS_POSE_ROTATION: {
1553 break;
1554 }
1555 case ANDROID_LENS_POSE_TRANSLATION: {
1556 break;
1557 }
1558 case ANDROID_LENS_FOCUS_RANGE: {
1559 break;
1560 }
1561 case ANDROID_LENS_STATE: {
1562 switch (value) {
1563 case ANDROID_LENS_STATE_STATIONARY:
1564 msg = "STATIONARY";
1565 ret = 0;
1566 break;
1567 case ANDROID_LENS_STATE_MOVING:
1568 msg = "MOVING";
1569 ret = 0;
1570 break;
1571 default:
1572 msg = "error: enum value out of range";
1573 }
1574 break;
1575 }
1576 case ANDROID_LENS_INTRINSIC_CALIBRATION: {
1577 break;
1578 }
1579 case ANDROID_LENS_RADIAL_DISTORTION: {
1580 break;
1581 }
1582
1583 case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
1584 break;
1585 }
1586 case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
1587 break;
1588 }
1589 case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
1590 break;
1591 }
1592 case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
1593 break;
1594 }
1595 case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
1596 break;
1597 }
1598 case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
1599 break;
1600 }
1601 case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
1602 break;
1603 }
1604 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: {
1605 switch (value) {
1606 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
1607 msg = "UNCALIBRATED";
1608 ret = 0;
1609 break;
1610 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
1611 msg = "APPROXIMATE";
1612 ret = 0;
1613 break;
1614 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
1615 msg = "CALIBRATED";
1616 ret = 0;
1617 break;
1618 default:
1619 msg = "error: enum value out of range";
1620 }
1621 break;
1622 }
1623
1624 case ANDROID_NOISE_REDUCTION_MODE: {
1625 switch (value) {
1626 case ANDROID_NOISE_REDUCTION_MODE_OFF:
1627 msg = "OFF";
1628 ret = 0;
1629 break;
1630 case ANDROID_NOISE_REDUCTION_MODE_FAST:
1631 msg = "FAST";
1632 ret = 0;
1633 break;
1634 case ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY:
1635 msg = "HIGH_QUALITY";
1636 ret = 0;
1637 break;
1638 case ANDROID_NOISE_REDUCTION_MODE_MINIMAL:
1639 msg = "MINIMAL";
1640 ret = 0;
1641 break;
1642 case ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG:
1643 msg = "ZERO_SHUTTER_LAG";
1644 ret = 0;
1645 break;
1646 default:
1647 msg = "error: enum value out of range";
1648 }
1649 break;
1650 }
1651 case ANDROID_NOISE_REDUCTION_STRENGTH: {
1652 break;
1653 }
1654 case ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: {
1655 break;
1656 }
1657
1658 case ANDROID_QUIRKS_METERING_CROP_REGION: {
1659 break;
1660 }
1661 case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
1662 break;
1663 }
1664 case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
1665 break;
1666 }
1667 case ANDROID_QUIRKS_USE_PARTIAL_RESULT: {
1668 break;
1669 }
1670 case ANDROID_QUIRKS_PARTIAL_RESULT: {
1671 switch (value) {
1672 case ANDROID_QUIRKS_PARTIAL_RESULT_FINAL:
1673 msg = "FINAL";
1674 ret = 0;
1675 break;
1676 case ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL:
1677 msg = "PARTIAL";
1678 ret = 0;
1679 break;
1680 default:
1681 msg = "error: enum value out of range";
1682 }
1683 break;
1684 }
1685
1686 case ANDROID_REQUEST_FRAME_COUNT: {
1687 break;
1688 }
1689 case ANDROID_REQUEST_ID: {
1690 break;
1691 }
1692 case ANDROID_REQUEST_INPUT_STREAMS: {
1693 break;
1694 }
1695 case ANDROID_REQUEST_METADATA_MODE: {
1696 switch (value) {
1697 case ANDROID_REQUEST_METADATA_MODE_NONE:
1698 msg = "NONE";
1699 ret = 0;
1700 break;
1701 case ANDROID_REQUEST_METADATA_MODE_FULL:
1702 msg = "FULL";
1703 ret = 0;
1704 break;
1705 default:
1706 msg = "error: enum value out of range";
1707 }
1708 break;
1709 }
1710 case ANDROID_REQUEST_OUTPUT_STREAMS: {
1711 break;
1712 }
1713 case ANDROID_REQUEST_TYPE: {
1714 switch (value) {
1715 case ANDROID_REQUEST_TYPE_CAPTURE:
1716 msg = "CAPTURE";
1717 ret = 0;
1718 break;
1719 case ANDROID_REQUEST_TYPE_REPROCESS:
1720 msg = "REPROCESS";
1721 ret = 0;
1722 break;
1723 default:
1724 msg = "error: enum value out of range";
1725 }
1726 break;
1727 }
1728 case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
1729 break;
1730 }
1731 case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
1732 break;
1733 }
1734 case ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS: {
1735 break;
1736 }
1737 case ANDROID_REQUEST_PIPELINE_DEPTH: {
1738 break;
1739 }
1740 case ANDROID_REQUEST_PIPELINE_MAX_DEPTH: {
1741 break;
1742 }
1743 case ANDROID_REQUEST_PARTIAL_RESULT_COUNT: {
1744 break;
1745 }
1746 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES: {
1747 switch (value) {
1748 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE:
1749 msg = "BACKWARD_COMPATIBLE";
1750 ret = 0;
1751 break;
1752 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR:
1753 msg = "MANUAL_SENSOR";
1754 ret = 0;
1755 break;
1756 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING:
1757 msg = "MANUAL_POST_PROCESSING";
1758 ret = 0;
1759 break;
1760 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW:
1761 msg = "RAW";
1762 ret = 0;
1763 break;
1764 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING:
1765 msg = "PRIVATE_REPROCESSING";
1766 ret = 0;
1767 break;
1768 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS:
1769 msg = "READ_SENSOR_SETTINGS";
1770 ret = 0;
1771 break;
1772 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE:
1773 msg = "BURST_CAPTURE";
1774 ret = 0;
1775 break;
1776 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING:
1777 msg = "YUV_REPROCESSING";
1778 ret = 0;
1779 break;
1780 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT:
1781 msg = "DEPTH_OUTPUT";
1782 ret = 0;
1783 break;
1784 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO:
1785 msg = "CONSTRAINED_HIGH_SPEED_VIDEO";
1786 ret = 0;
1787 break;
1788 default:
1789 msg = "error: enum value out of range";
1790 }
1791 break;
1792 }
1793 case ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS: {
1794 break;
1795 }
1796 case ANDROID_REQUEST_AVAILABLE_RESULT_KEYS: {
1797 break;
1798 }
1799 case ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS: {
1800 break;
1801 }
1802
1803 case ANDROID_SCALER_CROP_REGION: {
1804 break;
1805 }
1806 case ANDROID_SCALER_AVAILABLE_FORMATS: {
1807 switch (value) {
1808 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW16:
1809 msg = "RAW16";
1810 ret = 0;
1811 break;
1812 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE:
1813 msg = "RAW_OPAQUE";
1814 ret = 0;
1815 break;
1816 case ANDROID_SCALER_AVAILABLE_FORMATS_YV12:
1817 msg = "YV12";
1818 ret = 0;
1819 break;
1820 case ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP:
1821 msg = "YCrCb_420_SP";
1822 ret = 0;
1823 break;
1824 case ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED:
1825 msg = "IMPLEMENTATION_DEFINED";
1826 ret = 0;
1827 break;
1828 case ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888:
1829 msg = "YCbCr_420_888";
1830 ret = 0;
1831 break;
1832 case ANDROID_SCALER_AVAILABLE_FORMATS_BLOB:
1833 msg = "BLOB";
1834 ret = 0;
1835 break;
1836 default:
1837 msg = "error: enum value out of range";
1838 }
1839 break;
1840 }
1841 case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
1842 break;
1843 }
1844 case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
1845 break;
1846 }
1847 case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
1848 break;
1849 }
1850 case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
1851 break;
1852 }
1853 case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
1854 break;
1855 }
1856 case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
1857 break;
1858 }
1859 case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
1860 break;
1861 }
1862 case ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP: {
1863 break;
1864 }
1865 case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: {
1866 switch (value) {
1867 case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT:
1868 msg = "OUTPUT";
1869 ret = 0;
1870 break;
1871 case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT:
1872 msg = "INPUT";
1873 ret = 0;
1874 break;
1875 default:
1876 msg = "error: enum value out of range";
1877 }
1878 break;
1879 }
1880 case ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: {
1881 break;
1882 }
1883 case ANDROID_SCALER_AVAILABLE_STALL_DURATIONS: {
1884 break;
1885 }
1886 case ANDROID_SCALER_CROPPING_TYPE: {
1887 switch (value) {
1888 case ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY:
1889 msg = "CENTER_ONLY";
1890 ret = 0;
1891 break;
1892 case ANDROID_SCALER_CROPPING_TYPE_FREEFORM:
1893 msg = "FREEFORM";
1894 ret = 0;
1895 break;
1896 default:
1897 msg = "error: enum value out of range";
1898 }
1899 break;
1900 }
1901
1902 case ANDROID_SENSOR_EXPOSURE_TIME: {
1903 break;
1904 }
1905 case ANDROID_SENSOR_FRAME_DURATION: {
1906 break;
1907 }
1908 case ANDROID_SENSOR_SENSITIVITY: {
1909 break;
1910 }
1911 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1: {
1912 switch (value) {
1913 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
1914 msg = "DAYLIGHT";
1915 ret = 0;
1916 break;
1917 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
1918 msg = "FLUORESCENT";
1919 ret = 0;
1920 break;
1921 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
1922 msg = "TUNGSTEN";
1923 ret = 0;
1924 break;
1925 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
1926 msg = "FLASH";
1927 ret = 0;
1928 break;
1929 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
1930 msg = "FINE_WEATHER";
1931 ret = 0;
1932 break;
1933 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
1934 msg = "CLOUDY_WEATHER";
1935 ret = 0;
1936 break;
1937 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
1938 msg = "SHADE";
1939 ret = 0;
1940 break;
1941 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
1942 msg = "DAYLIGHT_FLUORESCENT";
1943 ret = 0;
1944 break;
1945 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
1946 msg = "DAY_WHITE_FLUORESCENT";
1947 ret = 0;
1948 break;
1949 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
1950 msg = "COOL_WHITE_FLUORESCENT";
1951 ret = 0;
1952 break;
1953 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
1954 msg = "WHITE_FLUORESCENT";
1955 ret = 0;
1956 break;
1957 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
1958 msg = "STANDARD_A";
1959 ret = 0;
1960 break;
1961 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
1962 msg = "STANDARD_B";
1963 ret = 0;
1964 break;
1965 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
1966 msg = "STANDARD_C";
1967 ret = 0;
1968 break;
1969 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55:
1970 msg = "D55";
1971 ret = 0;
1972 break;
1973 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65:
1974 msg = "D65";
1975 ret = 0;
1976 break;
1977 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75:
1978 msg = "D75";
1979 ret = 0;
1980 break;
1981 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50:
1982 msg = "D50";
1983 ret = 0;
1984 break;
1985 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
1986 msg = "ISO_STUDIO_TUNGSTEN";
1987 ret = 0;
1988 break;
1989 default:
1990 msg = "error: enum value out of range";
1991 }
1992 break;
1993 }
1994 case ANDROID_SENSOR_REFERENCE_ILLUMINANT2: {
1995 break;
1996 }
1997 case ANDROID_SENSOR_CALIBRATION_TRANSFORM1: {
1998 break;
1999 }
2000 case ANDROID_SENSOR_CALIBRATION_TRANSFORM2: {
2001 break;
2002 }
2003 case ANDROID_SENSOR_COLOR_TRANSFORM1: {
2004 break;
2005 }
2006 case ANDROID_SENSOR_COLOR_TRANSFORM2: {
2007 break;
2008 }
2009 case ANDROID_SENSOR_FORWARD_MATRIX1: {
2010 break;
2011 }
2012 case ANDROID_SENSOR_FORWARD_MATRIX2: {
2013 break;
2014 }
2015 case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
2016 break;
2017 }
2018 case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
2019 break;
2020 }
2021 case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
2022 break;
2023 }
2024 case ANDROID_SENSOR_ORIENTATION: {
2025 break;
2026 }
2027 case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS: {
2028 break;
2029 }
2030 case ANDROID_SENSOR_TIMESTAMP: {
2031 break;
2032 }
2033 case ANDROID_SENSOR_TEMPERATURE: {
2034 break;
2035 }
2036 case ANDROID_SENSOR_NEUTRAL_COLOR_POINT: {
2037 break;
2038 }
2039 case ANDROID_SENSOR_NOISE_PROFILE: {
2040 break;
2041 }
2042 case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP: {
2043 break;
2044 }
2045 case ANDROID_SENSOR_PROFILE_TONE_CURVE: {
2046 break;
2047 }
2048 case ANDROID_SENSOR_GREEN_SPLIT: {
2049 break;
2050 }
2051 case ANDROID_SENSOR_TEST_PATTERN_DATA: {
2052 break;
2053 }
2054 case ANDROID_SENSOR_TEST_PATTERN_MODE: {
2055 switch (value) {
2056 case ANDROID_SENSOR_TEST_PATTERN_MODE_OFF:
2057 msg = "OFF";
2058 ret = 0;
2059 break;
2060 case ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
2061 msg = "SOLID_COLOR";
2062 ret = 0;
2063 break;
2064 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
2065 msg = "COLOR_BARS";
2066 ret = 0;
2067 break;
2068 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
2069 msg = "COLOR_BARS_FADE_TO_GRAY";
2070 ret = 0;
2071 break;
2072 case ANDROID_SENSOR_TEST_PATTERN_MODE_PN9:
2073 msg = "PN9";
2074 ret = 0;
2075 break;
2076 case ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
2077 msg = "CUSTOM1";
2078 ret = 0;
2079 break;
2080 default:
2081 msg = "error: enum value out of range";
2082 }
2083 break;
2084 }
2085 case ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES: {
2086 break;
2087 }
2088 case ANDROID_SENSOR_ROLLING_SHUTTER_SKEW: {
2089 break;
2090 }
2091
2092 case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
2093 break;
2094 }
2095 case ANDROID_SENSOR_INFO_SENSITIVITY_RANGE: {
2096 break;
2097 }
2098 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
2099 switch (value) {
2100 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
2101 msg = "RGGB";
2102 ret = 0;
2103 break;
2104 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
2105 msg = "GRBG";
2106 ret = 0;
2107 break;
2108 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
2109 msg = "GBRG";
2110 ret = 0;
2111 break;
2112 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
2113 msg = "BGGR";
2114 ret = 0;
2115 break;
2116 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
2117 msg = "RGB";
2118 ret = 0;
2119 break;
2120 default:
2121 msg = "error: enum value out of range";
2122 }
2123 break;
2124 }
2125 case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
2126 break;
2127 }
2128 case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
2129 break;
2130 }
2131 case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
2132 break;
2133 }
2134 case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
2135 break;
2136 }
2137 case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
2138 break;
2139 }
2140 case ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE: {
2141 switch (value) {
2142 case ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN:
2143 msg = "UNKNOWN";
2144 ret = 0;
2145 break;
2146 case ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME:
2147 msg = "REALTIME";
2148 ret = 0;
2149 break;
2150 default:
2151 msg = "error: enum value out of range";
2152 }
2153 break;
2154 }
2155 case ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED: {
2156 switch (value) {
2157 case ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE:
2158 msg = "FALSE";
2159 ret = 0;
2160 break;
2161 case ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE:
2162 msg = "TRUE";
2163 ret = 0;
2164 break;
2165 default:
2166 msg = "error: enum value out of range";
2167 }
2168 break;
2169 }
2170 case ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: {
2171 break;
2172 }
2173
2174 case ANDROID_SHADING_MODE: {
2175 switch (value) {
2176 case ANDROID_SHADING_MODE_OFF:
2177 msg = "OFF";
2178 ret = 0;
2179 break;
2180 case ANDROID_SHADING_MODE_FAST:
2181 msg = "FAST";
2182 ret = 0;
2183 break;
2184 case ANDROID_SHADING_MODE_HIGH_QUALITY:
2185 msg = "HIGH_QUALITY";
2186 ret = 0;
2187 break;
2188 default:
2189 msg = "error: enum value out of range";
2190 }
2191 break;
2192 }
2193 case ANDROID_SHADING_STRENGTH: {
2194 break;
2195 }
2196 case ANDROID_SHADING_AVAILABLE_MODES: {
2197 break;
2198 }
2199
2200 case ANDROID_STATISTICS_FACE_DETECT_MODE: {
2201 switch (value) {
2202 case ANDROID_STATISTICS_FACE_DETECT_MODE_OFF:
2203 msg = "OFF";
2204 ret = 0;
2205 break;
2206 case ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE:
2207 msg = "SIMPLE";
2208 ret = 0;
2209 break;
2210 case ANDROID_STATISTICS_FACE_DETECT_MODE_FULL:
2211 msg = "FULL";
2212 ret = 0;
2213 break;
2214 default:
2215 msg = "error: enum value out of range";
2216 }
2217 break;
2218 }
2219 case ANDROID_STATISTICS_HISTOGRAM_MODE: {
2220 switch (value) {
2221 case ANDROID_STATISTICS_HISTOGRAM_MODE_OFF:
2222 msg = "OFF";
2223 ret = 0;
2224 break;
2225 case ANDROID_STATISTICS_HISTOGRAM_MODE_ON:
2226 msg = "ON";
2227 ret = 0;
2228 break;
2229 default:
2230 msg = "error: enum value out of range";
2231 }
2232 break;
2233 }
2234 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
2235 switch (value) {
2236 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF:
2237 msg = "OFF";
2238 ret = 0;
2239 break;
2240 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON:
2241 msg = "ON";
2242 ret = 0;
2243 break;
2244 default:
2245 msg = "error: enum value out of range";
2246 }
2247 break;
2248 }
2249 case ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE: {
2250 switch (value) {
2251 case ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF:
2252 msg = "OFF";
2253 ret = 0;
2254 break;
2255 case ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON:
2256 msg = "ON";
2257 ret = 0;
2258 break;
2259 default:
2260 msg = "error: enum value out of range";
2261 }
2262 break;
2263 }
2264 case ANDROID_STATISTICS_FACE_IDS: {
2265 break;
2266 }
2267 case ANDROID_STATISTICS_FACE_LANDMARKS: {
2268 break;
2269 }
2270 case ANDROID_STATISTICS_FACE_RECTANGLES: {
2271 break;
2272 }
2273 case ANDROID_STATISTICS_FACE_SCORES: {
2274 break;
2275 }
2276 case ANDROID_STATISTICS_HISTOGRAM: {
2277 break;
2278 }
2279 case ANDROID_STATISTICS_SHARPNESS_MAP: {
2280 break;
2281 }
2282 case ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP: {
2283 break;
2284 }
2285 case ANDROID_STATISTICS_LENS_SHADING_MAP: {
2286 break;
2287 }
2288 case ANDROID_STATISTICS_PREDICTED_COLOR_GAINS: {
2289 break;
2290 }
2291 case ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM: {
2292 break;
2293 }
2294 case ANDROID_STATISTICS_SCENE_FLICKER: {
2295 switch (value) {
2296 case ANDROID_STATISTICS_SCENE_FLICKER_NONE:
2297 msg = "NONE";
2298 ret = 0;
2299 break;
2300 case ANDROID_STATISTICS_SCENE_FLICKER_50HZ:
2301 msg = "50HZ";
2302 ret = 0;
2303 break;
2304 case ANDROID_STATISTICS_SCENE_FLICKER_60HZ:
2305 msg = "60HZ";
2306 ret = 0;
2307 break;
2308 default:
2309 msg = "error: enum value out of range";
2310 }
2311 break;
2312 }
2313 case ANDROID_STATISTICS_HOT_PIXEL_MAP: {
2314 break;
2315 }
2316 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE: {
2317 switch (value) {
2318 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
2319 msg = "OFF";
2320 ret = 0;
2321 break;
2322 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON:
2323 msg = "ON";
2324 ret = 0;
2325 break;
2326 default:
2327 msg = "error: enum value out of range";
2328 }
2329 break;
2330 }
2331
2332 case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
2333 break;
2334 }
2335 case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
2336 break;
2337 }
2338 case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
2339 break;
2340 }
2341 case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
2342 break;
2343 }
2344 case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
2345 break;
2346 }
2347 case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
2348 break;
2349 }
2350 case ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: {
2351 break;
2352 }
2353 case ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: {
2354 break;
2355 }
2356
2357 case ANDROID_TONEMAP_CURVE_BLUE: {
2358 break;
2359 }
2360 case ANDROID_TONEMAP_CURVE_GREEN: {
2361 break;
2362 }
2363 case ANDROID_TONEMAP_CURVE_RED: {
2364 break;
2365 }
2366 case ANDROID_TONEMAP_MODE: {
2367 switch (value) {
2368 case ANDROID_TONEMAP_MODE_CONTRAST_CURVE:
2369 msg = "CONTRAST_CURVE";
2370 ret = 0;
2371 break;
2372 case ANDROID_TONEMAP_MODE_FAST:
2373 msg = "FAST";
2374 ret = 0;
2375 break;
2376 case ANDROID_TONEMAP_MODE_HIGH_QUALITY:
2377 msg = "HIGH_QUALITY";
2378 ret = 0;
2379 break;
2380 case ANDROID_TONEMAP_MODE_GAMMA_VALUE:
2381 msg = "GAMMA_VALUE";
2382 ret = 0;
2383 break;
2384 case ANDROID_TONEMAP_MODE_PRESET_CURVE:
2385 msg = "PRESET_CURVE";
2386 ret = 0;
2387 break;
2388 default:
2389 msg = "error: enum value out of range";
2390 }
2391 break;
2392 }
2393 case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
2394 break;
2395 }
2396 case ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES: {
2397 break;
2398 }
2399 case ANDROID_TONEMAP_GAMMA: {
2400 break;
2401 }
2402 case ANDROID_TONEMAP_PRESET_CURVE: {
2403 switch (value) {
2404 case ANDROID_TONEMAP_PRESET_CURVE_SRGB:
2405 msg = "SRGB";
2406 ret = 0;
2407 break;
2408 case ANDROID_TONEMAP_PRESET_CURVE_REC709:
2409 msg = "REC709";
2410 ret = 0;
2411 break;
2412 default:
2413 msg = "error: enum value out of range";
2414 }
2415 break;
2416 }
2417
2418 case ANDROID_LED_TRANSMIT: {
2419 switch (value) {
2420 case ANDROID_LED_TRANSMIT_OFF:
2421 msg = "OFF";
2422 ret = 0;
2423 break;
2424 case ANDROID_LED_TRANSMIT_ON:
2425 msg = "ON";
2426 ret = 0;
2427 break;
2428 default:
2429 msg = "error: enum value out of range";
2430 }
2431 break;
2432 }
2433 case ANDROID_LED_AVAILABLE_LEDS: {
2434 switch (value) {
2435 case ANDROID_LED_AVAILABLE_LEDS_TRANSMIT:
2436 msg = "TRANSMIT";
2437 ret = 0;
2438 break;
2439 default:
2440 msg = "error: enum value out of range";
2441 }
2442 break;
2443 }
2444
2445 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL: {
2446 switch (value) {
2447 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
2448 msg = "LIMITED";
2449 ret = 0;
2450 break;
2451 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
2452 msg = "FULL";
2453 ret = 0;
2454 break;
2455 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
2456 msg = "LEGACY";
2457 ret = 0;
2458 break;
2459 default:
2460 msg = "error: enum value out of range";
2461 }
2462 break;
2463 }
2464
2465 case ANDROID_BLACK_LEVEL_LOCK: {
2466 switch (value) {
2467 case ANDROID_BLACK_LEVEL_LOCK_OFF:
2468 msg = "OFF";
2469 ret = 0;
2470 break;
2471 case ANDROID_BLACK_LEVEL_LOCK_ON:
2472 msg = "ON";
2473 ret = 0;
2474 break;
2475 default:
2476 msg = "error: enum value out of range";
2477 }
2478 break;
2479 }
2480
2481 case ANDROID_SYNC_FRAME_NUMBER: {
2482 switch (value) {
2483 case ANDROID_SYNC_FRAME_NUMBER_CONVERGING:
2484 msg = "CONVERGING";
2485 ret = 0;
2486 break;
2487 case ANDROID_SYNC_FRAME_NUMBER_UNKNOWN:
2488 msg = "UNKNOWN";
2489 ret = 0;
2490 break;
2491 default:
2492 msg = "error: enum value out of range";
2493 }
2494 break;
2495 }
2496 case ANDROID_SYNC_MAX_LATENCY: {
2497 switch (value) {
2498 case ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
2499 msg = "PER_FRAME_CONTROL";
2500 ret = 0;
2501 break;
2502 case ANDROID_SYNC_MAX_LATENCY_UNKNOWN:
2503 msg = "UNKNOWN";
2504 ret = 0;
2505 break;
2506 default:
2507 msg = "error: enum value out of range";
2508 }
2509 break;
2510 }
2511
2512 case ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR: {
2513 break;
2514 }
2515 case ANDROID_REPROCESS_MAX_CAPTURE_STALL: {
2516 break;
2517 }
2518
2519 case ANDROID_DEPTH_MAX_DEPTH_SAMPLES: {
2520 break;
2521 }
2522 case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS: {
2523 switch (value) {
2524 case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
2525 msg = "OUTPUT";
2526 ret = 0;
2527 break;
2528 case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT:
2529 msg = "INPUT";
2530 ret = 0;
2531 break;
2532 default:
2533 msg = "error: enum value out of range";
2534 }
2535 break;
2536 }
2537 case ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS: {
2538 break;
2539 }
2540 case ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: {
2541 break;
2542 }
2543 case ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE: {
2544 switch (value) {
2545 case ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE:
2546 msg = "FALSE";
2547 ret = 0;
2548 break;
2549 case ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE:
2550 msg = "TRUE";
2551 ret = 0;
2552 break;
2553 default:
2554 msg = "error: enum value out of range";
2555 }
2556 break;
2557 }
2558
2559 }
2560
2561 strncpy(dst, msg, size - 1);
2562 dst[size - 1] = '\0';
2563
2564 return ret;
2565 }
2566
2567
2568 #define CAMERA_METADATA_ENUM_STRING_MAX_SIZE 29
2569