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