diff options
-rw-r--r-- | camera/CameraParameters.cpp | 6 | ||||
-rw-r--r-- | include/camera/CameraParameters.h | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/camera/CameraParameters.cpp b/camera/CameraParameters.cpp index e4d5bb3..c11d18f 100644 --- a/camera/CameraParameters.cpp +++ b/camera/CameraParameters.cpp @@ -71,6 +71,7 @@ const char CameraParameters::KEY_ZOOM_SUPPORTED[] = "zoom-supported"; const char CameraParameters::KEY_SMOOTH_ZOOM_SUPPORTED[] = "smooth-zoom-supported"; const char CameraParameters::KEY_FOCUS_DISTANCES[] = "focus-distances"; const char CameraParameters::KEY_VIDEO_FRAME_FORMAT[] = "video-frame-format"; +const char CameraParameters::KEY_METERING_MODE[] = "metering-mode"; const char CameraParameters::TRUE[] = "true"; const char CameraParameters::FOCUS_DISTANCE_INFINITY[] = "Infinity"; @@ -142,6 +143,11 @@ const char CameraParameters::FOCUS_MODE_FIXED[] = "fixed"; const char CameraParameters::FOCUS_MODE_EDOF[] = "edof"; const char CameraParameters::FOCUS_MODE_CONTINUOUS[] = "continuous"; +// Values for metering mode settings. +const char METERING_MODE_CENTER_WEIGHTED[] = "center-weighted"; +const char METERING_MODE_FRAME_AVERAGE[] = "frame-average"; +const char METERING_MODE_SPOT[] = "spot"; + CameraParameters::CameraParameters() : mMap() { diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h index 2b7a86e..4840b40 100644 --- a/include/camera/CameraParameters.h +++ b/include/camera/CameraParameters.h @@ -250,6 +250,10 @@ public: // Example value: "yuv420sp" or PIXEL_FORMAT_XXX constants. Read only. static const char KEY_VIDEO_FRAME_FORMAT[]; + // Metering mode. This affects how camera determines exposure. + // Example value: "spot" or METERING_MODE_XXX constants. Read/write. + static const char KEY_METERING_MODE[]; + // Value for KEY_ZOOM_SUPPORTED or KEY_SMOOTH_ZOOM_SUPPORTED. static const char TRUE[]; @@ -347,6 +351,15 @@ public: // callback will be only called once as soon as the picture is in focus. static const char FOCUS_MODE_CONTINUOUS[]; + // The camera determines the exposure by giving more weight to the + // central part of the scene. + static const char METERING_MODE_CENTER_WEIGHTED[]; + // The camera determines the exposure by averaging the entire scene, + // giving no weighting to any particular area. + static const char METERING_MODE_FRAME_AVERAGE[]; + // The camera determines the exposure by a very small area of the scene, + // typically the center. + static const char METERING_MODE_SPOT[]; private: DefaultKeyedVector<String8,String8> mMap; |