Home | History | Annotate | Download | only in system
      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 include this file directly !!
     19  *
     20  * Include camera_metadata.h instead.
     21  */
     22 
     23 /**
     24  * ! Do not edit this file directly !
     25  *
     26  * Generated automatically from camera_metadata_tags.mako
     27  */
     28 
     29 /** TODO: Nearly every enum in this file needs a description */
     30 
     31 /**
     32  * Top level hierarchy definitions for camera metadata. *_INFO sections are for
     33  * the static metadata that can be retrived without opening the camera device.
     34  * New sections must be added right before ANDROID_SECTION_COUNT to maintain
     35  * existing enumerations.
     36  */
     37 typedef enum camera_metadata_section {
     38     ANDROID_COLOR_CORRECTION,
     39     ANDROID_CONTROL,
     40     ANDROID_DEMOSAIC,
     41     ANDROID_EDGE,
     42     ANDROID_FLASH,
     43     ANDROID_FLASH_INFO,
     44     ANDROID_HOT_PIXEL,
     45     ANDROID_JPEG,
     46     ANDROID_LENS,
     47     ANDROID_LENS_INFO,
     48     ANDROID_NOISE_REDUCTION,
     49     ANDROID_QUIRKS,
     50     ANDROID_REQUEST,
     51     ANDROID_SCALER,
     52     ANDROID_SENSOR,
     53     ANDROID_SENSOR_INFO,
     54     ANDROID_SHADING,
     55     ANDROID_STATISTICS,
     56     ANDROID_STATISTICS_INFO,
     57     ANDROID_TONEMAP,
     58     ANDROID_LED,
     59     ANDROID_INFO,
     60     ANDROID_BLACK_LEVEL,
     61     ANDROID_SYNC,
     62     ANDROID_REPROCESS,
     63     ANDROID_DEPTH,
     64     ANDROID_LOGICAL_MULTI_CAMERA,
     65     ANDROID_DISTORTION_CORRECTION,
     66     ANDROID_SECTION_COUNT,
     67 
     68     VENDOR_SECTION = 0x8000
     69 } camera_metadata_section_t;
     70 
     71 /**
     72  * Hierarchy positions in enum space. All vendor extension tags must be
     73  * defined with tag >= VENDOR_SECTION_START
     74  */
     75 typedef enum camera_metadata_section_start {
     76     ANDROID_COLOR_CORRECTION_START = ANDROID_COLOR_CORRECTION  << 16,
     77     ANDROID_CONTROL_START          = ANDROID_CONTROL           << 16,
     78     ANDROID_DEMOSAIC_START         = ANDROID_DEMOSAIC          << 16,
     79     ANDROID_EDGE_START             = ANDROID_EDGE              << 16,
     80     ANDROID_FLASH_START            = ANDROID_FLASH             << 16,
     81     ANDROID_FLASH_INFO_START       = ANDROID_FLASH_INFO        << 16,
     82     ANDROID_HOT_PIXEL_START        = ANDROID_HOT_PIXEL         << 16,
     83     ANDROID_JPEG_START             = ANDROID_JPEG              << 16,
     84     ANDROID_LENS_START             = ANDROID_LENS              << 16,
     85     ANDROID_LENS_INFO_START        = ANDROID_LENS_INFO         << 16,
     86     ANDROID_NOISE_REDUCTION_START  = ANDROID_NOISE_REDUCTION   << 16,
     87     ANDROID_QUIRKS_START           = ANDROID_QUIRKS            << 16,
     88     ANDROID_REQUEST_START          = ANDROID_REQUEST           << 16,
     89     ANDROID_SCALER_START           = ANDROID_SCALER            << 16,
     90     ANDROID_SENSOR_START           = ANDROID_SENSOR            << 16,
     91     ANDROID_SENSOR_INFO_START      = ANDROID_SENSOR_INFO       << 16,
     92     ANDROID_SHADING_START          = ANDROID_SHADING           << 16,
     93     ANDROID_STATISTICS_START       = ANDROID_STATISTICS        << 16,
     94     ANDROID_STATISTICS_INFO_START  = ANDROID_STATISTICS_INFO   << 16,
     95     ANDROID_TONEMAP_START          = ANDROID_TONEMAP           << 16,
     96     ANDROID_LED_START              = ANDROID_LED               << 16,
     97     ANDROID_INFO_START             = ANDROID_INFO              << 16,
     98     ANDROID_BLACK_LEVEL_START      = ANDROID_BLACK_LEVEL       << 16,
     99     ANDROID_SYNC_START             = ANDROID_SYNC              << 16,
    100     ANDROID_REPROCESS_START        = ANDROID_REPROCESS         << 16,
    101     ANDROID_DEPTH_START            = ANDROID_DEPTH             << 16,
    102     ANDROID_LOGICAL_MULTI_CAMERA_START
    103                                    = ANDROID_LOGICAL_MULTI_CAMERA
    104                                                                 << 16,
    105     ANDROID_DISTORTION_CORRECTION_START
    106                                    = ANDROID_DISTORTION_CORRECTION
    107                                                                 << 16,
    108     VENDOR_SECTION_START           = VENDOR_SECTION            << 16
    109 } camera_metadata_section_start_t;
    110 
    111 /**
    112  * Main enum for defining camera metadata tags.  New entries must always go
    113  * before the section _END tag to preserve existing enumeration values.  In
    114  * addition, the name and type of the tag needs to be added to
    115  * system/media/camera/src/camera_metadata_tag_info.c
    116  */
    117 typedef enum camera_metadata_tag {
    118     ANDROID_COLOR_CORRECTION_MODE =                   // enum         | public       | HIDL v3.2
    119             ANDROID_COLOR_CORRECTION_START,
    120     ANDROID_COLOR_CORRECTION_TRANSFORM,               // rational[]   | public       | HIDL v3.2
    121     ANDROID_COLOR_CORRECTION_GAINS,                   // float[]      | public       | HIDL v3.2
    122     ANDROID_COLOR_CORRECTION_ABERRATION_MODE,         // enum         | public       | HIDL v3.2
    123     ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES,
    124                                                       // byte[]       | public       | HIDL v3.2
    125     ANDROID_COLOR_CORRECTION_END,
    126 
    127     ANDROID_CONTROL_AE_ANTIBANDING_MODE =             // enum         | public       | HIDL v3.2
    128             ANDROID_CONTROL_START,
    129     ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION,         // int32        | public       | HIDL v3.2
    130     ANDROID_CONTROL_AE_LOCK,                          // enum         | public       | HIDL v3.2
    131     ANDROID_CONTROL_AE_MODE,                          // enum         | public       | HIDL v3.2
    132     ANDROID_CONTROL_AE_REGIONS,                       // int32[]      | public       | HIDL v3.2
    133     ANDROID_CONTROL_AE_TARGET_FPS_RANGE,              // int32[]      | public       | HIDL v3.2
    134     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,            // enum         | public       | HIDL v3.2
    135     ANDROID_CONTROL_AF_MODE,                          // enum         | public       | HIDL v3.2
    136     ANDROID_CONTROL_AF_REGIONS,                       // int32[]      | public       | HIDL v3.2
    137     ANDROID_CONTROL_AF_TRIGGER,                       // enum         | public       | HIDL v3.2
    138     ANDROID_CONTROL_AWB_LOCK,                         // enum         | public       | HIDL v3.2
    139     ANDROID_CONTROL_AWB_MODE,                         // enum         | public       | HIDL v3.2
    140     ANDROID_CONTROL_AWB_REGIONS,                      // int32[]      | public       | HIDL v3.2
    141     ANDROID_CONTROL_CAPTURE_INTENT,                   // enum         | public       | HIDL v3.2
    142     ANDROID_CONTROL_EFFECT_MODE,                      // enum         | public       | HIDL v3.2
    143     ANDROID_CONTROL_MODE,                             // enum         | public       | HIDL v3.2
    144     ANDROID_CONTROL_SCENE_MODE,                       // enum         | public       | HIDL v3.2
    145     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE,         // enum         | public       | HIDL v3.2
    146     ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES,   // byte[]       | public       | HIDL v3.2
    147     ANDROID_CONTROL_AE_AVAILABLE_MODES,               // byte[]       | public       | HIDL v3.2
    148     ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,   // int32[]      | public       | HIDL v3.2
    149     ANDROID_CONTROL_AE_COMPENSATION_RANGE,            // int32[]      | public       | HIDL v3.2
    150     ANDROID_CONTROL_AE_COMPENSATION_STEP,             // rational     | public       | HIDL v3.2
    151     ANDROID_CONTROL_AF_AVAILABLE_MODES,               // byte[]       | public       | HIDL v3.2
    152     ANDROID_CONTROL_AVAILABLE_EFFECTS,                // byte[]       | public       | HIDL v3.2
    153     ANDROID_CONTROL_AVAILABLE_SCENE_MODES,            // byte[]       | public       | HIDL v3.2
    154     ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
    155                                                       // byte[]       | public       | HIDL v3.2
    156     ANDROID_CONTROL_AWB_AVAILABLE_MODES,              // byte[]       | public       | HIDL v3.2
    157     ANDROID_CONTROL_MAX_REGIONS,                      // int32[]      | ndk_public   | HIDL v3.2
    158     ANDROID_CONTROL_SCENE_MODE_OVERRIDES,             // byte[]       | system       | HIDL v3.2
    159     ANDROID_CONTROL_AE_PRECAPTURE_ID,                 // int32        | system       | HIDL v3.2
    160     ANDROID_CONTROL_AE_STATE,                         // enum         | public       | HIDL v3.2
    161     ANDROID_CONTROL_AF_STATE,                         // enum         | public       | HIDL v3.2
    162     ANDROID_CONTROL_AF_TRIGGER_ID,                    // int32        | system       | HIDL v3.2
    163     ANDROID_CONTROL_AWB_STATE,                        // enum         | public       | HIDL v3.2
    164     ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS,
    165                                                       // int32[]      | hidden       | HIDL v3.2
    166     ANDROID_CONTROL_AE_LOCK_AVAILABLE,                // enum         | public       | HIDL v3.2
    167     ANDROID_CONTROL_AWB_LOCK_AVAILABLE,               // enum         | public       | HIDL v3.2
    168     ANDROID_CONTROL_AVAILABLE_MODES,                  // byte[]       | public       | HIDL v3.2
    169     ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE, // int32[]      | public       | HIDL v3.2
    170     ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST,       // int32        | public       | HIDL v3.2
    171     ANDROID_CONTROL_ENABLE_ZSL,                       // enum         | public       | HIDL v3.2
    172     ANDROID_CONTROL_AF_SCENE_CHANGE,                  // enum         | public       | HIDL v3.3
    173     ANDROID_CONTROL_END,
    174 
    175     ANDROID_DEMOSAIC_MODE =                           // enum         | system       | HIDL v3.2
    176             ANDROID_DEMOSAIC_START,
    177     ANDROID_DEMOSAIC_END,
    178 
    179     ANDROID_EDGE_MODE =                               // enum         | public       | HIDL v3.2
    180             ANDROID_EDGE_START,
    181     ANDROID_EDGE_STRENGTH,                            // byte         | system       | HIDL v3.2
    182     ANDROID_EDGE_AVAILABLE_EDGE_MODES,                // byte[]       | public       | HIDL v3.2
    183     ANDROID_EDGE_END,
    184 
    185     ANDROID_FLASH_FIRING_POWER =                      // byte         | system       | HIDL v3.2
    186             ANDROID_FLASH_START,
    187     ANDROID_FLASH_FIRING_TIME,                        // int64        | system       | HIDL v3.2
    188     ANDROID_FLASH_MODE,                               // enum         | public       | HIDL v3.2
    189     ANDROID_FLASH_COLOR_TEMPERATURE,                  // byte         | system       | HIDL v3.2
    190     ANDROID_FLASH_MAX_ENERGY,                         // byte         | system       | HIDL v3.2
    191     ANDROID_FLASH_STATE,                              // enum         | public       | HIDL v3.2
    192     ANDROID_FLASH_END,
    193 
    194     ANDROID_FLASH_INFO_AVAILABLE =                    // enum         | public       | HIDL v3.2
    195             ANDROID_FLASH_INFO_START,
    196     ANDROID_FLASH_INFO_CHARGE_DURATION,               // int64        | system       | HIDL v3.2
    197     ANDROID_FLASH_INFO_END,
    198 
    199     ANDROID_HOT_PIXEL_MODE =                          // enum         | public       | HIDL v3.2
    200             ANDROID_HOT_PIXEL_START,
    201     ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES,      // byte[]       | public       | HIDL v3.2
    202     ANDROID_HOT_PIXEL_END,
    203 
    204     ANDROID_JPEG_GPS_COORDINATES =                    // double[]     | ndk_public   | HIDL v3.2
    205             ANDROID_JPEG_START,
    206     ANDROID_JPEG_GPS_PROCESSING_METHOD,               // byte         | ndk_public   | HIDL v3.2
    207     ANDROID_JPEG_GPS_TIMESTAMP,                       // int64        | ndk_public   | HIDL v3.2
    208     ANDROID_JPEG_ORIENTATION,                         // int32        | public       | HIDL v3.2
    209     ANDROID_JPEG_QUALITY,                             // byte         | public       | HIDL v3.2
    210     ANDROID_JPEG_THUMBNAIL_QUALITY,                   // byte         | public       | HIDL v3.2
    211     ANDROID_JPEG_THUMBNAIL_SIZE,                      // int32[]      | public       | HIDL v3.2
    212     ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES,           // int32[]      | public       | HIDL v3.2
    213     ANDROID_JPEG_MAX_SIZE,                            // int32        | system       | HIDL v3.2
    214     ANDROID_JPEG_SIZE,                                // int32        | system       | HIDL v3.2
    215     ANDROID_JPEG_END,
    216 
    217     ANDROID_LENS_APERTURE =                           // float        | public       | HIDL v3.2
    218             ANDROID_LENS_START,
    219     ANDROID_LENS_FILTER_DENSITY,                      // float        | public       | HIDL v3.2
    220     ANDROID_LENS_FOCAL_LENGTH,                        // float        | public       | HIDL v3.2
    221     ANDROID_LENS_FOCUS_DISTANCE,                      // float        | public       | HIDL v3.2
    222     ANDROID_LENS_OPTICAL_STABILIZATION_MODE,          // enum         | public       | HIDL v3.2
    223     ANDROID_LENS_FACING,                              // enum         | public       | HIDL v3.2
    224     ANDROID_LENS_POSE_ROTATION,                       // float[]      | public       | HIDL v3.2
    225     ANDROID_LENS_POSE_TRANSLATION,                    // float[]      | public       | HIDL v3.2
    226     ANDROID_LENS_FOCUS_RANGE,                         // float[]      | public       | HIDL v3.2
    227     ANDROID_LENS_STATE,                               // enum         | public       | HIDL v3.2
    228     ANDROID_LENS_INTRINSIC_CALIBRATION,               // float[]      | public       | HIDL v3.2
    229     ANDROID_LENS_RADIAL_DISTORTION,                   // float[]      | public       | HIDL v3.2
    230     ANDROID_LENS_POSE_REFERENCE,                      // enum         | public       | HIDL v3.3
    231     ANDROID_LENS_DISTORTION,                          // float[]      | public       | HIDL v3.3
    232     ANDROID_LENS_END,
    233 
    234     ANDROID_LENS_INFO_AVAILABLE_APERTURES =           // float[]      | public       | HIDL v3.2
    235             ANDROID_LENS_INFO_START,
    236     ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES,     // float[]      | public       | HIDL v3.2
    237     ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS,        // float[]      | public       | HIDL v3.2
    238     ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION,// byte[]       | public       | HIDL v3.2
    239     ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE,            // float        | public       | HIDL v3.2
    240     ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE,         // float        | public       | HIDL v3.2
    241     ANDROID_LENS_INFO_SHADING_MAP_SIZE,               // int32[]      | ndk_public   | HIDL v3.2
    242     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION,     // enum         | public       | HIDL v3.2
    243     ANDROID_LENS_INFO_END,
    244 
    245     ANDROID_NOISE_REDUCTION_MODE =                    // enum         | public       | HIDL v3.2
    246             ANDROID_NOISE_REDUCTION_START,
    247     ANDROID_NOISE_REDUCTION_STRENGTH,                 // byte         | system       | HIDL v3.2
    248     ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES,
    249                                                       // byte[]       | public       | HIDL v3.2
    250     ANDROID_NOISE_REDUCTION_END,
    251 
    252     ANDROID_QUIRKS_METERING_CROP_REGION =             // byte         | system       | HIDL v3.2
    253             ANDROID_QUIRKS_START,
    254     ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO,              // byte         | system       | HIDL v3.2
    255     ANDROID_QUIRKS_USE_ZSL_FORMAT,                    // byte         | system       | HIDL v3.2
    256     ANDROID_QUIRKS_USE_PARTIAL_RESULT,                // byte         | hidden       | HIDL v3.2
    257     ANDROID_QUIRKS_PARTIAL_RESULT,                    // enum         | hidden       | HIDL v3.2
    258     ANDROID_QUIRKS_END,
    259 
    260     ANDROID_REQUEST_FRAME_COUNT =                     // int32        | hidden       | HIDL v3.2
    261             ANDROID_REQUEST_START,
    262     ANDROID_REQUEST_ID,                               // int32        | hidden       | HIDL v3.2
    263     ANDROID_REQUEST_INPUT_STREAMS,                    // int32[]      | system       | HIDL v3.2
    264     ANDROID_REQUEST_METADATA_MODE,                    // enum         | system       | HIDL v3.2
    265     ANDROID_REQUEST_OUTPUT_STREAMS,                   // int32[]      | system       | HIDL v3.2
    266     ANDROID_REQUEST_TYPE,                             // enum         | system       | HIDL v3.2
    267     ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,           // int32[]      | ndk_public   | HIDL v3.2
    268     ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS,        // int32[]      | system       | HIDL v3.2
    269     ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,            // int32        | java_public  | HIDL v3.2
    270     ANDROID_REQUEST_PIPELINE_DEPTH,                   // byte         | public       | HIDL v3.2
    271     ANDROID_REQUEST_PIPELINE_MAX_DEPTH,               // byte         | public       | HIDL v3.2
    272     ANDROID_REQUEST_PARTIAL_RESULT_COUNT,             // int32        | public       | HIDL v3.2
    273     ANDROID_REQUEST_AVAILABLE_CAPABILITIES,           // enum[]       | public       | HIDL v3.2
    274     ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS,           // int32[]      | ndk_public   | HIDL v3.2
    275     ANDROID_REQUEST_AVAILABLE_RESULT_KEYS,            // int32[]      | ndk_public   | HIDL v3.2
    276     ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS,   // int32[]      | ndk_public   | HIDL v3.2
    277     ANDROID_REQUEST_AVAILABLE_SESSION_KEYS,           // int32[]      | ndk_public   | HIDL v3.3
    278     ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS,
    279                                                       // int32[]      | hidden       | HIDL v3.3
    280     ANDROID_REQUEST_END,
    281 
    282     ANDROID_SCALER_CROP_REGION =                      // int32[]      | public       | HIDL v3.2
    283             ANDROID_SCALER_START,
    284     ANDROID_SCALER_AVAILABLE_FORMATS,                 // enum[]       | hidden       | HIDL v3.2
    285     ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS,      // int64[]      | hidden       | HIDL v3.2
    286     ANDROID_SCALER_AVAILABLE_JPEG_SIZES,              // int32[]      | hidden       | HIDL v3.2
    287     ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM,        // float        | public       | HIDL v3.2
    288     ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS, // int64[]      | hidden       | HIDL v3.2
    289     ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES,         // int32[]      | hidden       | HIDL v3.2
    290     ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS,       // int64[]      | system       | HIDL v3.2
    291     ANDROID_SCALER_AVAILABLE_RAW_SIZES,               // int32[]      | system       | HIDL v3.2
    292     ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP,// int32        | hidden       | HIDL v3.2
    293     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS,   // enum[]       | ndk_public   | HIDL v3.2
    294     ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,     // int64[]      | ndk_public   | HIDL v3.2
    295     ANDROID_SCALER_AVAILABLE_STALL_DURATIONS,         // int64[]      | ndk_public   | HIDL v3.2
    296     ANDROID_SCALER_CROPPING_TYPE,                     // enum         | public       | HIDL v3.2
    297     ANDROID_SCALER_END,
    298 
    299     ANDROID_SENSOR_EXPOSURE_TIME =                    // int64        | public       | HIDL v3.2
    300             ANDROID_SENSOR_START,
    301     ANDROID_SENSOR_FRAME_DURATION,                    // int64        | public       | HIDL v3.2
    302     ANDROID_SENSOR_SENSITIVITY,                       // int32        | public       | HIDL v3.2
    303     ANDROID_SENSOR_REFERENCE_ILLUMINANT1,             // enum         | public       | HIDL v3.2
    304     ANDROID_SENSOR_REFERENCE_ILLUMINANT2,             // byte         | public       | HIDL v3.2
    305     ANDROID_SENSOR_CALIBRATION_TRANSFORM1,            // rational[]   | public       | HIDL v3.2
    306     ANDROID_SENSOR_CALIBRATION_TRANSFORM2,            // rational[]   | public       | HIDL v3.2
    307     ANDROID_SENSOR_COLOR_TRANSFORM1,                  // rational[]   | public       | HIDL v3.2
    308     ANDROID_SENSOR_COLOR_TRANSFORM2,                  // rational[]   | public       | HIDL v3.2
    309     ANDROID_SENSOR_FORWARD_MATRIX1,                   // rational[]   | public       | HIDL v3.2
    310     ANDROID_SENSOR_FORWARD_MATRIX2,                   // rational[]   | public       | HIDL v3.2
    311     ANDROID_SENSOR_BASE_GAIN_FACTOR,                  // rational     | system       | HIDL v3.2
    312     ANDROID_SENSOR_BLACK_LEVEL_PATTERN,               // int32[]      | public       | HIDL v3.2
    313     ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY,            // int32        | public       | HIDL v3.2
    314     ANDROID_SENSOR_ORIENTATION,                       // int32        | public       | HIDL v3.2
    315     ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS,    // int32[]      | system       | HIDL v3.2
    316     ANDROID_SENSOR_TIMESTAMP,                         // int64        | public       | HIDL v3.2
    317     ANDROID_SENSOR_TEMPERATURE,                       // float        | system       | HIDL v3.2
    318     ANDROID_SENSOR_NEUTRAL_COLOR_POINT,               // rational[]   | public       | HIDL v3.2
    319     ANDROID_SENSOR_NOISE_PROFILE,                     // double[]     | public       | HIDL v3.2
    320     ANDROID_SENSOR_PROFILE_HUE_SAT_MAP,               // float[]      | system       | HIDL v3.2
    321     ANDROID_SENSOR_PROFILE_TONE_CURVE,                // float[]      | system       | HIDL v3.2
    322     ANDROID_SENSOR_GREEN_SPLIT,                       // float        | public       | HIDL v3.2
    323     ANDROID_SENSOR_TEST_PATTERN_DATA,                 // int32[]      | public       | HIDL v3.2
    324     ANDROID_SENSOR_TEST_PATTERN_MODE,                 // enum         | public       | HIDL v3.2
    325     ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES,      // int32[]      | public       | HIDL v3.2
    326     ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,              // int64        | public       | HIDL v3.2
    327     ANDROID_SENSOR_OPTICAL_BLACK_REGIONS,             // int32[]      | public       | HIDL v3.2
    328     ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL,               // float[]      | public       | HIDL v3.2
    329     ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL,               // int32        | public       | HIDL v3.2
    330     ANDROID_SENSOR_OPAQUE_RAW_SIZE,                   // int32[]      | system       | HIDL v3.2
    331     ANDROID_SENSOR_END,
    332 
    333     ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE =           // int32[]      | public       | HIDL v3.2
    334             ANDROID_SENSOR_INFO_START,
    335     ANDROID_SENSOR_INFO_SENSITIVITY_RANGE,            // int32[]      | public       | HIDL v3.2
    336     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT,     // enum         | public       | HIDL v3.2
    337     ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE,          // int64[]      | public       | HIDL v3.2
    338     ANDROID_SENSOR_INFO_MAX_FRAME_DURATION,           // int64        | public       | HIDL v3.2
    339     ANDROID_SENSOR_INFO_PHYSICAL_SIZE,                // float[]      | public       | HIDL v3.2
    340     ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,             // int32[]      | public       | HIDL v3.2
    341     ANDROID_SENSOR_INFO_WHITE_LEVEL,                  // int32        | public       | HIDL v3.2
    342     ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE,             // enum         | public       | HIDL v3.2
    343     ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED,         // enum         | public       | HIDL v3.2
    344     ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE,
    345                                                       // int32[]      | public       | HIDL v3.2
    346     ANDROID_SENSOR_INFO_END,
    347 
    348     ANDROID_SHADING_MODE =                            // enum         | public       | HIDL v3.2
    349             ANDROID_SHADING_START,
    350     ANDROID_SHADING_STRENGTH,                         // byte         | system       | HIDL v3.2
    351     ANDROID_SHADING_AVAILABLE_MODES,                  // byte[]       | public       | HIDL v3.2
    352     ANDROID_SHADING_END,
    353 
    354     ANDROID_STATISTICS_FACE_DETECT_MODE =             // enum         | public       | HIDL v3.2
    355             ANDROID_STATISTICS_START,
    356     ANDROID_STATISTICS_HISTOGRAM_MODE,                // enum         | system       | HIDL v3.2
    357     ANDROID_STATISTICS_SHARPNESS_MAP_MODE,            // enum         | system       | HIDL v3.2
    358     ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE,            // enum         | public       | HIDL v3.2
    359     ANDROID_STATISTICS_FACE_IDS,                      // int32[]      | ndk_public   | HIDL v3.2
    360     ANDROID_STATISTICS_FACE_LANDMARKS,                // int32[]      | ndk_public   | HIDL v3.2
    361     ANDROID_STATISTICS_FACE_RECTANGLES,               // int32[]      | ndk_public   | HIDL v3.2
    362     ANDROID_STATISTICS_FACE_SCORES,                   // byte[]       | ndk_public   | HIDL v3.2
    363     ANDROID_STATISTICS_HISTOGRAM,                     // int32[]      | system       | HIDL v3.2
    364     ANDROID_STATISTICS_SHARPNESS_MAP,                 // int32[]      | system       | HIDL v3.2
    365     ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP,   // byte         | java_public  | HIDL v3.2
    366     ANDROID_STATISTICS_LENS_SHADING_MAP,              // float[]      | ndk_public   | HIDL v3.2
    367     ANDROID_STATISTICS_PREDICTED_COLOR_GAINS,         // float[]      | hidden       | HIDL v3.2
    368     ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM,     // rational[]   | hidden       | HIDL v3.2
    369     ANDROID_STATISTICS_SCENE_FLICKER,                 // enum         | public       | HIDL v3.2
    370     ANDROID_STATISTICS_HOT_PIXEL_MAP,                 // int32[]      | public       | HIDL v3.2
    371     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE,         // enum         | public       | HIDL v3.2
    372     ANDROID_STATISTICS_OIS_DATA_MODE,                 // enum         | public       | HIDL v3.3
    373     ANDROID_STATISTICS_OIS_TIMESTAMPS,                // int64[]      | ndk_public   | HIDL v3.3
    374     ANDROID_STATISTICS_OIS_X_SHIFTS,                  // float[]      | ndk_public   | HIDL v3.3
    375     ANDROID_STATISTICS_OIS_Y_SHIFTS,                  // float[]      | ndk_public   | HIDL v3.3
    376     ANDROID_STATISTICS_END,
    377 
    378     ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES =
    379                                                       // byte[]       | public       | HIDL v3.2
    380             ANDROID_STATISTICS_INFO_START,
    381     ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT,   // int32        | system       | HIDL v3.2
    382     ANDROID_STATISTICS_INFO_MAX_FACE_COUNT,           // int32        | public       | HIDL v3.2
    383     ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT,      // int32        | system       | HIDL v3.2
    384     ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE,  // int32        | system       | HIDL v3.2
    385     ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE,       // int32[]      | system       | HIDL v3.2
    386     ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES,
    387                                                       // byte[]       | public       | HIDL v3.2
    388     ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES,
    389                                                       // byte[]       | public       | HIDL v3.2
    390     ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES, // byte[]       | public       | HIDL v3.3
    391     ANDROID_STATISTICS_INFO_END,
    392 
    393     ANDROID_TONEMAP_CURVE_BLUE =                      // float[]      | ndk_public   | HIDL v3.2
    394             ANDROID_TONEMAP_START,
    395     ANDROID_TONEMAP_CURVE_GREEN,                      // float[]      | ndk_public   | HIDL v3.2
    396     ANDROID_TONEMAP_CURVE_RED,                        // float[]      | ndk_public   | HIDL v3.2
    397     ANDROID_TONEMAP_MODE,                             // enum         | public       | HIDL v3.2
    398     ANDROID_TONEMAP_MAX_CURVE_POINTS,                 // int32        | public       | HIDL v3.2
    399     ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES,         // byte[]       | public       | HIDL v3.2
    400     ANDROID_TONEMAP_GAMMA,                            // float        | public       | HIDL v3.2
    401     ANDROID_TONEMAP_PRESET_CURVE,                     // enum         | public       | HIDL v3.2
    402     ANDROID_TONEMAP_END,
    403 
    404     ANDROID_LED_TRANSMIT =                            // enum         | hidden       | HIDL v3.2
    405             ANDROID_LED_START,
    406     ANDROID_LED_AVAILABLE_LEDS,                       // enum[]       | hidden       | HIDL v3.2
    407     ANDROID_LED_END,
    408 
    409     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL =           // enum         | public       | HIDL v3.2
    410             ANDROID_INFO_START,
    411     ANDROID_INFO_VERSION,                             // byte         | public       | HIDL v3.3
    412     ANDROID_INFO_END,
    413 
    414     ANDROID_BLACK_LEVEL_LOCK =                        // enum         | public       | HIDL v3.2
    415             ANDROID_BLACK_LEVEL_START,
    416     ANDROID_BLACK_LEVEL_END,
    417 
    418     ANDROID_SYNC_FRAME_NUMBER =                       // enum         | ndk_public   | HIDL v3.2
    419             ANDROID_SYNC_START,
    420     ANDROID_SYNC_MAX_LATENCY,                         // enum         | public       | HIDL v3.2
    421     ANDROID_SYNC_END,
    422 
    423     ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR =     // float        | java_public  | HIDL v3.2
    424             ANDROID_REPROCESS_START,
    425     ANDROID_REPROCESS_MAX_CAPTURE_STALL,              // int32        | java_public  | HIDL v3.2
    426     ANDROID_REPROCESS_END,
    427 
    428     ANDROID_DEPTH_MAX_DEPTH_SAMPLES =                 // int32        | system       | HIDL v3.2
    429             ANDROID_DEPTH_START,
    430     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS,
    431                                                       // enum[]       | ndk_public   | HIDL v3.2
    432     ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS,// int64[]      | ndk_public   | HIDL v3.2
    433     ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS,    // int64[]      | ndk_public   | HIDL v3.2
    434     ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE,                 // enum         | public       | HIDL v3.2
    435     ANDROID_DEPTH_END,
    436 
    437     ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS =       // byte[]       | hidden       | HIDL v3.3
    438             ANDROID_LOGICAL_MULTI_CAMERA_START,
    439     ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE,    // enum         | public       | HIDL v3.3
    440     ANDROID_LOGICAL_MULTI_CAMERA_END,
    441 
    442     ANDROID_DISTORTION_CORRECTION_MODE =              // enum         | public       | HIDL v3.3
    443             ANDROID_DISTORTION_CORRECTION_START,
    444     ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES,    // byte[]       | public       | HIDL v3.3
    445     ANDROID_DISTORTION_CORRECTION_END,
    446 
    447 } camera_metadata_tag_t;
    448 
    449 /**
    450  * Enumeration definitions for the various entries that need them
    451  */
    452 
    453 // ANDROID_COLOR_CORRECTION_MODE
    454 typedef enum camera_metadata_enum_android_color_correction_mode {
    455     ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX                  , // HIDL v3.2
    456     ANDROID_COLOR_CORRECTION_MODE_FAST                              , // HIDL v3.2
    457     ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY                      , // HIDL v3.2
    458 } camera_metadata_enum_android_color_correction_mode_t;
    459 
    460 // ANDROID_COLOR_CORRECTION_ABERRATION_MODE
    461 typedef enum camera_metadata_enum_android_color_correction_aberration_mode {
    462     ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF                    , // HIDL v3.2
    463     ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST                   , // HIDL v3.2
    464     ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY           , // HIDL v3.2
    465 } camera_metadata_enum_android_color_correction_aberration_mode_t;
    466 
    467 
    468 // ANDROID_CONTROL_AE_ANTIBANDING_MODE
    469 typedef enum camera_metadata_enum_android_control_ae_antibanding_mode {
    470     ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF                         , // HIDL v3.2
    471     ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ                        , // HIDL v3.2
    472     ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ                        , // HIDL v3.2
    473     ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO                        , // HIDL v3.2
    474 } camera_metadata_enum_android_control_ae_antibanding_mode_t;
    475 
    476 // ANDROID_CONTROL_AE_LOCK
    477 typedef enum camera_metadata_enum_android_control_ae_lock {
    478     ANDROID_CONTROL_AE_LOCK_OFF                                     , // HIDL v3.2
    479     ANDROID_CONTROL_AE_LOCK_ON                                      , // HIDL v3.2
    480 } camera_metadata_enum_android_control_ae_lock_t;
    481 
    482 // ANDROID_CONTROL_AE_MODE
    483 typedef enum camera_metadata_enum_android_control_ae_mode {
    484     ANDROID_CONTROL_AE_MODE_OFF                                     , // HIDL v3.2
    485     ANDROID_CONTROL_AE_MODE_ON                                      , // HIDL v3.2
    486     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH                           , // HIDL v3.2
    487     ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH                         , // HIDL v3.2
    488     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE                    , // HIDL v3.2
    489     ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH                       , // HIDL v3.3
    490 } camera_metadata_enum_android_control_ae_mode_t;
    491 
    492 // ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER
    493 typedef enum camera_metadata_enum_android_control_ae_precapture_trigger {
    494     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE                      , // HIDL v3.2
    495     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START                     , // HIDL v3.2
    496     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL                    , // HIDL v3.2
    497 } camera_metadata_enum_android_control_ae_precapture_trigger_t;
    498 
    499 // ANDROID_CONTROL_AF_MODE
    500 typedef enum camera_metadata_enum_android_control_af_mode {
    501     ANDROID_CONTROL_AF_MODE_OFF                                     , // HIDL v3.2
    502     ANDROID_CONTROL_AF_MODE_AUTO                                    , // HIDL v3.2
    503     ANDROID_CONTROL_AF_MODE_MACRO                                   , // HIDL v3.2
    504     ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO                        , // HIDL v3.2
    505     ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE                      , // HIDL v3.2
    506     ANDROID_CONTROL_AF_MODE_EDOF                                    , // HIDL v3.2
    507 } camera_metadata_enum_android_control_af_mode_t;
    508 
    509 // ANDROID_CONTROL_AF_TRIGGER
    510 typedef enum camera_metadata_enum_android_control_af_trigger {
    511     ANDROID_CONTROL_AF_TRIGGER_IDLE                                 , // HIDL v3.2
    512     ANDROID_CONTROL_AF_TRIGGER_START                                , // HIDL v3.2
    513     ANDROID_CONTROL_AF_TRIGGER_CANCEL                               , // HIDL v3.2
    514 } camera_metadata_enum_android_control_af_trigger_t;
    515 
    516 // ANDROID_CONTROL_AWB_LOCK
    517 typedef enum camera_metadata_enum_android_control_awb_lock {
    518     ANDROID_CONTROL_AWB_LOCK_OFF                                    , // HIDL v3.2
    519     ANDROID_CONTROL_AWB_LOCK_ON                                     , // HIDL v3.2
    520 } camera_metadata_enum_android_control_awb_lock_t;
    521 
    522 // ANDROID_CONTROL_AWB_MODE
    523 typedef enum camera_metadata_enum_android_control_awb_mode {
    524     ANDROID_CONTROL_AWB_MODE_OFF                                    , // HIDL v3.2
    525     ANDROID_CONTROL_AWB_MODE_AUTO                                   , // HIDL v3.2
    526     ANDROID_CONTROL_AWB_MODE_INCANDESCENT                           , // HIDL v3.2
    527     ANDROID_CONTROL_AWB_MODE_FLUORESCENT                            , // HIDL v3.2
    528     ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT                       , // HIDL v3.2
    529     ANDROID_CONTROL_AWB_MODE_DAYLIGHT                               , // HIDL v3.2
    530     ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT                        , // HIDL v3.2
    531     ANDROID_CONTROL_AWB_MODE_TWILIGHT                               , // HIDL v3.2
    532     ANDROID_CONTROL_AWB_MODE_SHADE                                  , // HIDL v3.2
    533 } camera_metadata_enum_android_control_awb_mode_t;
    534 
    535 // ANDROID_CONTROL_CAPTURE_INTENT
    536 typedef enum camera_metadata_enum_android_control_capture_intent {
    537     ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM                           , // HIDL v3.2
    538     ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW                          , // HIDL v3.2
    539     ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE                    , // HIDL v3.2
    540     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD                     , // HIDL v3.2
    541     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT                   , // HIDL v3.2
    542     ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG                 , // HIDL v3.2
    543     ANDROID_CONTROL_CAPTURE_INTENT_MANUAL                           , // HIDL v3.2
    544     ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING                  , // HIDL v3.3
    545 } camera_metadata_enum_android_control_capture_intent_t;
    546 
    547 // ANDROID_CONTROL_EFFECT_MODE
    548 typedef enum camera_metadata_enum_android_control_effect_mode {
    549     ANDROID_CONTROL_EFFECT_MODE_OFF                                 , // HIDL v3.2
    550     ANDROID_CONTROL_EFFECT_MODE_MONO                                , // HIDL v3.2
    551     ANDROID_CONTROL_EFFECT_MODE_NEGATIVE                            , // HIDL v3.2
    552     ANDROID_CONTROL_EFFECT_MODE_SOLARIZE                            , // HIDL v3.2
    553     ANDROID_CONTROL_EFFECT_MODE_SEPIA                               , // HIDL v3.2
    554     ANDROID_CONTROL_EFFECT_MODE_POSTERIZE                           , // HIDL v3.2
    555     ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD                          , // HIDL v3.2
    556     ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD                          , // HIDL v3.2
    557     ANDROID_CONTROL_EFFECT_MODE_AQUA                                , // HIDL v3.2
    558 } camera_metadata_enum_android_control_effect_mode_t;
    559 
    560 // ANDROID_CONTROL_MODE
    561 typedef enum camera_metadata_enum_android_control_mode {
    562     ANDROID_CONTROL_MODE_OFF                                        , // HIDL v3.2
    563     ANDROID_CONTROL_MODE_AUTO                                       , // HIDL v3.2
    564     ANDROID_CONTROL_MODE_USE_SCENE_MODE                             , // HIDL v3.2
    565     ANDROID_CONTROL_MODE_OFF_KEEP_STATE                             , // HIDL v3.2
    566 } camera_metadata_enum_android_control_mode_t;
    567 
    568 // ANDROID_CONTROL_SCENE_MODE
    569 typedef enum camera_metadata_enum_android_control_scene_mode {
    570     ANDROID_CONTROL_SCENE_MODE_DISABLED                              = 0, // HIDL v3.2
    571     ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY                        , // HIDL v3.2
    572     ANDROID_CONTROL_SCENE_MODE_ACTION                               , // HIDL v3.2
    573     ANDROID_CONTROL_SCENE_MODE_PORTRAIT                             , // HIDL v3.2
    574     ANDROID_CONTROL_SCENE_MODE_LANDSCAPE                            , // HIDL v3.2
    575     ANDROID_CONTROL_SCENE_MODE_NIGHT                                , // HIDL v3.2
    576     ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT                       , // HIDL v3.2
    577     ANDROID_CONTROL_SCENE_MODE_THEATRE                              , // HIDL v3.2
    578     ANDROID_CONTROL_SCENE_MODE_BEACH                                , // HIDL v3.2
    579     ANDROID_CONTROL_SCENE_MODE_SNOW                                 , // HIDL v3.2
    580     ANDROID_CONTROL_SCENE_MODE_SUNSET                               , // HIDL v3.2
    581     ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO                          , // HIDL v3.2
    582     ANDROID_CONTROL_SCENE_MODE_FIREWORKS                            , // HIDL v3.2
    583     ANDROID_CONTROL_SCENE_MODE_SPORTS                               , // HIDL v3.2
    584     ANDROID_CONTROL_SCENE_MODE_PARTY                                , // HIDL v3.2
    585     ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT                          , // HIDL v3.2
    586     ANDROID_CONTROL_SCENE_MODE_BARCODE                              , // HIDL v3.2
    587     ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO                     , // HIDL v3.2
    588     ANDROID_CONTROL_SCENE_MODE_HDR                                  , // HIDL v3.2
    589     ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT              , // HIDL v3.2
    590     ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START                   = 100, // HIDL v3.2
    591     ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END                     = 127, // HIDL v3.2
    592 } camera_metadata_enum_android_control_scene_mode_t;
    593 
    594 // ANDROID_CONTROL_VIDEO_STABILIZATION_MODE
    595 typedef enum camera_metadata_enum_android_control_video_stabilization_mode {
    596     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF                    , // HIDL v3.2
    597     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON                     , // HIDL v3.2
    598 } camera_metadata_enum_android_control_video_stabilization_mode_t;
    599 
    600 // ANDROID_CONTROL_AE_STATE
    601 typedef enum camera_metadata_enum_android_control_ae_state {
    602     ANDROID_CONTROL_AE_STATE_INACTIVE                               , // HIDL v3.2
    603     ANDROID_CONTROL_AE_STATE_SEARCHING                              , // HIDL v3.2
    604     ANDROID_CONTROL_AE_STATE_CONVERGED                              , // HIDL v3.2
    605     ANDROID_CONTROL_AE_STATE_LOCKED                                 , // HIDL v3.2
    606     ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED                         , // HIDL v3.2
    607     ANDROID_CONTROL_AE_STATE_PRECAPTURE                             , // HIDL v3.2
    608 } camera_metadata_enum_android_control_ae_state_t;
    609 
    610 // ANDROID_CONTROL_AF_STATE
    611 typedef enum camera_metadata_enum_android_control_af_state {
    612     ANDROID_CONTROL_AF_STATE_INACTIVE                               , // HIDL v3.2
    613     ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN                           , // HIDL v3.2
    614     ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED                        , // HIDL v3.2
    615     ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN                            , // HIDL v3.2
    616     ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED                         , // HIDL v3.2
    617     ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED                     , // HIDL v3.2
    618     ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED                      , // HIDL v3.2
    619 } camera_metadata_enum_android_control_af_state_t;
    620 
    621 // ANDROID_CONTROL_AWB_STATE
    622 typedef enum camera_metadata_enum_android_control_awb_state {
    623     ANDROID_CONTROL_AWB_STATE_INACTIVE                              , // HIDL v3.2
    624     ANDROID_CONTROL_AWB_STATE_SEARCHING                             , // HIDL v3.2
    625     ANDROID_CONTROL_AWB_STATE_CONVERGED                             , // HIDL v3.2
    626     ANDROID_CONTROL_AWB_STATE_LOCKED                                , // HIDL v3.2
    627 } camera_metadata_enum_android_control_awb_state_t;
    628 
    629 // ANDROID_CONTROL_AE_LOCK_AVAILABLE
    630 typedef enum camera_metadata_enum_android_control_ae_lock_available {
    631     ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE                         , // HIDL v3.2
    632     ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE                          , // HIDL v3.2
    633 } camera_metadata_enum_android_control_ae_lock_available_t;
    634 
    635 // ANDROID_CONTROL_AWB_LOCK_AVAILABLE
    636 typedef enum camera_metadata_enum_android_control_awb_lock_available {
    637     ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE                        , // HIDL v3.2
    638     ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE                         , // HIDL v3.2
    639 } camera_metadata_enum_android_control_awb_lock_available_t;
    640 
    641 // ANDROID_CONTROL_ENABLE_ZSL
    642 typedef enum camera_metadata_enum_android_control_enable_zsl {
    643     ANDROID_CONTROL_ENABLE_ZSL_FALSE                                , // HIDL v3.2
    644     ANDROID_CONTROL_ENABLE_ZSL_TRUE                                 , // HIDL v3.2
    645 } camera_metadata_enum_android_control_enable_zsl_t;
    646 
    647 // ANDROID_CONTROL_AF_SCENE_CHANGE
    648 typedef enum camera_metadata_enum_android_control_af_scene_change {
    649     ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED                    , // HIDL v3.3
    650     ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED                        , // HIDL v3.3
    651 } camera_metadata_enum_android_control_af_scene_change_t;
    652 
    653 
    654 // ANDROID_DEMOSAIC_MODE
    655 typedef enum camera_metadata_enum_android_demosaic_mode {
    656     ANDROID_DEMOSAIC_MODE_FAST                                      , // HIDL v3.2
    657     ANDROID_DEMOSAIC_MODE_HIGH_QUALITY                              , // HIDL v3.2
    658 } camera_metadata_enum_android_demosaic_mode_t;
    659 
    660 
    661 // ANDROID_EDGE_MODE
    662 typedef enum camera_metadata_enum_android_edge_mode {
    663     ANDROID_EDGE_MODE_OFF                                           , // HIDL v3.2
    664     ANDROID_EDGE_MODE_FAST                                          , // HIDL v3.2
    665     ANDROID_EDGE_MODE_HIGH_QUALITY                                  , // HIDL v3.2
    666     ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG                              , // HIDL v3.2
    667 } camera_metadata_enum_android_edge_mode_t;
    668 
    669 
    670 // ANDROID_FLASH_MODE
    671 typedef enum camera_metadata_enum_android_flash_mode {
    672     ANDROID_FLASH_MODE_OFF                                          , // HIDL v3.2
    673     ANDROID_FLASH_MODE_SINGLE                                       , // HIDL v3.2
    674     ANDROID_FLASH_MODE_TORCH                                        , // HIDL v3.2
    675 } camera_metadata_enum_android_flash_mode_t;
    676 
    677 // ANDROID_FLASH_STATE
    678 typedef enum camera_metadata_enum_android_flash_state {
    679     ANDROID_FLASH_STATE_UNAVAILABLE                                 , // HIDL v3.2
    680     ANDROID_FLASH_STATE_CHARGING                                    , // HIDL v3.2
    681     ANDROID_FLASH_STATE_READY                                       , // HIDL v3.2
    682     ANDROID_FLASH_STATE_FIRED                                       , // HIDL v3.2
    683     ANDROID_FLASH_STATE_PARTIAL                                     , // HIDL v3.2
    684 } camera_metadata_enum_android_flash_state_t;
    685 
    686 
    687 // ANDROID_FLASH_INFO_AVAILABLE
    688 typedef enum camera_metadata_enum_android_flash_info_available {
    689     ANDROID_FLASH_INFO_AVAILABLE_FALSE                              , // HIDL v3.2
    690     ANDROID_FLASH_INFO_AVAILABLE_TRUE                               , // HIDL v3.2
    691 } camera_metadata_enum_android_flash_info_available_t;
    692 
    693 
    694 // ANDROID_HOT_PIXEL_MODE
    695 typedef enum camera_metadata_enum_android_hot_pixel_mode {
    696     ANDROID_HOT_PIXEL_MODE_OFF                                      , // HIDL v3.2
    697     ANDROID_HOT_PIXEL_MODE_FAST                                     , // HIDL v3.2
    698     ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY                             , // HIDL v3.2
    699 } camera_metadata_enum_android_hot_pixel_mode_t;
    700 
    701 
    702 
    703 // ANDROID_LENS_OPTICAL_STABILIZATION_MODE
    704 typedef enum camera_metadata_enum_android_lens_optical_stabilization_mode {
    705     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF                     , // HIDL v3.2
    706     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON                      , // HIDL v3.2
    707 } camera_metadata_enum_android_lens_optical_stabilization_mode_t;
    708 
    709 // ANDROID_LENS_FACING
    710 typedef enum camera_metadata_enum_android_lens_facing {
    711     ANDROID_LENS_FACING_FRONT                                       , // HIDL v3.2
    712     ANDROID_LENS_FACING_BACK                                        , // HIDL v3.2
    713     ANDROID_LENS_FACING_EXTERNAL                                    , // HIDL v3.2
    714 } camera_metadata_enum_android_lens_facing_t;
    715 
    716 // ANDROID_LENS_STATE
    717 typedef enum camera_metadata_enum_android_lens_state {
    718     ANDROID_LENS_STATE_STATIONARY                                   , // HIDL v3.2
    719     ANDROID_LENS_STATE_MOVING                                       , // HIDL v3.2
    720 } camera_metadata_enum_android_lens_state_t;
    721 
    722 // ANDROID_LENS_POSE_REFERENCE
    723 typedef enum camera_metadata_enum_android_lens_pose_reference {
    724     ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA                      , // HIDL v3.3
    725     ANDROID_LENS_POSE_REFERENCE_GYROSCOPE                           , // HIDL v3.3
    726 } camera_metadata_enum_android_lens_pose_reference_t;
    727 
    728 
    729 // ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION
    730 typedef enum camera_metadata_enum_android_lens_info_focus_distance_calibration {
    731     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED       , // HIDL v3.2
    732     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE        , // HIDL v3.2
    733     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED         , // HIDL v3.2
    734 } camera_metadata_enum_android_lens_info_focus_distance_calibration_t;
    735 
    736 
    737 // ANDROID_NOISE_REDUCTION_MODE
    738 typedef enum camera_metadata_enum_android_noise_reduction_mode {
    739     ANDROID_NOISE_REDUCTION_MODE_OFF                                , // HIDL v3.2
    740     ANDROID_NOISE_REDUCTION_MODE_FAST                               , // HIDL v3.2
    741     ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY                       , // HIDL v3.2
    742     ANDROID_NOISE_REDUCTION_MODE_MINIMAL                            , // HIDL v3.2
    743     ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG                   , // HIDL v3.2
    744 } camera_metadata_enum_android_noise_reduction_mode_t;
    745 
    746 
    747 // ANDROID_QUIRKS_PARTIAL_RESULT
    748 typedef enum camera_metadata_enum_android_quirks_partial_result {
    749     ANDROID_QUIRKS_PARTIAL_RESULT_FINAL                             , // HIDL v3.2
    750     ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL                           , // HIDL v3.2
    751 } camera_metadata_enum_android_quirks_partial_result_t;
    752 
    753 
    754 // ANDROID_REQUEST_METADATA_MODE
    755 typedef enum camera_metadata_enum_android_request_metadata_mode {
    756     ANDROID_REQUEST_METADATA_MODE_NONE                              , // HIDL v3.2
    757     ANDROID_REQUEST_METADATA_MODE_FULL                              , // HIDL v3.2
    758 } camera_metadata_enum_android_request_metadata_mode_t;
    759 
    760 // ANDROID_REQUEST_TYPE
    761 typedef enum camera_metadata_enum_android_request_type {
    762     ANDROID_REQUEST_TYPE_CAPTURE                                    , // HIDL v3.2
    763     ANDROID_REQUEST_TYPE_REPROCESS                                  , // HIDL v3.2
    764 } camera_metadata_enum_android_request_type_t;
    765 
    766 // ANDROID_REQUEST_AVAILABLE_CAPABILITIES
    767 typedef enum camera_metadata_enum_android_request_available_capabilities {
    768     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE      , // HIDL v3.2
    769     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR            , // HIDL v3.2
    770     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING   , // HIDL v3.2
    771     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW                      , // HIDL v3.2
    772     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING     , // HIDL v3.2
    773     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS     , // HIDL v3.2
    774     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE            , // HIDL v3.2
    775     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING         , // HIDL v3.2
    776     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT             , // HIDL v3.2
    777     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO
    778                                                                      , // HIDL v3.2
    779     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING          , // HIDL v3.3
    780     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA     , // HIDL v3.3
    781     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME               , // HIDL v3.3
    782 } camera_metadata_enum_android_request_available_capabilities_t;
    783 
    784 
    785 // ANDROID_SCALER_AVAILABLE_FORMATS
    786 typedef enum camera_metadata_enum_android_scaler_available_formats {
    787     ANDROID_SCALER_AVAILABLE_FORMATS_RAW16                           = 0x20, // HIDL v3.2
    788     ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE                      = 0x24, // HIDL v3.2
    789     ANDROID_SCALER_AVAILABLE_FORMATS_YV12                            = 0x32315659, // HIDL v3.2
    790     ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP                    = 0x11, // HIDL v3.2
    791     ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED          = 0x22, // HIDL v3.2
    792     ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888                   = 0x23, // HIDL v3.2
    793     ANDROID_SCALER_AVAILABLE_FORMATS_BLOB                            = 0x21, // HIDL v3.2
    794 } camera_metadata_enum_android_scaler_available_formats_t;
    795 
    796 // ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS
    797 typedef enum camera_metadata_enum_android_scaler_available_stream_configurations {
    798     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT           , // HIDL v3.2
    799     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT            , // HIDL v3.2
    800 } camera_metadata_enum_android_scaler_available_stream_configurations_t;
    801 
    802 // ANDROID_SCALER_CROPPING_TYPE
    803 typedef enum camera_metadata_enum_android_scaler_cropping_type {
    804     ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY                        , // HIDL v3.2
    805     ANDROID_SCALER_CROPPING_TYPE_FREEFORM                           , // HIDL v3.2
    806 } camera_metadata_enum_android_scaler_cropping_type_t;
    807 
    808 
    809 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
    810 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
    811     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT                    = 1, // HIDL v3.2
    812     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT                 = 2, // HIDL v3.2
    813     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN                    = 3, // HIDL v3.2
    814     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH                       = 4, // HIDL v3.2
    815     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER                = 9, // HIDL v3.2
    816     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER              = 10, // HIDL v3.2
    817     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE                       = 11, // HIDL v3.2
    818     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT        = 12, // HIDL v3.2
    819     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT       = 13, // HIDL v3.2
    820     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT      = 14, // HIDL v3.2
    821     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT           = 15, // HIDL v3.2
    822     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A                  = 17, // HIDL v3.2
    823     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B                  = 18, // HIDL v3.2
    824     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C                  = 19, // HIDL v3.2
    825     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55                         = 20, // HIDL v3.2
    826     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65                         = 21, // HIDL v3.2
    827     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75                         = 22, // HIDL v3.2
    828     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50                         = 23, // HIDL v3.2
    829     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN         = 24, // HIDL v3.2
    830 } camera_metadata_enum_android_sensor_reference_illuminant1_t;
    831 
    832 // ANDROID_SENSOR_TEST_PATTERN_MODE
    833 typedef enum camera_metadata_enum_android_sensor_test_pattern_mode {
    834     ANDROID_SENSOR_TEST_PATTERN_MODE_OFF                            , // HIDL v3.2
    835     ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR                    , // HIDL v3.2
    836     ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS                     , // HIDL v3.2
    837     ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY        , // HIDL v3.2
    838     ANDROID_SENSOR_TEST_PATTERN_MODE_PN9                            , // HIDL v3.2
    839     ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1                         = 256, // HIDL v3.2
    840 } camera_metadata_enum_android_sensor_test_pattern_mode_t;
    841 
    842 
    843 // ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
    844 typedef enum camera_metadata_enum_android_sensor_info_color_filter_arrangement {
    845     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB               , // HIDL v3.2
    846     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG               , // HIDL v3.2
    847     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG               , // HIDL v3.2
    848     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR               , // HIDL v3.2
    849     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB                , // HIDL v3.2
    850 } camera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
    851 
    852 // ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE
    853 typedef enum camera_metadata_enum_android_sensor_info_timestamp_source {
    854     ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN                    , // HIDL v3.2
    855     ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME                   , // HIDL v3.2
    856 } camera_metadata_enum_android_sensor_info_timestamp_source_t;
    857 
    858 // ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED
    859 typedef enum camera_metadata_enum_android_sensor_info_lens_shading_applied {
    860     ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE                  , // HIDL v3.2
    861     ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE                   , // HIDL v3.2
    862 } camera_metadata_enum_android_sensor_info_lens_shading_applied_t;
    863 
    864 
    865 // ANDROID_SHADING_MODE
    866 typedef enum camera_metadata_enum_android_shading_mode {
    867     ANDROID_SHADING_MODE_OFF                                        , // HIDL v3.2
    868     ANDROID_SHADING_MODE_FAST                                       , // HIDL v3.2
    869     ANDROID_SHADING_MODE_HIGH_QUALITY                               , // HIDL v3.2
    870 } camera_metadata_enum_android_shading_mode_t;
    871 
    872 
    873 // ANDROID_STATISTICS_FACE_DETECT_MODE
    874 typedef enum camera_metadata_enum_android_statistics_face_detect_mode {
    875     ANDROID_STATISTICS_FACE_DETECT_MODE_OFF                         , // HIDL v3.2
    876     ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE                      , // HIDL v3.2
    877     ANDROID_STATISTICS_FACE_DETECT_MODE_FULL                        , // HIDL v3.2
    878 } camera_metadata_enum_android_statistics_face_detect_mode_t;
    879 
    880 // ANDROID_STATISTICS_HISTOGRAM_MODE
    881 typedef enum camera_metadata_enum_android_statistics_histogram_mode {
    882     ANDROID_STATISTICS_HISTOGRAM_MODE_OFF                           , // HIDL v3.2
    883     ANDROID_STATISTICS_HISTOGRAM_MODE_ON                            , // HIDL v3.2
    884 } camera_metadata_enum_android_statistics_histogram_mode_t;
    885 
    886 // ANDROID_STATISTICS_SHARPNESS_MAP_MODE
    887 typedef enum camera_metadata_enum_android_statistics_sharpness_map_mode {
    888     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF                       , // HIDL v3.2
    889     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON                        , // HIDL v3.2
    890 } camera_metadata_enum_android_statistics_sharpness_map_mode_t;
    891 
    892 // ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE
    893 typedef enum camera_metadata_enum_android_statistics_hot_pixel_map_mode {
    894     ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF                       , // HIDL v3.2
    895     ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON                        , // HIDL v3.2
    896 } camera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
    897 
    898 // ANDROID_STATISTICS_SCENE_FLICKER
    899 typedef enum camera_metadata_enum_android_statistics_scene_flicker {
    900     ANDROID_STATISTICS_SCENE_FLICKER_NONE                           , // HIDL v3.2
    901     ANDROID_STATISTICS_SCENE_FLICKER_50HZ                           , // HIDL v3.2
    902     ANDROID_STATISTICS_SCENE_FLICKER_60HZ                           , // HIDL v3.2
    903 } camera_metadata_enum_android_statistics_scene_flicker_t;
    904 
    905 // ANDROID_STATISTICS_LENS_SHADING_MAP_MODE
    906 typedef enum camera_metadata_enum_android_statistics_lens_shading_map_mode {
    907     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF                    , // HIDL v3.2
    908     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON                     , // HIDL v3.2
    909 } camera_metadata_enum_android_statistics_lens_shading_map_mode_t;
    910 
    911 // ANDROID_STATISTICS_OIS_DATA_MODE
    912 typedef enum camera_metadata_enum_android_statistics_ois_data_mode {
    913     ANDROID_STATISTICS_OIS_DATA_MODE_OFF                            , // HIDL v3.3
    914     ANDROID_STATISTICS_OIS_DATA_MODE_ON                             , // HIDL v3.3
    915 } camera_metadata_enum_android_statistics_ois_data_mode_t;
    916 
    917 
    918 
    919 // ANDROID_TONEMAP_MODE
    920 typedef enum camera_metadata_enum_android_tonemap_mode {
    921     ANDROID_TONEMAP_MODE_CONTRAST_CURVE                             , // HIDL v3.2
    922     ANDROID_TONEMAP_MODE_FAST                                       , // HIDL v3.2
    923     ANDROID_TONEMAP_MODE_HIGH_QUALITY                               , // HIDL v3.2
    924     ANDROID_TONEMAP_MODE_GAMMA_VALUE                                , // HIDL v3.2
    925     ANDROID_TONEMAP_MODE_PRESET_CURVE                               , // HIDL v3.2
    926 } camera_metadata_enum_android_tonemap_mode_t;
    927 
    928 // ANDROID_TONEMAP_PRESET_CURVE
    929 typedef enum camera_metadata_enum_android_tonemap_preset_curve {
    930     ANDROID_TONEMAP_PRESET_CURVE_SRGB                               , // HIDL v3.2
    931     ANDROID_TONEMAP_PRESET_CURVE_REC709                             , // HIDL v3.2
    932 } camera_metadata_enum_android_tonemap_preset_curve_t;
    933 
    934 
    935 // ANDROID_LED_TRANSMIT
    936 typedef enum camera_metadata_enum_android_led_transmit {
    937     ANDROID_LED_TRANSMIT_OFF                                        , // HIDL v3.2
    938     ANDROID_LED_TRANSMIT_ON                                         , // HIDL v3.2
    939 } camera_metadata_enum_android_led_transmit_t;
    940 
    941 // ANDROID_LED_AVAILABLE_LEDS
    942 typedef enum camera_metadata_enum_android_led_available_leds {
    943     ANDROID_LED_AVAILABLE_LEDS_TRANSMIT                             , // HIDL v3.2
    944 } camera_metadata_enum_android_led_available_leds_t;
    945 
    946 
    947 // ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL
    948 typedef enum camera_metadata_enum_android_info_supported_hardware_level {
    949     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED                   , // HIDL v3.2
    950     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL                      , // HIDL v3.2
    951     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY                    , // HIDL v3.2
    952     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3                         , // HIDL v3.2
    953     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL                  , // HIDL v3.3
    954 } camera_metadata_enum_android_info_supported_hardware_level_t;
    955 
    956 
    957 // ANDROID_BLACK_LEVEL_LOCK
    958 typedef enum camera_metadata_enum_android_black_level_lock {
    959     ANDROID_BLACK_LEVEL_LOCK_OFF                                    , // HIDL v3.2
    960     ANDROID_BLACK_LEVEL_LOCK_ON                                     , // HIDL v3.2
    961 } camera_metadata_enum_android_black_level_lock_t;
    962 
    963 
    964 // ANDROID_SYNC_FRAME_NUMBER
    965 typedef enum camera_metadata_enum_android_sync_frame_number {
    966     ANDROID_SYNC_FRAME_NUMBER_CONVERGING                             = -1, // HIDL v3.2
    967     ANDROID_SYNC_FRAME_NUMBER_UNKNOWN                                = -2, // HIDL v3.2
    968 } camera_metadata_enum_android_sync_frame_number_t;
    969 
    970 // ANDROID_SYNC_MAX_LATENCY
    971 typedef enum camera_metadata_enum_android_sync_max_latency {
    972     ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL                       = 0, // HIDL v3.2
    973     ANDROID_SYNC_MAX_LATENCY_UNKNOWN                                 = -1, // HIDL v3.2
    974 } camera_metadata_enum_android_sync_max_latency_t;
    975 
    976 
    977 
    978 // ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS
    979 typedef enum camera_metadata_enum_android_depth_available_depth_stream_configurations {
    980     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT      , // HIDL v3.2
    981     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT       , // HIDL v3.2
    982 } camera_metadata_enum_android_depth_available_depth_stream_configurations_t;
    983 
    984 // ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE
    985 typedef enum camera_metadata_enum_android_depth_depth_is_exclusive {
    986     ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE                          , // HIDL v3.2
    987     ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE                           , // HIDL v3.2
    988 } camera_metadata_enum_android_depth_depth_is_exclusive_t;
    989 
    990 
    991 // ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
    992 typedef enum camera_metadata_enum_android_logical_multi_camera_sensor_sync_type {
    993     ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE       , // HIDL v3.3
    994     ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED        , // HIDL v3.3
    995 } camera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
    996 
    997 
    998 // ANDROID_DISTORTION_CORRECTION_MODE
    999 typedef enum camera_metadata_enum_android_distortion_correction_mode {
   1000     ANDROID_DISTORTION_CORRECTION_MODE_OFF                          , // HIDL v3.3
   1001     ANDROID_DISTORTION_CORRECTION_MODE_FAST                         , // HIDL v3.3
   1002     ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY                 , // HIDL v3.3
   1003 } camera_metadata_enum_android_distortion_correction_mode_t;
   1004 
   1005 
   1006