From 9835a5d2698e657691ba17e1e2bb865c2022fbde Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Mon, 14 May 2012 14:56:04 -0700 Subject: Camera: Minor revision to metadata tags, many more enum definitions. - Remove some tags, adding a few others - Add enums for all current tags that need them for their values. Bug: 6243944 Change-Id: I69085eaad68ef39f7047e93570b4591165cca308 --- camera/include/system/camera_metadata_tags.h | 166 +++++++++++++++++++++++++-- camera/src/camera_metadata_tag_info.c | 26 +++-- 2 files changed, 173 insertions(+), 19 deletions(-) diff --git a/camera/include/system/camera_metadata_tags.h b/camera/include/system/camera_metadata_tags.h index bfb4fe32..e9edca9f 100644 --- a/camera/include/system/camera_metadata_tags.h +++ b/camera/include/system/camera_metadata_tags.h @@ -20,6 +20,8 @@ * Include camera_metadata.h instead. */ +/** TODO: Nearly every enum in this file needs a description */ + /** * Top level hierarchy definitions for camera metadata. *_INFO sections are for * the static metadata that can be retrived without opening the camera device. @@ -219,10 +221,7 @@ enum { ANDROID_EDGE_INFO_END = ANDROID_EDGE_INFO_START, - ANDROID_SCALER_SIZE = ANDROID_SCALER_START, - ANDROID_SCALER_FORMAT, - ANDROID_SCALER_CROP_REGION, - ANDROID_SCALER_ROTATION, + ANDROID_SCALER_CROP_REGION = ANDROID_SCALER_START, ANDROID_SCALER_END, ANDROID_SCALER_AVAILABLE_FORMATS = ANDROID_SCALER_INFO_START, @@ -263,19 +262,23 @@ enum { ANDROID_STATS_MAX_SHARPNESS_MAP_VALUE, ANDROID_STATS_INFO_END, - ANDROID_CONTROL_MODE = ANDROID_CONTROL_START, + ANDROID_CONTROL_CAPTURE_INTENT = ANDROID_CONTROL_START, + ANDROID_CONTROL_MODE, + ANDROID_CONTROL_EFFECT_MODE, + ANDROID_CONTROL_SCENE_MODE, + ANDROID_CONTROL_VIDEO_STABILIZATION_MODE, ANDROID_CONTROL_AE_MODE, ANDROID_CONTROL_AE_REGIONS, ANDROID_CONTROL_AE_EXP_COMPENSATION, ANDROID_CONTROL_AE_TARGET_FPS_RANGE, ANDROID_CONTROL_AE_ANTIBANDING_MODE, + ANDROID_CONTROL_AE_STATE, ANDROID_CONTROL_AWB_MODE, ANDROID_CONTROL_AWB_REGIONS, + ANDROID_CONTROL_AWB_STATE, ANDROID_CONTROL_AF_MODE, ANDROID_CONTROL_AF_REGIONS, - ANDROID_CONTROL_AF_TRIGGER, ANDROID_CONTROL_AF_STATE, - ANDROID_CONTROL_VIDEO_STABILIZATION_MODE, ANDROID_CONTROL_END, ANDROID_CONTROL_AVAILABLE_MODES = ANDROID_CONTROL_INFO_START, @@ -300,6 +303,12 @@ enum { ANDROID_REQUEST_METADATA_FULL }; +// ANDROID_LENS_OPTICAL_STABILIZATION_MODE +enum { + ANDROID_LENS_OPTICAL_STABILIZATION_OFF = 0, + ANDROID_LENS_OPTICAL_STABILIZATION_ON +}; + // ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT enum { ANDROID_SENSOR_RGGB = 0, @@ -309,5 +318,148 @@ enum { ANDROID_SENSOR_RGB }; +// ANDROID_FLASH_MODE +enum { + ANDROID_FLASH_OFF = 0, + ANDROID_FLASH_SINGLE, + ANDROID_FLASH_AUTO_SINGLE, + ANDROID_FLASH_TORCH +}; + +// General processing block modes +enum { + ANDROID_PROCESSING_OFF = 0, + ANDROID_PROCESSING_FAST, + ANDROID_PROCESSING_HIGH_QUALITY +}; + +// ANDROID_DEMOSAIC_MODE +enum { + ANDROID_DEMOSAIC_FAST = 1, + ANDROID_DEMOSAIC_HIGH_QUALITY +}; + +// ANDROID_COLOR_MODE +enum { + ANDROID_COLOR_FAST = 1, + ANDROID_COLOR_HIGH_QUALITY, + ANDROID_COLOR_TRANSFORM_MATRIX +}; + +// ANDROID_TONEMAP_MODE +enum { + ANDROID_TONEMAP_FAST = 1, + ANDROID_TONEMAP_HIGH_QUALITY, + ANDROID_TONEMAP_CONTRAST_CURVE +}; + // ANDROID_SCALER_AVAILABLE_FORMATS uses HAL_PIXEL_FORMAT_* from // system/graphics.h + +// ANDROID_STATS_FACE_DETECTION_MODE +enum { + ANDROID_STATS_FACE_DETECTION_OFF = 0, + ANDROID_STATS_FACE_DETECTION_SIMPLE, + ANDROID_STATS_FACE_DETECTION_FULL +}; + +// ANDROID_STATS_HISTOGRAM/SHARPNESS_MAP_MODE +enum { + ANDROID_STATS_OFF = 0, + ANDROID_STATS_ON +}; + +// ANDROID_CONTROL_CAPTURE_INTENT +enum { + ANDROID_CONTROL_INTENT_CUSTOM = 0, + ANDROID_CONTROL_INTENT_PREVIEW, + ANDROID_CONTROL_INTENT_STILL_CAPTURE, + ANDROID_CONTROL_INTENT_VIDEO_RECORD, + ANDROID_CONTROL_INTENT_VIDEO_SNAPSHOT, + ANDROID_CONTROL_INTENT_ZERO_SHUTTER_LAG +}; + +// ANDROID_CONTROL_MODE +enum { + ANDROID_CONTROL_OFF = 0, + ANDROID_CONTROL_AUTO, + ANDROID_CONTROL_USE_SCENE_MODE +}; + +// ANDROID_CONTROL_SCENE_MODE +enum { + ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY = 0, + ANDROID_CONTROL_SCENE_MODE_ACTION, + ANDROID_CONTROL_SCENE_MODE_PORTRAIT, + ANDROID_CONTROL_SCENE_MODE_LANDSCAPE, + ANDROID_CONTROL_SCENE_MODE_NIGHT, + ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT, + ANDROID_CONTROL_SCENE_MODE_THEATRE, + ANDROID_CONTROL_SCENE_MODE_BEACH, + ANDROID_CONTROL_SCENE_MODE_SNOW, + ANDROID_CONTROL_SCENE_MODE_SUNSET, + ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO, + ANDROID_CONTROL_SCENE_MODE_FIREWORKS, + ANDROID_CONTROL_SCENE_MODE_SPORTS, + ANDROID_CONTROL_SCENE_MODE_PARTY, + ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT, + ANDROID_CONTROL_SCENE_MODE_BARCODE +}; + +// ANDROID_CONTROL_EFFECT_MODE +enum { + ANDROID_CONTROL_EFFECT_OFF = 0, + ANDROID_CONTROL_EFFECT_MONO, + ANDROID_CONTROL_EFFECT_NEGATIVE, + ANDROID_CONTROL_EFFECT_SOLARIZE, + ANDROID_CONTROL_EFFECT_SEPIA, + ANDROID_CONTROL_EFFECT_POSTERIZE, + ANDROID_CONTROL_EFFECT_WHITEBOARD, + ANDROID_CONTROL_EFFECT_BLACKBOARD, + ANDROID_CONTROL_EFFECT_AQUA +}; + +// ANDROID_CONTROL_AE_MODE +enum { + ANDROID_CONTROL_AE_OFF = 0, + ANDROID_CONTROL_AE_ON, + ANDROID_CONTROL_AE_ON_AUTO_FLASH, + ANDROID_CONTROL_AE_ON_ALWAYS_FLASH, + ANDROID_CONTROL_AE_ON_AUTO_FLASH_REDEYE +}; + +// ANDROID_CONTROL_AE_ANTIBANDING_MODE +enum { + ANDROID_CONTROL_AE_ANTIBANDING_OFF = 0, + ANDROID_CONTROL_AE_ANTIBANDING_50HZ, + ANDROID_CONTROL_AE_ANTIBANDING_60HZ, + ANDROID_CONTROL_AE_ANTIBANDING_AUTO +}; + +// ANDROID_CONTROL_AWB_MODE +enum { + ANDROID_CONTROL_AWB_OFF = 0, + ANDROID_CONTROL_AWB_AUTO, + ANDROID_CONTROL_AWB_INCANDESCENT, + ANDROID_CONTROL_AWB_FLUORESCENT, + ANDROID_CONTROL_AWB_WARM_FLUORESCENT, + ANDROID_CONTROL_AWB_DAYLIGHT, + ANDROID_CONTROL_AWB_CLOUDY_DAYLIGHT, + ANDROID_CONTROL_AWB_TWILIGHT, + ANDROID_CONTROL_AWB_SHADE +}; + +// ANDROID_CONTROL_AF_MODE +enum { + ANDROID_CONTROL_AF_OFF = 0, + ANDROID_CONTROL_AF_AUTO, + ANDROID_CONTROL_AF_MACRO, + ANDROID_CONTROL_AF_CONTINUOUS_VIDEO, + ANDROID_CONTROL_AF_CONTINUOUS_PICTURE +}; + +// ANDROID_CONTROL_VIDEO_STABILIZATION +enum { + ANDROID_CONTROL_VIDEO_STABILIZATION_OFF = 0, + ANDROID_CONTROL_VIDEO_STABILIZATION_ON +}; diff --git a/camera/src/camera_metadata_tag_info.c b/camera/src/camera_metadata_tag_info.c index 0481eb58..7a49175d 100644 --- a/camera/src/camera_metadata_tag_info.c +++ b/camera/src/camera_metadata_tag_info.c @@ -346,14 +346,8 @@ tag_info_t android_edge_info[ANDROID_EDGE_INFO_END - tag_info_t android_scaler[ANDROID_SCALER_END - ANDROID_SCALER_START] = { - TIDX(SCALER, SIZE) = - { "size", TYPE_INT32 }, - TIDX(SCALER, FORMAT) = - { "format", TYPE_BYTE }, TIDX(SCALER, CROP_REGION) = - { "cropRegion", TYPE_INT32 }, - TIDX(SCALER, ROTATION) = - { "rotation", TYPE_INT32 }, + { "cropRegion", TYPE_INT32 } }; tag_info_t android_scaler_info[ANDROID_SCALER_INFO_END - @@ -435,8 +429,16 @@ tag_info_t android_stats_info[ANDROID_STATS_INFO_END - tag_info_t android_control[ANDROID_CONTROL_END - ANDROID_CONTROL_START] = { + TIDX(CONTROL, CAPTURE_INTENT) = + { "captureIntent", TYPE_BYTE }, TIDX(CONTROL, MODE) = { "mode", TYPE_BYTE }, + TIDX(CONTROL, EFFECT_MODE) = + { "effectMode", TYPE_BYTE }, + TIDX(CONTROL, SCENE_MODE) = + { "sceneMode", TYPE_BYTE }, + TIDX(CONTROL, VIDEO_STABILIZATION_MODE) = + { "videoStabilizationMode", TYPE_BYTE }, TIDX(CONTROL, AE_MODE) = { "aeMode", TYPE_BYTE }, TIDX(CONTROL, AE_REGIONS) = @@ -447,20 +449,20 @@ tag_info_t android_control[ANDROID_CONTROL_END - { "aeTargetFpsRange", TYPE_INT32 }, TIDX(CONTROL, AE_ANTIBANDING_MODE) = { "aeAntibandingMode", TYPE_BYTE }, + TIDX(CONTROL, AE_STATE) = + { "aeState", TYPE_BYTE }, TIDX(CONTROL, AWB_MODE) = { "awbMode", TYPE_BYTE }, TIDX(CONTROL, AWB_REGIONS) = { "awbRegions", TYPE_INT32 }, + TIDX(CONTROL, AWB_STATE) = + { "awbState", TYPE_BYTE }, TIDX(CONTROL, AF_MODE) = { "afMode", TYPE_BYTE }, TIDX(CONTROL, AF_REGIONS) = { "afRegions", TYPE_INT32 }, - TIDX(CONTROL, AF_TRIGGER) = - { "afTrigger", TYPE_BYTE }, TIDX(CONTROL, AF_STATE) = - { "afState", TYPE_BYTE }, - TIDX(CONTROL, VIDEO_STABILIZATION_MODE) = - { "videoStabilizationMode", TYPE_BYTE } + { "afState", TYPE_BYTE } }; tag_info_t android_control_info[ANDROID_CONTROL_INFO_END - -- cgit v1.2.3