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