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