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