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_GEOMETRIC,
     45     ANDROID_HOT_PIXEL,
     46     ANDROID_HOT_PIXEL_INFO,
     47     ANDROID_JPEG,
     48     ANDROID_LENS,
     49     ANDROID_LENS_INFO,
     50     ANDROID_NOISE_REDUCTION,
     51     ANDROID_QUIRKS,
     52     ANDROID_REQUEST,
     53     ANDROID_SCALER,
     54     ANDROID_SENSOR,
     55     ANDROID_SENSOR_INFO,
     56     ANDROID_SHADING,
     57     ANDROID_STATISTICS,
     58     ANDROID_STATISTICS_INFO,
     59     ANDROID_TONEMAP,
     60     ANDROID_LED,
     61     ANDROID_INFO,
     62     ANDROID_SECTION_COUNT,
     63 
     64     VENDOR_SECTION = 0x8000
     65 } camera_metadata_section_t;
     66 
     67 /**
     68  * Hierarchy positions in enum space. All vendor extension tags must be
     69  * defined with tag >= VENDOR_SECTION_START
     70  */
     71 typedef enum camera_metadata_section_start {
     72     ANDROID_COLOR_CORRECTION_START = ANDROID_COLOR_CORRECTION  << 16,
     73     ANDROID_CONTROL_START          = ANDROID_CONTROL           << 16,
     74     ANDROID_DEMOSAIC_START         = ANDROID_DEMOSAIC          << 16,
     75     ANDROID_EDGE_START             = ANDROID_EDGE              << 16,
     76     ANDROID_FLASH_START            = ANDROID_FLASH             << 16,
     77     ANDROID_FLASH_INFO_START       = ANDROID_FLASH_INFO        << 16,
     78     ANDROID_GEOMETRIC_START        = ANDROID_GEOMETRIC         << 16,
     79     ANDROID_HOT_PIXEL_START        = ANDROID_HOT_PIXEL         << 16,
     80     ANDROID_HOT_PIXEL_INFO_START   = ANDROID_HOT_PIXEL_INFO    << 16,
     81     ANDROID_JPEG_START             = ANDROID_JPEG              << 16,
     82     ANDROID_LENS_START             = ANDROID_LENS              << 16,
     83     ANDROID_LENS_INFO_START        = ANDROID_LENS_INFO         << 16,
     84     ANDROID_NOISE_REDUCTION_START  = ANDROID_NOISE_REDUCTION   << 16,
     85     ANDROID_QUIRKS_START           = ANDROID_QUIRKS            << 16,
     86     ANDROID_REQUEST_START          = ANDROID_REQUEST           << 16,
     87     ANDROID_SCALER_START           = ANDROID_SCALER            << 16,
     88     ANDROID_SENSOR_START           = ANDROID_SENSOR            << 16,
     89     ANDROID_SENSOR_INFO_START      = ANDROID_SENSOR_INFO       << 16,
     90     ANDROID_SHADING_START          = ANDROID_SHADING           << 16,
     91     ANDROID_STATISTICS_START       = ANDROID_STATISTICS        << 16,
     92     ANDROID_STATISTICS_INFO_START  = ANDROID_STATISTICS_INFO   << 16,
     93     ANDROID_TONEMAP_START          = ANDROID_TONEMAP           << 16,
     94     ANDROID_LED_START              = ANDROID_LED               << 16,
     95     ANDROID_INFO_START             = ANDROID_INFO              << 16,
     96     VENDOR_SECTION_START           = VENDOR_SECTION            << 16
     97 } camera_metadata_section_start_t;
     98 
     99 /**
    100  * Main enum for defining camera metadata tags.  New entries must always go
    101  * before the section _END tag to preserve existing enumeration values.  In
    102  * addition, the name and type of the tag needs to be added to
    103  * system/media/camera/src/camera_metadata_tag_info.c
    104  */
    105 typedef enum camera_metadata_tag {
    106     ANDROID_COLOR_CORRECTION_MODE  = ANDROID_COLOR_CORRECTION_START,
    107     ANDROID_COLOR_CORRECTION_TRANSFORM,
    108     ANDROID_COLOR_CORRECTION_END,
    109 
    110     ANDROID_CONTROL_AE_ANTIBANDING_MODE
    111                                    = ANDROID_CONTROL_START,
    112     ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION,
    113     ANDROID_CONTROL_AE_LOCK,
    114     ANDROID_CONTROL_AE_MODE,
    115     ANDROID_CONTROL_AE_REGIONS,
    116     ANDROID_CONTROL_AE_TARGET_FPS_RANGE,
    117     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,
    118     ANDROID_CONTROL_AF_MODE,
    119     ANDROID_CONTROL_AF_REGIONS,
    120     ANDROID_CONTROL_AF_TRIGGER,
    121     ANDROID_CONTROL_AWB_LOCK,
    122     ANDROID_CONTROL_AWB_MODE,
    123     ANDROID_CONTROL_AWB_REGIONS,
    124     ANDROID_CONTROL_CAPTURE_INTENT,
    125     ANDROID_CONTROL_EFFECT_MODE,
    126     ANDROID_CONTROL_MODE,
    127     ANDROID_CONTROL_SCENE_MODE,
    128     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE,
    129     ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES,
    130     ANDROID_CONTROL_AE_AVAILABLE_MODES,
    131     ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,
    132     ANDROID_CONTROL_AE_COMPENSATION_RANGE,
    133     ANDROID_CONTROL_AE_COMPENSATION_STEP,
    134     ANDROID_CONTROL_AF_AVAILABLE_MODES,
    135     ANDROID_CONTROL_AVAILABLE_EFFECTS,
    136     ANDROID_CONTROL_AVAILABLE_SCENE_MODES,
    137     ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
    138     ANDROID_CONTROL_AWB_AVAILABLE_MODES,
    139     ANDROID_CONTROL_MAX_REGIONS,
    140     ANDROID_CONTROL_SCENE_MODE_OVERRIDES,
    141     ANDROID_CONTROL_AE_PRECAPTURE_ID,
    142     ANDROID_CONTROL_AE_STATE,
    143     ANDROID_CONTROL_AF_STATE,
    144     ANDROID_CONTROL_AF_TRIGGER_ID,
    145     ANDROID_CONTROL_AWB_STATE,
    146     ANDROID_CONTROL_END,
    147 
    148     ANDROID_DEMOSAIC_MODE          = ANDROID_DEMOSAIC_START,
    149     ANDROID_DEMOSAIC_END,
    150 
    151     ANDROID_EDGE_MODE              = ANDROID_EDGE_START,
    152     ANDROID_EDGE_STRENGTH,
    153     ANDROID_EDGE_END,
    154 
    155     ANDROID_FLASH_FIRING_POWER     = ANDROID_FLASH_START,
    156     ANDROID_FLASH_FIRING_TIME,
    157     ANDROID_FLASH_MODE,
    158     ANDROID_FLASH_COLOR_TEMPERATURE,
    159     ANDROID_FLASH_MAX_ENERGY,
    160     ANDROID_FLASH_STATE,
    161     ANDROID_FLASH_END,
    162 
    163     ANDROID_FLASH_INFO_AVAILABLE   = ANDROID_FLASH_INFO_START,
    164     ANDROID_FLASH_INFO_CHARGE_DURATION,
    165     ANDROID_FLASH_INFO_END,
    166 
    167     ANDROID_GEOMETRIC_MODE         = ANDROID_GEOMETRIC_START,
    168     ANDROID_GEOMETRIC_STRENGTH,
    169     ANDROID_GEOMETRIC_END,
    170 
    171     ANDROID_HOT_PIXEL_MODE         = ANDROID_HOT_PIXEL_START,
    172     ANDROID_HOT_PIXEL_END,
    173 
    174     ANDROID_HOT_PIXEL_INFO_MAP     = ANDROID_HOT_PIXEL_INFO_START,
    175     ANDROID_HOT_PIXEL_INFO_END,
    176 
    177     ANDROID_JPEG_GPS_COORDINATES   = ANDROID_JPEG_START,
    178     ANDROID_JPEG_GPS_PROCESSING_METHOD,
    179     ANDROID_JPEG_GPS_TIMESTAMP,
    180     ANDROID_JPEG_ORIENTATION,
    181     ANDROID_JPEG_QUALITY,
    182     ANDROID_JPEG_THUMBNAIL_QUALITY,
    183     ANDROID_JPEG_THUMBNAIL_SIZE,
    184     ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES,
    185     ANDROID_JPEG_MAX_SIZE,
    186     ANDROID_JPEG_SIZE,
    187     ANDROID_JPEG_END,
    188 
    189     ANDROID_LENS_APERTURE          = ANDROID_LENS_START,
    190     ANDROID_LENS_FILTER_DENSITY,
    191     ANDROID_LENS_FOCAL_LENGTH,
    192     ANDROID_LENS_FOCUS_DISTANCE,
    193     ANDROID_LENS_OPTICAL_STABILIZATION_MODE,
    194     ANDROID_LENS_FACING,
    195     ANDROID_LENS_OPTICAL_AXIS_ANGLE,
    196     ANDROID_LENS_POSITION,
    197     ANDROID_LENS_FOCUS_RANGE,
    198     ANDROID_LENS_STATE,
    199     ANDROID_LENS_END,
    200 
    201     ANDROID_LENS_INFO_AVAILABLE_APERTURES
    202                                    = ANDROID_LENS_INFO_START,
    203     ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES,
    204     ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS,
    205     ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION,
    206     ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP,
    207     ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE,
    208     ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE,
    209     ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE,
    210     ANDROID_LENS_INFO_SHADING_MAP,
    211     ANDROID_LENS_INFO_SHADING_MAP_SIZE,
    212     ANDROID_LENS_INFO_END,
    213 
    214     ANDROID_NOISE_REDUCTION_MODE   = ANDROID_NOISE_REDUCTION_START,
    215     ANDROID_NOISE_REDUCTION_STRENGTH,
    216     ANDROID_NOISE_REDUCTION_END,
    217 
    218     ANDROID_QUIRKS_METERING_CROP_REGION
    219                                    = ANDROID_QUIRKS_START,
    220     ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO,
    221     ANDROID_QUIRKS_USE_ZSL_FORMAT,
    222     ANDROID_QUIRKS_END,
    223 
    224     ANDROID_REQUEST_FRAME_COUNT    = ANDROID_REQUEST_START,
    225     ANDROID_REQUEST_ID,
    226     ANDROID_REQUEST_INPUT_STREAMS,
    227     ANDROID_REQUEST_METADATA_MODE,
    228     ANDROID_REQUEST_OUTPUT_STREAMS,
    229     ANDROID_REQUEST_TYPE,
    230     ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,
    231     ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS,
    232     ANDROID_REQUEST_END,
    233 
    234     ANDROID_SCALER_CROP_REGION     = ANDROID_SCALER_START,
    235     ANDROID_SCALER_AVAILABLE_FORMATS,
    236     ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS,
    237     ANDROID_SCALER_AVAILABLE_JPEG_SIZES,
    238     ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM,
    239     ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS,
    240     ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES,
    241     ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS,
    242     ANDROID_SCALER_AVAILABLE_RAW_SIZES,
    243     ANDROID_SCALER_END,
    244 
    245     ANDROID_SENSOR_EXPOSURE_TIME   = ANDROID_SENSOR_START,
    246     ANDROID_SENSOR_FRAME_DURATION,
    247     ANDROID_SENSOR_SENSITIVITY,
    248     ANDROID_SENSOR_BASE_GAIN_FACTOR,
    249     ANDROID_SENSOR_BLACK_LEVEL_PATTERN,
    250     ANDROID_SENSOR_CALIBRATION_TRANSFORM1,
    251     ANDROID_SENSOR_CALIBRATION_TRANSFORM2,
    252     ANDROID_SENSOR_COLOR_TRANSFORM1,
    253     ANDROID_SENSOR_COLOR_TRANSFORM2,
    254     ANDROID_SENSOR_FORWARD_MATRIX1,
    255     ANDROID_SENSOR_FORWARD_MATRIX2,
    256     ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY,
    257     ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS,
    258     ANDROID_SENSOR_ORIENTATION,
    259     ANDROID_SENSOR_REFERENCE_ILLUMINANT1,
    260     ANDROID_SENSOR_REFERENCE_ILLUMINANT2,
    261     ANDROID_SENSOR_TIMESTAMP,
    262     ANDROID_SENSOR_END,
    263 
    264     ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE
    265                                    = ANDROID_SENSOR_INFO_START,
    266     ANDROID_SENSOR_INFO_AVAILABLE_SENSITIVITIES,
    267     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT,
    268     ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE,
    269     ANDROID_SENSOR_INFO_MAX_FRAME_DURATION,
    270     ANDROID_SENSOR_INFO_PHYSICAL_SIZE,
    271     ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,
    272     ANDROID_SENSOR_INFO_WHITE_LEVEL,
    273     ANDROID_SENSOR_INFO_END,
    274 
    275     ANDROID_SHADING_MODE           = ANDROID_SHADING_START,
    276     ANDROID_SHADING_STRENGTH,
    277     ANDROID_SHADING_END,
    278 
    279     ANDROID_STATISTICS_FACE_DETECT_MODE
    280                                    = ANDROID_STATISTICS_START,
    281     ANDROID_STATISTICS_HISTOGRAM_MODE,
    282     ANDROID_STATISTICS_SHARPNESS_MAP_MODE,
    283     ANDROID_STATISTICS_FACE_IDS,
    284     ANDROID_STATISTICS_FACE_LANDMARKS,
    285     ANDROID_STATISTICS_FACE_RECTANGLES,
    286     ANDROID_STATISTICS_FACE_SCORES,
    287     ANDROID_STATISTICS_HISTOGRAM,
    288     ANDROID_STATISTICS_SHARPNESS_MAP,
    289     ANDROID_STATISTICS_END,
    290 
    291     ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES
    292                                    = ANDROID_STATISTICS_INFO_START,
    293     ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT,
    294     ANDROID_STATISTICS_INFO_MAX_FACE_COUNT,
    295     ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT,
    296     ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE,
    297     ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE,
    298     ANDROID_STATISTICS_INFO_END,
    299 
    300     ANDROID_TONEMAP_CURVE_BLUE     = ANDROID_TONEMAP_START,
    301     ANDROID_TONEMAP_CURVE_GREEN,
    302     ANDROID_TONEMAP_CURVE_RED,
    303     ANDROID_TONEMAP_MODE,
    304     ANDROID_TONEMAP_MAX_CURVE_POINTS,
    305     ANDROID_TONEMAP_END,
    306 
    307     ANDROID_LED_TRANSMIT           = ANDROID_LED_START,
    308     ANDROID_LED_AVAILABLE_LEDS,
    309     ANDROID_LED_END,
    310 
    311     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL
    312                                    = ANDROID_INFO_START,
    313     ANDROID_INFO_END,
    314 
    315 } camera_metadata_tag_t;
    316 
    317 /**
    318  * Enumeration definitions for the various entries that need them
    319  */
    320 
    321 // ANDROID_COLOR_CORRECTION_MODE
    322 typedef enum camera_metadata_enum_android_color_correction_mode {
    323     ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX,
    324     ANDROID_COLOR_CORRECTION_MODE_FAST,
    325     ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY,
    326 } camera_metadata_enum_android_color_correction_mode_t;
    327 
    328 
    329 // ANDROID_CONTROL_AE_ANTIBANDING_MODE
    330 typedef enum camera_metadata_enum_android_control_ae_antibanding_mode {
    331     ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF,
    332     ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ,
    333     ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ,
    334     ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO,
    335 } camera_metadata_enum_android_control_ae_antibanding_mode_t;
    336 
    337 // ANDROID_CONTROL_AE_LOCK
    338 typedef enum camera_metadata_enum_android_control_ae_lock {
    339     ANDROID_CONTROL_AE_LOCK_OFF,
    340     ANDROID_CONTROL_AE_LOCK_ON,
    341 } camera_metadata_enum_android_control_ae_lock_t;
    342 
    343 // ANDROID_CONTROL_AE_MODE
    344 typedef enum camera_metadata_enum_android_control_ae_mode {
    345     ANDROID_CONTROL_AE_MODE_OFF,
    346     ANDROID_CONTROL_AE_MODE_ON,
    347     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH,
    348     ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH,
    349     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE,
    350 } camera_metadata_enum_android_control_ae_mode_t;
    351 
    352 // ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER
    353 typedef enum camera_metadata_enum_android_control_ae_precapture_trigger {
    354     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE,
    355     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START,
    356 } camera_metadata_enum_android_control_ae_precapture_trigger_t;
    357 
    358 // ANDROID_CONTROL_AF_MODE
    359 typedef enum camera_metadata_enum_android_control_af_mode {
    360     ANDROID_CONTROL_AF_MODE_OFF,
    361     ANDROID_CONTROL_AF_MODE_AUTO,
    362     ANDROID_CONTROL_AF_MODE_MACRO,
    363     ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO,
    364     ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE,
    365     ANDROID_CONTROL_AF_MODE_EDOF,
    366 } camera_metadata_enum_android_control_af_mode_t;
    367 
    368 // ANDROID_CONTROL_AF_TRIGGER
    369 typedef enum camera_metadata_enum_android_control_af_trigger {
    370     ANDROID_CONTROL_AF_TRIGGER_IDLE,
    371     ANDROID_CONTROL_AF_TRIGGER_START,
    372     ANDROID_CONTROL_AF_TRIGGER_CANCEL,
    373 } camera_metadata_enum_android_control_af_trigger_t;
    374 
    375 // ANDROID_CONTROL_AWB_LOCK
    376 typedef enum camera_metadata_enum_android_control_awb_lock {
    377     ANDROID_CONTROL_AWB_LOCK_OFF,
    378     ANDROID_CONTROL_AWB_LOCK_ON,
    379 } camera_metadata_enum_android_control_awb_lock_t;
    380 
    381 // ANDROID_CONTROL_AWB_MODE
    382 typedef enum camera_metadata_enum_android_control_awb_mode {
    383     ANDROID_CONTROL_AWB_MODE_OFF,
    384     ANDROID_CONTROL_AWB_MODE_AUTO,
    385     ANDROID_CONTROL_AWB_MODE_INCANDESCENT,
    386     ANDROID_CONTROL_AWB_MODE_FLUORESCENT,
    387     ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT,
    388     ANDROID_CONTROL_AWB_MODE_DAYLIGHT,
    389     ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT,
    390     ANDROID_CONTROL_AWB_MODE_TWILIGHT,
    391     ANDROID_CONTROL_AWB_MODE_SHADE,
    392 } camera_metadata_enum_android_control_awb_mode_t;
    393 
    394 // ANDROID_CONTROL_CAPTURE_INTENT
    395 typedef enum camera_metadata_enum_android_control_capture_intent {
    396     ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM,
    397     ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW,
    398     ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE,
    399     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD,
    400     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT,
    401     ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG,
    402 } camera_metadata_enum_android_control_capture_intent_t;
    403 
    404 // ANDROID_CONTROL_EFFECT_MODE
    405 typedef enum camera_metadata_enum_android_control_effect_mode {
    406     ANDROID_CONTROL_EFFECT_MODE_OFF,
    407     ANDROID_CONTROL_EFFECT_MODE_MONO,
    408     ANDROID_CONTROL_EFFECT_MODE_NEGATIVE,
    409     ANDROID_CONTROL_EFFECT_MODE_SOLARIZE,
    410     ANDROID_CONTROL_EFFECT_MODE_SEPIA,
    411     ANDROID_CONTROL_EFFECT_MODE_POSTERIZE,
    412     ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD,
    413     ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD,
    414     ANDROID_CONTROL_EFFECT_MODE_AQUA,
    415 } camera_metadata_enum_android_control_effect_mode_t;
    416 
    417 // ANDROID_CONTROL_MODE
    418 typedef enum camera_metadata_enum_android_control_mode {
    419     ANDROID_CONTROL_MODE_OFF,
    420     ANDROID_CONTROL_MODE_AUTO,
    421     ANDROID_CONTROL_MODE_USE_SCENE_MODE,
    422 } camera_metadata_enum_android_control_mode_t;
    423 
    424 // ANDROID_CONTROL_SCENE_MODE
    425 typedef enum camera_metadata_enum_android_control_scene_mode {
    426     ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED                      = 0,
    427     ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY,
    428     ANDROID_CONTROL_SCENE_MODE_ACTION,
    429     ANDROID_CONTROL_SCENE_MODE_PORTRAIT,
    430     ANDROID_CONTROL_SCENE_MODE_LANDSCAPE,
    431     ANDROID_CONTROL_SCENE_MODE_NIGHT,
    432     ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT,
    433     ANDROID_CONTROL_SCENE_MODE_THEATRE,
    434     ANDROID_CONTROL_SCENE_MODE_BEACH,
    435     ANDROID_CONTROL_SCENE_MODE_SNOW,
    436     ANDROID_CONTROL_SCENE_MODE_SUNSET,
    437     ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO,
    438     ANDROID_CONTROL_SCENE_MODE_FIREWORKS,
    439     ANDROID_CONTROL_SCENE_MODE_SPORTS,
    440     ANDROID_CONTROL_SCENE_MODE_PARTY,
    441     ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT,
    442     ANDROID_CONTROL_SCENE_MODE_BARCODE,
    443 } camera_metadata_enum_android_control_scene_mode_t;
    444 
    445 // ANDROID_CONTROL_VIDEO_STABILIZATION_MODE
    446 typedef enum camera_metadata_enum_android_control_video_stabilization_mode {
    447     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF,
    448     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON,
    449 } camera_metadata_enum_android_control_video_stabilization_mode_t;
    450 
    451 // ANDROID_CONTROL_AE_STATE
    452 typedef enum camera_metadata_enum_android_control_ae_state {
    453     ANDROID_CONTROL_AE_STATE_INACTIVE,
    454     ANDROID_CONTROL_AE_STATE_SEARCHING,
    455     ANDROID_CONTROL_AE_STATE_CONVERGED,
    456     ANDROID_CONTROL_AE_STATE_LOCKED,
    457     ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED,
    458     ANDROID_CONTROL_AE_STATE_PRECAPTURE,
    459 } camera_metadata_enum_android_control_ae_state_t;
    460 
    461 // ANDROID_CONTROL_AF_STATE
    462 typedef enum camera_metadata_enum_android_control_af_state {
    463     ANDROID_CONTROL_AF_STATE_INACTIVE,
    464     ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN,
    465     ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED,
    466     ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN,
    467     ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED,
    468     ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED,
    469 } camera_metadata_enum_android_control_af_state_t;
    470 
    471 // ANDROID_CONTROL_AWB_STATE
    472 typedef enum camera_metadata_enum_android_control_awb_state {
    473     ANDROID_CONTROL_AWB_STATE_INACTIVE,
    474     ANDROID_CONTROL_AWB_STATE_SEARCHING,
    475     ANDROID_CONTROL_AWB_STATE_CONVERGED,
    476     ANDROID_CONTROL_AWB_STATE_LOCKED,
    477 } camera_metadata_enum_android_control_awb_state_t;
    478 
    479 
    480 // ANDROID_DEMOSAIC_MODE
    481 typedef enum camera_metadata_enum_android_demosaic_mode {
    482     ANDROID_DEMOSAIC_MODE_FAST,
    483     ANDROID_DEMOSAIC_MODE_HIGH_QUALITY,
    484 } camera_metadata_enum_android_demosaic_mode_t;
    485 
    486 
    487 // ANDROID_EDGE_MODE
    488 typedef enum camera_metadata_enum_android_edge_mode {
    489     ANDROID_EDGE_MODE_OFF,
    490     ANDROID_EDGE_MODE_FAST,
    491     ANDROID_EDGE_MODE_HIGH_QUALITY,
    492 } camera_metadata_enum_android_edge_mode_t;
    493 
    494 
    495 // ANDROID_FLASH_MODE
    496 typedef enum camera_metadata_enum_android_flash_mode {
    497     ANDROID_FLASH_MODE_OFF,
    498     ANDROID_FLASH_MODE_SINGLE,
    499     ANDROID_FLASH_MODE_TORCH,
    500 } camera_metadata_enum_android_flash_mode_t;
    501 
    502 // ANDROID_FLASH_STATE
    503 typedef enum camera_metadata_enum_android_flash_state {
    504     ANDROID_FLASH_STATE_UNAVAILABLE,
    505     ANDROID_FLASH_STATE_CHARGING,
    506     ANDROID_FLASH_STATE_READY,
    507     ANDROID_FLASH_STATE_FIRED,
    508 } camera_metadata_enum_android_flash_state_t;
    509 
    510 
    511 
    512 // ANDROID_GEOMETRIC_MODE
    513 typedef enum camera_metadata_enum_android_geometric_mode {
    514     ANDROID_GEOMETRIC_MODE_OFF,
    515     ANDROID_GEOMETRIC_MODE_FAST,
    516     ANDROID_GEOMETRIC_MODE_HIGH_QUALITY,
    517 } camera_metadata_enum_android_geometric_mode_t;
    518 
    519 
    520 // ANDROID_HOT_PIXEL_MODE
    521 typedef enum camera_metadata_enum_android_hot_pixel_mode {
    522     ANDROID_HOT_PIXEL_MODE_OFF,
    523     ANDROID_HOT_PIXEL_MODE_FAST,
    524     ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY,
    525 } camera_metadata_enum_android_hot_pixel_mode_t;
    526 
    527 
    528 
    529 
    530 // ANDROID_LENS_OPTICAL_STABILIZATION_MODE
    531 typedef enum camera_metadata_enum_android_lens_optical_stabilization_mode {
    532     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF,
    533     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON,
    534 } camera_metadata_enum_android_lens_optical_stabilization_mode_t;
    535 
    536 // ANDROID_LENS_FACING
    537 typedef enum camera_metadata_enum_android_lens_facing {
    538     ANDROID_LENS_FACING_FRONT,
    539     ANDROID_LENS_FACING_BACK,
    540 } camera_metadata_enum_android_lens_facing_t;
    541 
    542 // ANDROID_LENS_STATE
    543 typedef enum camera_metadata_enum_android_lens_state {
    544     ANDROID_LENS_STATE_STATIONARY,
    545 } camera_metadata_enum_android_lens_state_t;
    546 
    547 
    548 
    549 // ANDROID_NOISE_REDUCTION_MODE
    550 typedef enum camera_metadata_enum_android_noise_reduction_mode {
    551     ANDROID_NOISE_REDUCTION_MODE_OFF,
    552     ANDROID_NOISE_REDUCTION_MODE_FAST,
    553     ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY,
    554 } camera_metadata_enum_android_noise_reduction_mode_t;
    555 
    556 
    557 
    558 // ANDROID_REQUEST_METADATA_MODE
    559 typedef enum camera_metadata_enum_android_request_metadata_mode {
    560     ANDROID_REQUEST_METADATA_MODE_NONE,
    561     ANDROID_REQUEST_METADATA_MODE_FULL,
    562 } camera_metadata_enum_android_request_metadata_mode_t;
    563 
    564 // ANDROID_REQUEST_TYPE
    565 typedef enum camera_metadata_enum_android_request_type {
    566     ANDROID_REQUEST_TYPE_CAPTURE,
    567     ANDROID_REQUEST_TYPE_REPROCESS,
    568 } camera_metadata_enum_android_request_type_t;
    569 
    570 
    571 // ANDROID_SCALER_AVAILABLE_FORMATS
    572 typedef enum camera_metadata_enum_android_scaler_available_formats {
    573     ANDROID_SCALER_AVAILABLE_FORMATS_RAW_SENSOR                 = 0x20,
    574     ANDROID_SCALER_AVAILABLE_FORMATS_YV12                       = 0x32315659,
    575     ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP               = 0x11,
    576     ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED     = 0x22,
    577     ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888              = 0x23,
    578     ANDROID_SCALER_AVAILABLE_FORMATS_BLOB                       = 0x21,
    579 } camera_metadata_enum_android_scaler_available_formats_t;
    580 
    581 
    582 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
    583 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
    584     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT               = 1,
    585     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT            = 2,
    586     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN               = 3,
    587     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH                  = 4,
    588     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER           = 9,
    589     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER         = 10,
    590     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE                  = 11,
    591     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT   = 12,
    592     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT  = 13,
    593     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14,
    594     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT      = 15,
    595     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A             = 17,
    596     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B             = 18,
    597     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C             = 19,
    598     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55                    = 20,
    599     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65                    = 21,
    600     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75                    = 22,
    601     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50                    = 23,
    602     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN    = 24,
    603 } camera_metadata_enum_android_sensor_reference_illuminant1_t;
    604 
    605 
    606 // ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
    607 typedef enum camera_metadata_enum_android_sensor_info_color_filter_arrangement {
    608     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB,
    609     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG,
    610     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG,
    611     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR,
    612     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB,
    613 } camera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
    614 
    615 
    616 // ANDROID_SHADING_MODE
    617 typedef enum camera_metadata_enum_android_shading_mode {
    618     ANDROID_SHADING_MODE_OFF,
    619     ANDROID_SHADING_MODE_FAST,
    620     ANDROID_SHADING_MODE_HIGH_QUALITY,
    621 } camera_metadata_enum_android_shading_mode_t;
    622 
    623 
    624 // ANDROID_STATISTICS_FACE_DETECT_MODE
    625 typedef enum camera_metadata_enum_android_statistics_face_detect_mode {
    626     ANDROID_STATISTICS_FACE_DETECT_MODE_OFF,
    627     ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE,
    628     ANDROID_STATISTICS_FACE_DETECT_MODE_FULL,
    629 } camera_metadata_enum_android_statistics_face_detect_mode_t;
    630 
    631 // ANDROID_STATISTICS_HISTOGRAM_MODE
    632 typedef enum camera_metadata_enum_android_statistics_histogram_mode {
    633     ANDROID_STATISTICS_HISTOGRAM_MODE_OFF,
    634     ANDROID_STATISTICS_HISTOGRAM_MODE_ON,
    635 } camera_metadata_enum_android_statistics_histogram_mode_t;
    636 
    637 // ANDROID_STATISTICS_SHARPNESS_MAP_MODE
    638 typedef enum camera_metadata_enum_android_statistics_sharpness_map_mode {
    639     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF,
    640     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON,
    641 } camera_metadata_enum_android_statistics_sharpness_map_mode_t;
    642 
    643 
    644 
    645 // ANDROID_TONEMAP_MODE
    646 typedef enum camera_metadata_enum_android_tonemap_mode {
    647     ANDROID_TONEMAP_MODE_CONTRAST_CURVE,
    648     ANDROID_TONEMAP_MODE_FAST,
    649     ANDROID_TONEMAP_MODE_HIGH_QUALITY,
    650 } camera_metadata_enum_android_tonemap_mode_t;
    651 
    652 
    653 // ANDROID_LED_TRANSMIT
    654 typedef enum camera_metadata_enum_android_led_transmit {
    655     ANDROID_LED_TRANSMIT_OFF,
    656     ANDROID_LED_TRANSMIT_ON,
    657 } camera_metadata_enum_android_led_transmit_t;
    658 
    659 // ANDROID_LED_AVAILABLE_LEDS
    660 typedef enum camera_metadata_enum_android_led_available_leds {
    661     ANDROID_LED_AVAILABLE_LEDS_TRANSMIT,
    662 } camera_metadata_enum_android_led_available_leds_t;
    663 
    664 
    665 // ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL
    666 typedef enum camera_metadata_enum_android_info_supported_hardware_level {
    667     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED,
    668     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL,
    669 } camera_metadata_enum_android_info_supported_hardware_level_t;
    670 
    671 
    672