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