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