am 33e07bd7: Merge "Camera2: add FACE_PRIORITY_LOW_LIGHT" into mnc-dev

* commit '33e07bd730f552ab0d176b2c3e3c51eabf16bdb8':
  Camera2: add FACE_PRIORITY_LOW_LIGHT
This commit is contained in:
Zhijun He
2015-06-19 16:31:25 +00:00
committed by Android Git Automerger
3 changed files with 44 additions and 10 deletions

View File

@@ -667,7 +667,7 @@ public abstract class CameraMetadata<TKey> {
* {@link android.hardware.camera2.params.StreamConfigurationMap#getHighSpeedVideoSizes }. * {@link android.hardware.camera2.params.StreamConfigurationMap#getHighSpeedVideoSizes }.
* The fps range can be controlled via {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange}.</p> * The fps range can be controlled via {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange}.</p>
* <p>In this capability, the camera device will override aeMode, awbMode, and afMode to * <p>In this capability, the camera device will override aeMode, awbMode, and afMode to
* ON, ON, and CONTINUOUS_VIDEO, respectively. All post-processing block mode * ON, AUTO, and CONTINUOUS_VIDEO, respectively. All post-processing block mode
* controls will be overridden to be FAST. Therefore, no manual control of capture * controls will be overridden to be FAST. Therefore, no manual control of capture
* and post-processing parameters is possible. All other controls operate the * and post-processing parameters is possible. All other controls operate the
* same as when {@link CaptureRequest#CONTROL_MODE android.control.mode} == AUTO. This means that all other * same as when {@link CaptureRequest#CONTROL_MODE android.control.mode} == AUTO. This means that all other
@@ -1666,9 +1666,9 @@ public abstract class CameraMetadata<TKey> {
* <p>Enabling this disables control.aeMode, control.awbMode and * <p>Enabling this disables control.aeMode, control.awbMode and
* control.afMode controls; the camera device will ignore * control.afMode controls; the camera device will ignore
* those settings while USE_SCENE_MODE is active (except for * those settings while USE_SCENE_MODE is active (except for
* FACE_PRIORITY scene mode). Other control entries are still * FACE_PRIORITY scene mode). Other control entries are still active.
* active. This setting can only be used if scene mode is * This setting can only be used if scene mode is supported (i.e.
* supported (i.e. {@link CameraCharacteristics#CONTROL_AVAILABLE_SCENE_MODES android.control.availableSceneModes} * {@link CameraCharacteristics#CONTROL_AVAILABLE_SCENE_MODES android.control.availableSceneModes}
* contain some modes other than DISABLED).</p> * contain some modes other than DISABLED).</p>
* *
* @see CameraCharacteristics#CONTROL_AVAILABLE_SCENE_MODES * @see CameraCharacteristics#CONTROL_AVAILABLE_SCENE_MODES
@@ -1940,6 +1940,40 @@ public abstract class CameraMetadata<TKey> {
*/ */
public static final int CONTROL_SCENE_MODE_HDR = 18; public static final int CONTROL_SCENE_MODE_HDR = 18;
/**
* <p>Same as FACE_PRIORITY scene mode, except that the camera
* device will choose higher sensivity values ({@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity})
* under low light conditions.</p>
* <p>The camera device may be tuned to expose the images in a reduced
* sensitivity range to produce the best quality images. For example,
* if the {@link CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE android.sensor.info.sensitivityRange} gives range of [100, 1600],
* the camera device auto-exposure routine tuning process may limit the actual
* exposure sensivity range to [100, 1200] to ensure that the noise level isn't
* exessive to compromise the image quality. Under this situation, the image under
* low light may be under-exposed when the sensor max exposure time (bounded by the
* {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange} when {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} is one of the
* ON_* modes) and effecitve max sensitivity are reached. This scene mode allows the
* camera device auto-exposure routine to increase the sensitivity up to the max
* sensitivity specified by {@link CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE android.sensor.info.sensitivityRange} when the scene is too
* dark and the max exposure time is reached. The captured images may be noisier
* compared with the images captured in normal FACE_PRIORITY mode, therefore, it is
* recommended that the application only use this scene mode when it is capable of
* reducing the noise level of the captured images.</p>
* <p>Unlike the other scene modes, {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode},
* {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode}, and {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode}
* remain active when FACE_PRIORITY_LOW_LIGHT is set.</p>
*
* @see CaptureRequest#CONTROL_AE_MODE
* @see CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
* @see CaptureRequest#CONTROL_AF_MODE
* @see CaptureRequest#CONTROL_AWB_MODE
* @see CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
* @see CaptureRequest#SENSOR_SENSITIVITY
* @see CaptureRequest#CONTROL_SCENE_MODE
* @hide
*/
public static final int CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT = 19;
// //
// Enumeration values for CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE // Enumeration values for CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE
// //

View File

@@ -1448,9 +1448,9 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
* <p>Scene modes are custom camera modes optimized for a certain set of conditions and * <p>Scene modes are custom camera modes optimized for a certain set of conditions and
* capture settings.</p> * capture settings.</p>
* <p>This is the mode that that is active when * <p>This is the mode that that is active when
* <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} == USE_SCENE_MODE</code>. Aside from FACE_PRIORITY, * <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} == USE_SCENE_MODE</code>. Aside from FACE_PRIORITY, these modes will
* these modes will disable {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}, * disable {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}, {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode}, and {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode}
* {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode}, and {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode} while in use.</p> * while in use.</p>
* <p>The interpretation and implementation of these scene modes is left * <p>The interpretation and implementation of these scene modes is left
* to the implementor of the camera device. Their behavior will not be * to the implementor of the camera device. Their behavior will not be
* consistent across all devices, and any given device may only implement * consistent across all devices, and any given device may only implement

View File

@@ -1960,9 +1960,9 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* <p>Scene modes are custom camera modes optimized for a certain set of conditions and * <p>Scene modes are custom camera modes optimized for a certain set of conditions and
* capture settings.</p> * capture settings.</p>
* <p>This is the mode that that is active when * <p>This is the mode that that is active when
* <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} == USE_SCENE_MODE</code>. Aside from FACE_PRIORITY, * <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} == USE_SCENE_MODE</code>. Aside from FACE_PRIORITY, these modes will
* these modes will disable {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}, * disable {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}, {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode}, and {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode}
* {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode}, and {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode} while in use.</p> * while in use.</p>
* <p>The interpretation and implementation of these scene modes is left * <p>The interpretation and implementation of these scene modes is left
* to the implementor of the camera device. Their behavior will not be * to the implementor of the camera device. Their behavior will not be
* consistent across all devices, and any given device may only implement * consistent across all devices, and any given device may only implement