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