OSDN Git Service

Camera: Minor revision to metadata tags, many more enum definitions.
authorEino-Ville Talvala <etalvala@google.com>
Mon, 14 May 2012 21:56:04 +0000 (14:56 -0700)
committerEino-Ville Talvala <etalvala@google.com>
Tue, 15 May 2012 22:00:03 +0000 (15:00 -0700)
- 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
camera/src/camera_metadata_tag_info.c

index bfb4fe3..e9edca9 100644 (file)
@@ -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
+};
index 0481eb5..7a49175 100644 (file)
@@ -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 -