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