2 * Copyright (C) 2012 The Android Open Source Project
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 * !! Do not reference this file directly !!
20 * It is logically a part of camera_metadata.c. It is broken out for ease of
21 * maintaining the tag info.
23 * Array assignments are done using specified-index syntax to keep things in
24 * sync with camera_metadata_tags.h
28 * ! Do not edit this file directly !
30 * Generated automatically from camera_metadata_tag_info.mako
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_GEOMETRIC] = "android.geometric",
41 [ANDROID_HOT_PIXEL] = "android.hotPixel",
42 [ANDROID_HOT_PIXEL_INFO] = "android.hotPixel.info",
43 [ANDROID_JPEG] = "android.jpeg",
44 [ANDROID_LENS] = "android.lens",
45 [ANDROID_LENS_INFO] = "android.lens.info",
46 [ANDROID_NOISE_REDUCTION] = "android.noiseReduction",
47 [ANDROID_QUIRKS] = "android.quirks",
48 [ANDROID_REQUEST] = "android.request",
49 [ANDROID_SCALER] = "android.scaler",
50 [ANDROID_SENSOR] = "android.sensor",
51 [ANDROID_SENSOR_INFO] = "android.sensor.info",
52 [ANDROID_SHADING] = "android.shading",
53 [ANDROID_STATISTICS] = "android.statistics",
54 [ANDROID_STATISTICS_INFO] = "android.statistics.info",
55 [ANDROID_TONEMAP] = "android.tonemap",
56 [ANDROID_LED] = "android.led",
59 unsigned int camera_metadata_section_bounds[ANDROID_SECTION_COUNT][2] = {
60 [ANDROID_COLOR_CORRECTION] = { ANDROID_COLOR_CORRECTION_START,
61 ANDROID_COLOR_CORRECTION_END },
62 [ANDROID_CONTROL] = { ANDROID_CONTROL_START,
63 ANDROID_CONTROL_END },
64 [ANDROID_DEMOSAIC] = { ANDROID_DEMOSAIC_START,
65 ANDROID_DEMOSAIC_END },
66 [ANDROID_EDGE] = { ANDROID_EDGE_START,
68 [ANDROID_FLASH] = { ANDROID_FLASH_START,
70 [ANDROID_FLASH_INFO] = { ANDROID_FLASH_INFO_START,
71 ANDROID_FLASH_INFO_END },
72 [ANDROID_GEOMETRIC] = { ANDROID_GEOMETRIC_START,
73 ANDROID_GEOMETRIC_END },
74 [ANDROID_HOT_PIXEL] = { ANDROID_HOT_PIXEL_START,
75 ANDROID_HOT_PIXEL_END },
76 [ANDROID_HOT_PIXEL_INFO] = { ANDROID_HOT_PIXEL_INFO_START,
77 ANDROID_HOT_PIXEL_INFO_END },
78 [ANDROID_JPEG] = { ANDROID_JPEG_START,
80 [ANDROID_LENS] = { ANDROID_LENS_START,
82 [ANDROID_LENS_INFO] = { ANDROID_LENS_INFO_START,
83 ANDROID_LENS_INFO_END },
84 [ANDROID_NOISE_REDUCTION] = { ANDROID_NOISE_REDUCTION_START,
85 ANDROID_NOISE_REDUCTION_END },
86 [ANDROID_QUIRKS] = { ANDROID_QUIRKS_START,
88 [ANDROID_REQUEST] = { ANDROID_REQUEST_START,
89 ANDROID_REQUEST_END },
90 [ANDROID_SCALER] = { ANDROID_SCALER_START,
92 [ANDROID_SENSOR] = { ANDROID_SENSOR_START,
94 [ANDROID_SENSOR_INFO] = { ANDROID_SENSOR_INFO_START,
95 ANDROID_SENSOR_INFO_END },
96 [ANDROID_SHADING] = { ANDROID_SHADING_START,
97 ANDROID_SHADING_END },
98 [ANDROID_STATISTICS] = { ANDROID_STATISTICS_START,
99 ANDROID_STATISTICS_END },
100 [ANDROID_STATISTICS_INFO] = { ANDROID_STATISTICS_INFO_START,
101 ANDROID_STATISTICS_INFO_END },
102 [ANDROID_TONEMAP] = { ANDROID_TONEMAP_START,
103 ANDROID_TONEMAP_END },
104 [ANDROID_LED] = { ANDROID_LED_START,
108 static tag_info_t android_color_correction[ANDROID_COLOR_CORRECTION_END -
109 ANDROID_COLOR_CORRECTION_START] = {
110 [ ANDROID_COLOR_CORRECTION_MODE - ANDROID_COLOR_CORRECTION_START ] =
111 { "mode", TYPE_BYTE },
112 [ ANDROID_COLOR_CORRECTION_TRANSFORM - ANDROID_COLOR_CORRECTION_START ] =
113 { "transform", TYPE_FLOAT },
116 static tag_info_t android_control[ANDROID_CONTROL_END -
117 ANDROID_CONTROL_START] = {
118 [ ANDROID_CONTROL_AE_ANTIBANDING_MODE - ANDROID_CONTROL_START ] =
119 { "aeAntibandingMode", TYPE_BYTE },
120 [ ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION - ANDROID_CONTROL_START ] =
121 { "aeExposureCompensation", TYPE_INT32 },
122 [ ANDROID_CONTROL_AE_LOCK - ANDROID_CONTROL_START ] =
123 { "aeLock", TYPE_BYTE },
124 [ ANDROID_CONTROL_AE_MODE - ANDROID_CONTROL_START ] =
125 { "aeMode", TYPE_BYTE },
126 [ ANDROID_CONTROL_AE_REGIONS - ANDROID_CONTROL_START ] =
127 { "aeRegions", TYPE_INT32 },
128 [ ANDROID_CONTROL_AE_TARGET_FPS_RANGE - ANDROID_CONTROL_START ] =
129 { "aeTargetFpsRange", TYPE_INT32 },
130 [ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER - ANDROID_CONTROL_START ] =
131 { "aePrecaptureTrigger", TYPE_BYTE },
132 [ ANDROID_CONTROL_AF_MODE - ANDROID_CONTROL_START ] =
133 { "afMode", TYPE_BYTE },
134 [ ANDROID_CONTROL_AF_REGIONS - ANDROID_CONTROL_START ] =
135 { "afRegions", TYPE_INT32 },
136 [ ANDROID_CONTROL_AF_TRIGGER - ANDROID_CONTROL_START ] =
137 { "afTrigger", TYPE_BYTE },
138 [ ANDROID_CONTROL_AWB_LOCK - ANDROID_CONTROL_START ] =
139 { "awbLock", TYPE_BYTE },
140 [ ANDROID_CONTROL_AWB_MODE - ANDROID_CONTROL_START ] =
141 { "awbMode", TYPE_BYTE },
142 [ ANDROID_CONTROL_AWB_REGIONS - ANDROID_CONTROL_START ] =
143 { "awbRegions", TYPE_INT32 },
144 [ ANDROID_CONTROL_CAPTURE_INTENT - ANDROID_CONTROL_START ] =
145 { "captureIntent", TYPE_BYTE },
146 [ ANDROID_CONTROL_EFFECT_MODE - ANDROID_CONTROL_START ] =
147 { "effectMode", TYPE_BYTE },
148 [ ANDROID_CONTROL_MODE - ANDROID_CONTROL_START ] =
149 { "mode", TYPE_BYTE },
150 [ ANDROID_CONTROL_SCENE_MODE - ANDROID_CONTROL_START ] =
151 { "sceneMode", TYPE_BYTE },
152 [ ANDROID_CONTROL_VIDEO_STABILIZATION_MODE - ANDROID_CONTROL_START ] =
153 { "videoStabilizationMode", TYPE_BYTE },
154 [ ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES - ANDROID_CONTROL_START ] =
155 { "aeAvailableAntibandingModes", TYPE_BYTE },
156 [ ANDROID_CONTROL_AE_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
157 { "aeAvailableModes", TYPE_BYTE },
158 [ ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES - ANDROID_CONTROL_START ] =
159 { "aeAvailableTargetFpsRanges", TYPE_INT32 },
160 [ ANDROID_CONTROL_AE_COMPENSATION_RANGE - ANDROID_CONTROL_START ] =
161 { "aeCompensationRange", TYPE_INT32 },
162 [ ANDROID_CONTROL_AE_COMPENSATION_STEP - ANDROID_CONTROL_START ] =
163 { "aeCompensationStep", TYPE_RATIONAL
165 [ ANDROID_CONTROL_AF_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
166 { "afAvailableModes", TYPE_BYTE },
167 [ ANDROID_CONTROL_AVAILABLE_EFFECTS - ANDROID_CONTROL_START ] =
168 { "availableEffects", TYPE_BYTE },
169 [ ANDROID_CONTROL_AVAILABLE_SCENE_MODES - ANDROID_CONTROL_START ] =
170 { "availableSceneModes", TYPE_BYTE },
171 [ ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES - ANDROID_CONTROL_START ] =
172 { "availableVideoStabilizationModes",
174 [ ANDROID_CONTROL_AWB_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
175 { "awbAvailableModes", TYPE_BYTE },
176 [ ANDROID_CONTROL_MAX_REGIONS - ANDROID_CONTROL_START ] =
177 { "maxRegions", TYPE_INT32 },
178 [ ANDROID_CONTROL_SCENE_MODE_OVERRIDES - ANDROID_CONTROL_START ] =
179 { "sceneModeOverrides", TYPE_BYTE },
180 [ ANDROID_CONTROL_AE_PRECAPTURE_ID - ANDROID_CONTROL_START ] =
181 { "aePrecaptureId", TYPE_INT32 },
182 [ ANDROID_CONTROL_AE_STATE - ANDROID_CONTROL_START ] =
183 { "aeState", TYPE_BYTE },
184 [ ANDROID_CONTROL_AF_STATE - ANDROID_CONTROL_START ] =
185 { "afState", TYPE_BYTE },
186 [ ANDROID_CONTROL_AF_TRIGGER_ID - ANDROID_CONTROL_START ] =
187 { "afTriggerId", TYPE_INT32 },
188 [ ANDROID_CONTROL_AWB_STATE - ANDROID_CONTROL_START ] =
189 { "awbState", TYPE_BYTE },
192 static tag_info_t android_demosaic[ANDROID_DEMOSAIC_END -
193 ANDROID_DEMOSAIC_START] = {
194 [ ANDROID_DEMOSAIC_MODE - ANDROID_DEMOSAIC_START ] =
195 { "mode", TYPE_BYTE },
198 static tag_info_t android_edge[ANDROID_EDGE_END -
199 ANDROID_EDGE_START] = {
200 [ ANDROID_EDGE_MODE - ANDROID_EDGE_START ] =
201 { "mode", TYPE_BYTE },
202 [ ANDROID_EDGE_STRENGTH - ANDROID_EDGE_START ] =
203 { "strength", TYPE_BYTE },
206 static tag_info_t android_flash[ANDROID_FLASH_END -
207 ANDROID_FLASH_START] = {
208 [ ANDROID_FLASH_FIRING_POWER - ANDROID_FLASH_START ] =
209 { "firingPower", TYPE_BYTE },
210 [ ANDROID_FLASH_FIRING_TIME - ANDROID_FLASH_START ] =
211 { "firingTime", TYPE_INT64 },
212 [ ANDROID_FLASH_MODE - ANDROID_FLASH_START ] =
213 { "mode", TYPE_BYTE },
214 [ ANDROID_FLASH_COLOR_TEMPERATURE - ANDROID_FLASH_START ] =
215 { "colorTemperature", TYPE_BYTE },
216 [ ANDROID_FLASH_MAX_ENERGY - ANDROID_FLASH_START ] =
217 { "maxEnergy", TYPE_BYTE },
218 [ ANDROID_FLASH_STATE - ANDROID_FLASH_START ] =
219 { "state", TYPE_BYTE },
222 static tag_info_t android_flash_info[ANDROID_FLASH_INFO_END -
223 ANDROID_FLASH_INFO_START] = {
224 [ ANDROID_FLASH_INFO_AVAILABLE - ANDROID_FLASH_INFO_START ] =
225 { "available", TYPE_BYTE },
226 [ ANDROID_FLASH_INFO_CHARGE_DURATION - ANDROID_FLASH_INFO_START ] =
227 { "chargeDuration", TYPE_INT64 },
230 static tag_info_t android_geometric[ANDROID_GEOMETRIC_END -
231 ANDROID_GEOMETRIC_START] = {
232 [ ANDROID_GEOMETRIC_MODE - ANDROID_GEOMETRIC_START ] =
233 { "mode", TYPE_BYTE },
234 [ ANDROID_GEOMETRIC_STRENGTH - ANDROID_GEOMETRIC_START ] =
235 { "strength", TYPE_BYTE },
238 static tag_info_t android_hot_pixel[ANDROID_HOT_PIXEL_END -
239 ANDROID_HOT_PIXEL_START] = {
240 [ ANDROID_HOT_PIXEL_MODE - ANDROID_HOT_PIXEL_START ] =
241 { "mode", TYPE_BYTE },
244 static tag_info_t android_hot_pixel_info[ANDROID_HOT_PIXEL_INFO_END -
245 ANDROID_HOT_PIXEL_INFO_START] = {
246 [ ANDROID_HOT_PIXEL_INFO_MAP - ANDROID_HOT_PIXEL_INFO_START ] =
247 { "map", TYPE_INT32 },
250 static tag_info_t android_jpeg[ANDROID_JPEG_END -
251 ANDROID_JPEG_START] = {
252 [ ANDROID_JPEG_GPS_COORDINATES - ANDROID_JPEG_START ] =
253 { "gpsCoordinates", TYPE_DOUBLE },
254 [ ANDROID_JPEG_GPS_PROCESSING_METHOD - ANDROID_JPEG_START ] =
255 { "gpsProcessingMethod", TYPE_BYTE },
256 [ ANDROID_JPEG_GPS_TIMESTAMP - ANDROID_JPEG_START ] =
257 { "gpsTimestamp", TYPE_INT64 },
258 [ ANDROID_JPEG_ORIENTATION - ANDROID_JPEG_START ] =
259 { "orientation", TYPE_INT32 },
260 [ ANDROID_JPEG_QUALITY - ANDROID_JPEG_START ] =
261 { "quality", TYPE_BYTE },
262 [ ANDROID_JPEG_THUMBNAIL_QUALITY - ANDROID_JPEG_START ] =
263 { "thumbnailQuality", TYPE_BYTE },
264 [ ANDROID_JPEG_THUMBNAIL_SIZE - ANDROID_JPEG_START ] =
265 { "thumbnailSize", TYPE_INT32 },
266 [ ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES - ANDROID_JPEG_START ] =
267 { "availableThumbnailSizes", TYPE_INT32 },
268 [ ANDROID_JPEG_MAX_SIZE - ANDROID_JPEG_START ] =
269 { "maxSize", TYPE_INT32 },
270 [ ANDROID_JPEG_SIZE - ANDROID_JPEG_START ] =
271 { "size", TYPE_INT32 },
274 static tag_info_t android_lens[ANDROID_LENS_END -
275 ANDROID_LENS_START] = {
276 [ ANDROID_LENS_APERTURE - ANDROID_LENS_START ] =
277 { "aperture", TYPE_FLOAT },
278 [ ANDROID_LENS_FILTER_DENSITY - ANDROID_LENS_START ] =
279 { "filterDensity", TYPE_FLOAT },
280 [ ANDROID_LENS_FOCAL_LENGTH - ANDROID_LENS_START ] =
281 { "focalLength", TYPE_FLOAT },
282 [ ANDROID_LENS_FOCUS_DISTANCE - ANDROID_LENS_START ] =
283 { "focusDistance", TYPE_FLOAT },
284 [ ANDROID_LENS_OPTICAL_STABILIZATION_MODE - ANDROID_LENS_START ] =
285 { "opticalStabilizationMode", TYPE_BYTE },
286 [ ANDROID_LENS_FACING - ANDROID_LENS_START ] =
287 { "facing", TYPE_BYTE },
288 [ ANDROID_LENS_OPTICAL_AXIS_ANGLE - ANDROID_LENS_START ] =
289 { "opticalAxisAngle", TYPE_FLOAT },
290 [ ANDROID_LENS_POSITION - ANDROID_LENS_START ] =
291 { "position", TYPE_FLOAT },
292 [ ANDROID_LENS_FOCUS_RANGE - ANDROID_LENS_START ] =
293 { "focusRange", TYPE_FLOAT },
294 [ ANDROID_LENS_STATE - ANDROID_LENS_START ] =
295 { "state", TYPE_BYTE },
298 static tag_info_t android_lens_info[ANDROID_LENS_INFO_END -
299 ANDROID_LENS_INFO_START] = {
300 [ ANDROID_LENS_INFO_AVAILABLE_APERTURES - ANDROID_LENS_INFO_START ] =
301 { "availableApertures", TYPE_FLOAT },
302 [ ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES - ANDROID_LENS_INFO_START ] =
303 { "availableFilterDensities", TYPE_FLOAT },
304 [ ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS - ANDROID_LENS_INFO_START ] =
305 { "availableFocalLengths", TYPE_FLOAT },
306 [ ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION - ANDROID_LENS_INFO_START ] =
307 { "availableOpticalStabilization", TYPE_BYTE },
308 [ ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP - ANDROID_LENS_INFO_START ] =
309 { "geometricCorrectionMap", TYPE_FLOAT },
310 [ ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE - ANDROID_LENS_INFO_START ] =
311 { "geometricCorrectionMapSize", TYPE_INT32 },
312 [ ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE - ANDROID_LENS_INFO_START ] =
313 { "hyperfocalDistance", TYPE_FLOAT },
314 [ ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE - ANDROID_LENS_INFO_START ] =
315 { "minimumFocusDistance", TYPE_FLOAT },
316 [ ANDROID_LENS_INFO_SHADING_MAP - ANDROID_LENS_INFO_START ] =
317 { "shadingMap", TYPE_FLOAT },
318 [ ANDROID_LENS_INFO_SHADING_MAP_SIZE - ANDROID_LENS_INFO_START ] =
319 { "shadingMapSize", TYPE_INT32 },
322 static tag_info_t android_noise_reduction[ANDROID_NOISE_REDUCTION_END -
323 ANDROID_NOISE_REDUCTION_START] = {
324 [ ANDROID_NOISE_REDUCTION_MODE - ANDROID_NOISE_REDUCTION_START ] =
325 { "mode", TYPE_BYTE },
326 [ ANDROID_NOISE_REDUCTION_STRENGTH - ANDROID_NOISE_REDUCTION_START ] =
327 { "strength", TYPE_BYTE },
330 static tag_info_t android_quirks[ANDROID_QUIRKS_END -
331 ANDROID_QUIRKS_START] = {
332 [ ANDROID_QUIRKS_METERING_CROP_REGION - ANDROID_QUIRKS_START ] =
333 { "meteringCropRegion", TYPE_BYTE },
334 [ ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO - ANDROID_QUIRKS_START ] =
335 { "triggerAfWithAuto", TYPE_BYTE },
336 [ ANDROID_QUIRKS_USE_ZSL_FORMAT - ANDROID_QUIRKS_START ] =
337 { "useZslFormat", TYPE_BYTE },
340 static tag_info_t android_request[ANDROID_REQUEST_END -
341 ANDROID_REQUEST_START] = {
342 [ ANDROID_REQUEST_FRAME_COUNT - ANDROID_REQUEST_START ] =
343 { "frameCount", TYPE_INT32 },
344 [ ANDROID_REQUEST_ID - ANDROID_REQUEST_START ] =
345 { "id", TYPE_INT32 },
346 [ ANDROID_REQUEST_INPUT_STREAMS - ANDROID_REQUEST_START ] =
347 { "inputStreams", TYPE_BYTE },
348 [ ANDROID_REQUEST_METADATA_MODE - ANDROID_REQUEST_START ] =
349 { "metadataMode", TYPE_BYTE },
350 [ ANDROID_REQUEST_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
351 { "outputStreams", TYPE_BYTE },
352 [ ANDROID_REQUEST_TYPE - ANDROID_REQUEST_START ] =
353 { "type", TYPE_BYTE },
354 [ ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
355 { "maxNumOutputStreams", TYPE_INT32 },
356 [ ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS - ANDROID_REQUEST_START ] =
357 { "maxNumReprocessStreams", TYPE_INT32 },
360 static tag_info_t android_scaler[ANDROID_SCALER_END -
361 ANDROID_SCALER_START] = {
362 [ ANDROID_SCALER_CROP_REGION - ANDROID_SCALER_START ] =
363 { "cropRegion", TYPE_INT32 },
364 [ ANDROID_SCALER_AVAILABLE_FORMATS - ANDROID_SCALER_START ] =
365 { "availableFormats", TYPE_INT32 },
366 [ ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS - ANDROID_SCALER_START ] =
367 { "availableJpegMinDurations", TYPE_INT64 },
368 [ ANDROID_SCALER_AVAILABLE_JPEG_SIZES - ANDROID_SCALER_START ] =
369 { "availableJpegSizes", TYPE_INT32 },
370 [ ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM - ANDROID_SCALER_START ] =
371 { "availableMaxDigitalZoom", TYPE_INT32 },
372 [ ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS - ANDROID_SCALER_START ] =
373 { "availableProcessedMinDurations",
375 [ ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES - ANDROID_SCALER_START ] =
376 { "availableProcessedSizes", TYPE_INT32 },
377 [ ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS - ANDROID_SCALER_START ] =
378 { "availableRawMinDurations", TYPE_INT64 },
379 [ ANDROID_SCALER_AVAILABLE_RAW_SIZES - ANDROID_SCALER_START ] =
380 { "availableRawSizes", TYPE_INT32 },
381 [ ANDROID_SCALER_MAX_DIGITAL_ZOOM - ANDROID_SCALER_START ] =
382 { "maxDigitalZoom", TYPE_FLOAT },
385 static tag_info_t android_sensor[ANDROID_SENSOR_END -
386 ANDROID_SENSOR_START] = {
387 [ ANDROID_SENSOR_EXPOSURE_TIME - ANDROID_SENSOR_START ] =
388 { "exposureTime", TYPE_INT64 },
389 [ ANDROID_SENSOR_FRAME_DURATION - ANDROID_SENSOR_START ] =
390 { "frameDuration", TYPE_INT64 },
391 [ ANDROID_SENSOR_SENSITIVITY - ANDROID_SENSOR_START ] =
392 { "sensitivity", TYPE_INT32 },
393 [ ANDROID_SENSOR_BASE_GAIN_FACTOR - ANDROID_SENSOR_START ] =
394 { "baseGainFactor", TYPE_RATIONAL
396 [ ANDROID_SENSOR_BLACK_LEVEL_PATTERN - ANDROID_SENSOR_START ] =
397 { "blackLevelPattern", TYPE_INT32 },
398 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM1 - ANDROID_SENSOR_START ] =
399 { "calibrationTransform1", TYPE_RATIONAL
401 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM2 - ANDROID_SENSOR_START ] =
402 { "calibrationTransform2", TYPE_RATIONAL
404 [ ANDROID_SENSOR_COLOR_TRANSFORM1 - ANDROID_SENSOR_START ] =
405 { "colorTransform1", TYPE_RATIONAL
407 [ ANDROID_SENSOR_COLOR_TRANSFORM2 - ANDROID_SENSOR_START ] =
408 { "colorTransform2", TYPE_RATIONAL
410 [ ANDROID_SENSOR_FORWARD_MATRIX1 - ANDROID_SENSOR_START ] =
411 { "forwardMatrix1", TYPE_RATIONAL
413 [ ANDROID_SENSOR_FORWARD_MATRIX2 - ANDROID_SENSOR_START ] =
414 { "forwardMatrix2", TYPE_RATIONAL
416 [ ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY - ANDROID_SENSOR_START ] =
417 { "maxAnalogSensitivity", TYPE_INT32 },
418 [ ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS - ANDROID_SENSOR_START ] =
419 { "noiseModelCoefficients", TYPE_FLOAT },
420 [ ANDROID_SENSOR_ORIENTATION - ANDROID_SENSOR_START ] =
421 { "orientation", TYPE_INT32 },
422 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT1 - ANDROID_SENSOR_START ] =
423 { "referenceIlluminant1", TYPE_BYTE },
424 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT2 - ANDROID_SENSOR_START ] =
425 { "referenceIlluminant2", TYPE_BYTE },
426 [ ANDROID_SENSOR_TIMESTAMP - ANDROID_SENSOR_START ] =
427 { "timestamp", TYPE_INT64 },
430 static tag_info_t android_sensor_info[ANDROID_SENSOR_INFO_END -
431 ANDROID_SENSOR_INFO_START] = {
432 [ ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
433 { "activeArraySize", TYPE_INT32 },
434 [ ANDROID_SENSOR_INFO_AVAILABLE_SENSITIVITIES - ANDROID_SENSOR_INFO_START ] =
435 { "availableSensitivities", TYPE_INT32 },
436 [ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT - ANDROID_SENSOR_INFO_START ] =
437 { "colorFilterArrangement", TYPE_BYTE },
438 [ ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE - ANDROID_SENSOR_INFO_START ] =
439 { "exposureTimeRange", TYPE_INT64 },
440 [ ANDROID_SENSOR_INFO_MAX_FRAME_DURATION - ANDROID_SENSOR_INFO_START ] =
441 { "maxFrameDuration", TYPE_INT64 },
442 [ ANDROID_SENSOR_INFO_PHYSICAL_SIZE - ANDROID_SENSOR_INFO_START ] =
443 { "physicalSize", TYPE_FLOAT },
444 [ ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
445 { "pixelArraySize", TYPE_INT32 },
446 [ ANDROID_SENSOR_INFO_WHITE_LEVEL - ANDROID_SENSOR_INFO_START ] =
447 { "whiteLevel", TYPE_INT32 },
450 static tag_info_t android_shading[ANDROID_SHADING_END -
451 ANDROID_SHADING_START] = {
452 [ ANDROID_SHADING_MODE - ANDROID_SHADING_START ] =
453 { "mode", TYPE_BYTE },
454 [ ANDROID_SHADING_STRENGTH - ANDROID_SHADING_START ] =
455 { "strength", TYPE_BYTE },
458 static tag_info_t android_statistics[ANDROID_STATISTICS_END -
459 ANDROID_STATISTICS_START] = {
460 [ ANDROID_STATISTICS_FACE_DETECT_MODE - ANDROID_STATISTICS_START ] =
461 { "faceDetectMode", TYPE_BYTE },
462 [ ANDROID_STATISTICS_HISTOGRAM_MODE - ANDROID_STATISTICS_START ] =
463 { "histogramMode", TYPE_BYTE },
464 [ ANDROID_STATISTICS_SHARPNESS_MAP_MODE - ANDROID_STATISTICS_START ] =
465 { "sharpnessMapMode", TYPE_BYTE },
466 [ ANDROID_STATISTICS_FACE_IDS - ANDROID_STATISTICS_START ] =
467 { "faceIds", TYPE_INT32 },
468 [ ANDROID_STATISTICS_FACE_LANDMARKS - ANDROID_STATISTICS_START ] =
469 { "faceLandmarks", TYPE_INT32 },
470 [ ANDROID_STATISTICS_FACE_RECTANGLES - ANDROID_STATISTICS_START ] =
471 { "faceRectangles", TYPE_INT32 },
472 [ ANDROID_STATISTICS_FACE_SCORES - ANDROID_STATISTICS_START ] =
473 { "faceScores", TYPE_BYTE },
474 [ ANDROID_STATISTICS_HISTOGRAM - ANDROID_STATISTICS_START ] =
475 { "histogram", TYPE_INT32 },
476 [ ANDROID_STATISTICS_SHARPNESS_MAP - ANDROID_STATISTICS_START ] =
477 { "sharpnessMap", TYPE_INT32 },
480 static tag_info_t android_statistics_info[ANDROID_STATISTICS_INFO_END -
481 ANDROID_STATISTICS_INFO_START] = {
482 [ ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES - ANDROID_STATISTICS_INFO_START ] =
483 { "availableFaceDetectModes", TYPE_BYTE },
484 [ ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT - ANDROID_STATISTICS_INFO_START ] =
485 { "histogramBucketCount", TYPE_INT32 },
486 [ ANDROID_STATISTICS_INFO_MAX_FACE_COUNT - ANDROID_STATISTICS_INFO_START ] =
487 { "maxFaceCount", TYPE_INT32 },
488 [ ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT - ANDROID_STATISTICS_INFO_START ] =
489 { "maxHistogramCount", TYPE_INT32 },
490 [ ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE - ANDROID_STATISTICS_INFO_START ] =
491 { "maxSharpnessMapValue", TYPE_INT32 },
492 [ ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE - ANDROID_STATISTICS_INFO_START ] =
493 { "sharpnessMapSize", TYPE_INT32 },
496 static tag_info_t android_tonemap[ANDROID_TONEMAP_END -
497 ANDROID_TONEMAP_START] = {
498 [ ANDROID_TONEMAP_CURVE_BLUE - ANDROID_TONEMAP_START ] =
499 { "curveBlue", TYPE_FLOAT },
500 [ ANDROID_TONEMAP_CURVE_GREEN - ANDROID_TONEMAP_START ] =
501 { "curveGreen", TYPE_FLOAT },
502 [ ANDROID_TONEMAP_CURVE_RED - ANDROID_TONEMAP_START ] =
503 { "curveRed", TYPE_FLOAT },
504 [ ANDROID_TONEMAP_MODE - ANDROID_TONEMAP_START ] =
505 { "mode", TYPE_BYTE },
506 [ ANDROID_TONEMAP_MAX_CURVE_POINTS - ANDROID_TONEMAP_START ] =
507 { "maxCurvePoints", TYPE_INT32 },
510 static tag_info_t android_led[ANDROID_LED_END -
511 ANDROID_LED_START] = {
512 [ ANDROID_LED_TRANSMIT - ANDROID_LED_START ] =
513 { "transmit", TYPE_BYTE },
514 [ ANDROID_LED_AVAILABLE_LEDS - ANDROID_LED_START ] =
515 { "availableLeds", TYPE_BYTE },
519 tag_info_t *tag_info[ANDROID_SECTION_COUNT] = {
520 android_color_correction,
528 android_hot_pixel_info,
532 android_noise_reduction,
540 android_statistics_info,
545 int camera_metadata_enum_snprint(uint32_t tag,
549 const char *msg = "error: not an enum";
553 case ANDROID_COLOR_CORRECTION_MODE: {
555 case ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
556 msg = "TRANSFORM_MATRIX";
559 case ANDROID_COLOR_CORRECTION_MODE_FAST:
563 case ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY:
564 msg = "HIGH_QUALITY";
568 msg = "error: enum value out of range";
572 case ANDROID_COLOR_CORRECTION_TRANSFORM: {
576 case ANDROID_CONTROL_AE_ANTIBANDING_MODE: {
578 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF:
582 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ:
586 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ:
590 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO:
595 msg = "error: enum value out of range";
599 case ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION: {
602 case ANDROID_CONTROL_AE_LOCK: {
604 case ANDROID_CONTROL_AE_LOCK_OFF:
608 case ANDROID_CONTROL_AE_LOCK_ON:
613 msg = "error: enum value out of range";
617 case ANDROID_CONTROL_AE_MODE: {
619 case ANDROID_CONTROL_AE_MODE_OFF:
623 case ANDROID_CONTROL_AE_MODE_ON:
627 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH:
628 msg = "ON_AUTO_FLASH";
631 case ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
632 msg = "ON_ALWAYS_FLASH";
635 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
636 msg = "ON_AUTO_FLASH_REDEYE";
640 msg = "error: enum value out of range";
644 case ANDROID_CONTROL_AE_REGIONS: {
647 case ANDROID_CONTROL_AE_TARGET_FPS_RANGE: {
650 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER: {
652 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
656 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START:
661 msg = "error: enum value out of range";
665 case ANDROID_CONTROL_AF_MODE: {
667 case ANDROID_CONTROL_AF_MODE_OFF:
671 case ANDROID_CONTROL_AF_MODE_AUTO:
675 case ANDROID_CONTROL_AF_MODE_MACRO:
679 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
680 msg = "CONTINUOUS_VIDEO";
683 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
684 msg = "CONTINUOUS_PICTURE";
687 case ANDROID_CONTROL_AF_MODE_EDOF:
692 msg = "error: enum value out of range";
696 case ANDROID_CONTROL_AF_REGIONS: {
699 case ANDROID_CONTROL_AF_TRIGGER: {
701 case ANDROID_CONTROL_AF_TRIGGER_IDLE:
705 case ANDROID_CONTROL_AF_TRIGGER_START:
709 case ANDROID_CONTROL_AF_TRIGGER_CANCEL:
714 msg = "error: enum value out of range";
718 case ANDROID_CONTROL_AWB_LOCK: {
720 case ANDROID_CONTROL_AWB_LOCK_OFF:
724 case ANDROID_CONTROL_AWB_LOCK_ON:
729 msg = "error: enum value out of range";
733 case ANDROID_CONTROL_AWB_MODE: {
735 case ANDROID_CONTROL_AWB_MODE_OFF:
739 case ANDROID_CONTROL_AWB_MODE_AUTO:
743 case ANDROID_CONTROL_AWB_MODE_INCANDESCENT:
744 msg = "INCANDESCENT";
747 case ANDROID_CONTROL_AWB_MODE_FLUORESCENT:
751 case ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT:
752 msg = "WARM_FLUORESCENT";
755 case ANDROID_CONTROL_AWB_MODE_DAYLIGHT:
759 case ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
760 msg = "CLOUDY_DAYLIGHT";
763 case ANDROID_CONTROL_AWB_MODE_TWILIGHT:
767 case ANDROID_CONTROL_AWB_MODE_SHADE:
772 msg = "error: enum value out of range";
776 case ANDROID_CONTROL_AWB_REGIONS: {
779 case ANDROID_CONTROL_CAPTURE_INTENT: {
781 case ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM:
785 case ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW:
789 case ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
790 msg = "STILL_CAPTURE";
793 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
794 msg = "VIDEO_RECORD";
797 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
798 msg = "VIDEO_SNAPSHOT";
801 case ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
802 msg = "ZERO_SHUTTER_LAG";
806 msg = "error: enum value out of range";
810 case ANDROID_CONTROL_EFFECT_MODE: {
812 case ANDROID_CONTROL_EFFECT_MODE_OFF:
816 case ANDROID_CONTROL_EFFECT_MODE_MONO:
820 case ANDROID_CONTROL_EFFECT_MODE_NEGATIVE:
824 case ANDROID_CONTROL_EFFECT_MODE_SOLARIZE:
828 case ANDROID_CONTROL_EFFECT_MODE_SEPIA:
832 case ANDROID_CONTROL_EFFECT_MODE_POSTERIZE:
836 case ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD:
840 case ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD:
844 case ANDROID_CONTROL_EFFECT_MODE_AQUA:
849 msg = "error: enum value out of range";
853 case ANDROID_CONTROL_MODE: {
855 case ANDROID_CONTROL_MODE_OFF:
859 case ANDROID_CONTROL_MODE_AUTO:
863 case ANDROID_CONTROL_MODE_USE_SCENE_MODE:
864 msg = "USE_SCENE_MODE";
868 msg = "error: enum value out of range";
872 case ANDROID_CONTROL_SCENE_MODE: {
874 case ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED:
878 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY:
879 msg = "FACE_PRIORITY";
882 case ANDROID_CONTROL_SCENE_MODE_ACTION:
886 case ANDROID_CONTROL_SCENE_MODE_PORTRAIT:
890 case ANDROID_CONTROL_SCENE_MODE_LANDSCAPE:
894 case ANDROID_CONTROL_SCENE_MODE_NIGHT:
898 case ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
899 msg = "NIGHT_PORTRAIT";
902 case ANDROID_CONTROL_SCENE_MODE_THEATRE:
906 case ANDROID_CONTROL_SCENE_MODE_BEACH:
910 case ANDROID_CONTROL_SCENE_MODE_SNOW:
914 case ANDROID_CONTROL_SCENE_MODE_SUNSET:
918 case ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO:
922 case ANDROID_CONTROL_SCENE_MODE_FIREWORKS:
926 case ANDROID_CONTROL_SCENE_MODE_SPORTS:
930 case ANDROID_CONTROL_SCENE_MODE_PARTY:
934 case ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT:
938 case ANDROID_CONTROL_SCENE_MODE_BARCODE:
943 msg = "error: enum value out of range";
947 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
949 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
953 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON:
958 msg = "error: enum value out of range";
962 case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
965 case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
968 case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
971 case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
974 case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
977 case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
980 case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
983 case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
986 case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
989 case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
992 case ANDROID_CONTROL_MAX_REGIONS: {
995 case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
998 case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
1001 case ANDROID_CONTROL_AE_STATE: {
1003 case ANDROID_CONTROL_AE_STATE_INACTIVE:
1007 case ANDROID_CONTROL_AE_STATE_SEARCHING:
1011 case ANDROID_CONTROL_AE_STATE_CONVERGED:
1015 case ANDROID_CONTROL_AE_STATE_LOCKED:
1019 case ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED:
1020 msg = "FLASH_REQUIRED";
1023 case ANDROID_CONTROL_AE_STATE_PRECAPTURE:
1028 msg = "error: enum value out of range";
1032 case ANDROID_CONTROL_AF_STATE: {
1034 case ANDROID_CONTROL_AF_STATE_INACTIVE:
1038 case ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN:
1039 msg = "PASSIVE_SCAN";
1042 case ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED:
1043 msg = "PASSIVE_FOCUSED";
1046 case ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN:
1047 msg = "ACTIVE_SCAN";
1050 case ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED:
1051 msg = "FOCUSED_LOCKED";
1054 case ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
1055 msg = "NOT_FOCUSED_LOCKED";
1059 msg = "error: enum value out of range";
1063 case ANDROID_CONTROL_AF_TRIGGER_ID: {
1066 case ANDROID_CONTROL_AWB_STATE: {
1068 case ANDROID_CONTROL_AWB_STATE_INACTIVE:
1072 case ANDROID_CONTROL_AWB_STATE_SEARCHING:
1076 case ANDROID_CONTROL_AWB_STATE_CONVERGED:
1080 case ANDROID_CONTROL_AWB_STATE_LOCKED:
1085 msg = "error: enum value out of range";
1090 case ANDROID_DEMOSAIC_MODE: {
1092 case ANDROID_DEMOSAIC_MODE_FAST:
1096 case ANDROID_DEMOSAIC_MODE_HIGH_QUALITY:
1097 msg = "HIGH_QUALITY";
1101 msg = "error: enum value out of range";
1106 case ANDROID_EDGE_MODE: {
1108 case ANDROID_EDGE_MODE_OFF:
1112 case ANDROID_EDGE_MODE_FAST:
1116 case ANDROID_EDGE_MODE_HIGH_QUALITY:
1117 msg = "HIGH_QUALITY";
1121 msg = "error: enum value out of range";
1125 case ANDROID_EDGE_STRENGTH: {
1129 case ANDROID_FLASH_FIRING_POWER: {
1132 case ANDROID_FLASH_FIRING_TIME: {
1135 case ANDROID_FLASH_MODE: {
1137 case ANDROID_FLASH_MODE_OFF:
1141 case ANDROID_FLASH_MODE_SINGLE:
1145 case ANDROID_FLASH_MODE_TORCH:
1150 msg = "error: enum value out of range";
1154 case ANDROID_FLASH_COLOR_TEMPERATURE: {
1157 case ANDROID_FLASH_MAX_ENERGY: {
1160 case ANDROID_FLASH_STATE: {
1162 case ANDROID_FLASH_STATE_UNAVAILABLE:
1163 msg = "UNAVAILABLE";
1166 case ANDROID_FLASH_STATE_CHARGING:
1170 case ANDROID_FLASH_STATE_READY:
1174 case ANDROID_FLASH_STATE_FIRED:
1179 msg = "error: enum value out of range";
1184 case ANDROID_FLASH_INFO_AVAILABLE: {
1187 case ANDROID_FLASH_INFO_CHARGE_DURATION: {
1191 case ANDROID_GEOMETRIC_MODE: {
1193 case ANDROID_GEOMETRIC_MODE_OFF:
1197 case ANDROID_GEOMETRIC_MODE_FAST:
1201 case ANDROID_GEOMETRIC_MODE_HIGH_QUALITY:
1202 msg = "HIGH_QUALITY";
1206 msg = "error: enum value out of range";
1210 case ANDROID_GEOMETRIC_STRENGTH: {
1214 case ANDROID_HOT_PIXEL_MODE: {
1216 case ANDROID_HOT_PIXEL_MODE_OFF:
1220 case ANDROID_HOT_PIXEL_MODE_FAST:
1224 case ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY:
1225 msg = "HIGH_QUALITY";
1229 msg = "error: enum value out of range";
1234 case ANDROID_HOT_PIXEL_INFO_MAP: {
1238 case ANDROID_JPEG_GPS_COORDINATES: {
1241 case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
1244 case ANDROID_JPEG_GPS_TIMESTAMP: {
1247 case ANDROID_JPEG_ORIENTATION: {
1250 case ANDROID_JPEG_QUALITY: {
1253 case ANDROID_JPEG_THUMBNAIL_QUALITY: {
1256 case ANDROID_JPEG_THUMBNAIL_SIZE: {
1259 case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
1262 case ANDROID_JPEG_MAX_SIZE: {
1265 case ANDROID_JPEG_SIZE: {
1269 case ANDROID_LENS_APERTURE: {
1272 case ANDROID_LENS_FILTER_DENSITY: {
1275 case ANDROID_LENS_FOCAL_LENGTH: {
1278 case ANDROID_LENS_FOCUS_DISTANCE: {
1281 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
1283 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF:
1287 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON:
1292 msg = "error: enum value out of range";
1296 case ANDROID_LENS_FACING: {
1298 case ANDROID_LENS_FACING_FRONT:
1302 case ANDROID_LENS_FACING_BACK:
1307 msg = "error: enum value out of range";
1311 case ANDROID_LENS_OPTICAL_AXIS_ANGLE: {
1314 case ANDROID_LENS_POSITION: {
1317 case ANDROID_LENS_FOCUS_RANGE: {
1320 case ANDROID_LENS_STATE: {
1322 case ANDROID_LENS_STATE_STATIONARY:
1327 msg = "error: enum value out of range";
1332 case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
1335 case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
1338 case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
1341 case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
1344 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP: {
1347 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE: {
1350 case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
1353 case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
1356 case ANDROID_LENS_INFO_SHADING_MAP: {
1359 case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
1363 case ANDROID_NOISE_REDUCTION_MODE: {
1365 case ANDROID_NOISE_REDUCTION_MODE_OFF:
1369 case ANDROID_NOISE_REDUCTION_MODE_FAST:
1373 case ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY:
1374 msg = "HIGH_QUALITY";
1378 msg = "error: enum value out of range";
1382 case ANDROID_NOISE_REDUCTION_STRENGTH: {
1386 case ANDROID_QUIRKS_METERING_CROP_REGION: {
1389 case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
1392 case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
1396 case ANDROID_REQUEST_FRAME_COUNT: {
1399 case ANDROID_REQUEST_ID: {
1402 case ANDROID_REQUEST_INPUT_STREAMS: {
1405 case ANDROID_REQUEST_METADATA_MODE: {
1407 case ANDROID_REQUEST_METADATA_MODE_NONE:
1411 case ANDROID_REQUEST_METADATA_MODE_FULL:
1416 msg = "error: enum value out of range";
1420 case ANDROID_REQUEST_OUTPUT_STREAMS: {
1423 case ANDROID_REQUEST_TYPE: {
1425 case ANDROID_REQUEST_TYPE_CAPTURE:
1429 case ANDROID_REQUEST_TYPE_REPROCESS:
1434 msg = "error: enum value out of range";
1438 case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
1441 case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
1445 case ANDROID_SCALER_CROP_REGION: {
1448 case ANDROID_SCALER_AVAILABLE_FORMATS: {
1450 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW_SENSOR:
1454 case ANDROID_SCALER_AVAILABLE_FORMATS_YV12:
1458 case ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_SP:
1459 msg = "YCbCr_420_SP";
1462 case ANDROID_SCALER_AVAILABLE_FORMATS_JPEG:
1467 msg = "error: enum value out of range";
1471 case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
1474 case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
1477 case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
1480 case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
1483 case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
1486 case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
1489 case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
1492 case ANDROID_SCALER_MAX_DIGITAL_ZOOM: {
1496 case ANDROID_SENSOR_EXPOSURE_TIME: {
1499 case ANDROID_SENSOR_FRAME_DURATION: {
1502 case ANDROID_SENSOR_SENSITIVITY: {
1505 case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
1508 case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
1511 case ANDROID_SENSOR_CALIBRATION_TRANSFORM1: {
1514 case ANDROID_SENSOR_CALIBRATION_TRANSFORM2: {
1517 case ANDROID_SENSOR_COLOR_TRANSFORM1: {
1520 case ANDROID_SENSOR_COLOR_TRANSFORM2: {
1523 case ANDROID_SENSOR_FORWARD_MATRIX1: {
1526 case ANDROID_SENSOR_FORWARD_MATRIX2: {
1529 case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
1532 case ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS: {
1535 case ANDROID_SENSOR_ORIENTATION: {
1538 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1: {
1540 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
1544 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
1545 msg = "FLUORESCENT";
1548 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
1552 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
1556 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
1557 msg = "FINE_WEATHER";
1560 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
1561 msg = "CLOUDY_WEATHER";
1564 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
1568 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
1569 msg = "DAYLIGHT_FLUORESCENT";
1572 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
1573 msg = "DAY_WHITE_FLUORESCENT";
1576 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
1577 msg = "COOL_WHITE_FLUORESCENT";
1580 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
1581 msg = "WHITE_FLUORESCENT";
1584 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
1588 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
1592 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
1596 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55:
1600 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65:
1604 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75:
1608 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50:
1612 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
1613 msg = "ISO_STUDIO_TUNGSTEN";
1617 msg = "error: enum value out of range";
1621 case ANDROID_SENSOR_REFERENCE_ILLUMINANT2: {
1624 case ANDROID_SENSOR_TIMESTAMP: {
1628 case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
1631 case ANDROID_SENSOR_INFO_AVAILABLE_SENSITIVITIES: {
1634 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
1636 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
1640 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
1644 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
1648 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
1652 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
1657 msg = "error: enum value out of range";
1661 case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
1664 case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
1667 case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
1670 case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
1673 case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
1677 case ANDROID_SHADING_MODE: {
1679 case ANDROID_SHADING_MODE_OFF:
1683 case ANDROID_SHADING_MODE_FAST:
1687 case ANDROID_SHADING_MODE_HIGH_QUALITY:
1688 msg = "HIGH_QUALITY";
1692 msg = "error: enum value out of range";
1696 case ANDROID_SHADING_STRENGTH: {
1700 case ANDROID_STATISTICS_FACE_DETECT_MODE: {
1702 case ANDROID_STATISTICS_FACE_DETECT_MODE_OFF:
1706 case ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE:
1710 case ANDROID_STATISTICS_FACE_DETECT_MODE_FULL:
1715 msg = "error: enum value out of range";
1719 case ANDROID_STATISTICS_HISTOGRAM_MODE: {
1721 case ANDROID_STATISTICS_HISTOGRAM_MODE_OFF:
1725 case ANDROID_STATISTICS_HISTOGRAM_MODE_ON:
1730 msg = "error: enum value out of range";
1734 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
1736 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF:
1740 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON:
1745 msg = "error: enum value out of range";
1749 case ANDROID_STATISTICS_FACE_IDS: {
1752 case ANDROID_STATISTICS_FACE_LANDMARKS: {
1755 case ANDROID_STATISTICS_FACE_RECTANGLES: {
1758 case ANDROID_STATISTICS_FACE_SCORES: {
1761 case ANDROID_STATISTICS_HISTOGRAM: {
1764 case ANDROID_STATISTICS_SHARPNESS_MAP: {
1768 case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
1771 case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
1774 case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
1777 case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
1780 case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
1783 case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
1787 case ANDROID_TONEMAP_CURVE_BLUE: {
1790 case ANDROID_TONEMAP_CURVE_GREEN: {
1793 case ANDROID_TONEMAP_CURVE_RED: {
1796 case ANDROID_TONEMAP_MODE: {
1798 case ANDROID_TONEMAP_MODE_CONTRAST_CURVE:
1799 msg = "CONTRAST_CURVE";
1802 case ANDROID_TONEMAP_MODE_FAST:
1806 case ANDROID_TONEMAP_MODE_HIGH_QUALITY:
1807 msg = "HIGH_QUALITY";
1811 msg = "error: enum value out of range";
1815 case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
1819 case ANDROID_LED_TRANSMIT: {
1821 case ANDROID_LED_TRANSMIT_OFF:
1825 case ANDROID_LED_TRANSMIT_ON:
1830 msg = "error: enum value out of range";
1834 case ANDROID_LED_AVAILABLE_LEDS: {
1836 case ANDROID_LED_AVAILABLE_LEDS_TRANSMIT:
1841 msg = "error: enum value out of range";
1848 strncpy(dst, msg, size - 1);
1849 dst[size - 1] = '\0';
1855 #define CAMERA_METADATA_ENUM_STRING_MAX_SIZE 23