diff options
author | Zhijun He <zhijunhe@google.com> | 2015-02-08 21:29:18 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2015-02-08 21:29:18 +0000 |
commit | 6de4c8827111ea32d036a7071e3cdc85343cc5d4 (patch) | |
tree | 30630caf29b1e12b0d1c5ce7ac461dea0018f18e /core/java/android/hardware/camera2 | |
parent | 6bfe8325b98869392f35d5fc8ea3bd29c538dad8 (diff) | |
parent | 0b039b031557d77e112e88925904e9668f764aa7 (diff) | |
download | frameworks_base-6de4c8827111ea32d036a7071e3cdc85343cc5d4.zip frameworks_base-6de4c8827111ea32d036a7071e3cdc85343cc5d4.tar.gz frameworks_base-6de4c8827111ea32d036a7071e3cdc85343cc5d4.tar.bz2 |
am 9f8e82ed: am f7f13110: Merge "camera-metadata: clarify the AE precapture trigger spec" into lmp-mr1-dev automerge: 07c745b
automerge: 0b039b0
* commit '0b039b031557d77e112e88925904e9668f764aa7':
camera-metadata: clarify the AE precapture trigger spec
Diffstat (limited to 'core/java/android/hardware/camera2')
-rw-r--r-- | core/java/android/hardware/camera2/CaptureRequest.java | 14 | ||||
-rw-r--r-- | core/java/android/hardware/camera2/CaptureResult.java | 14 |
2 files changed, 24 insertions, 4 deletions
diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index e1b14cc..a40d47a 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -873,9 +873,9 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>> * metering sequence when it processes this request.</p> * <p>This entry is normally set to IDLE, or is not * included at all in the request settings. When included and - * set to START, the camera device will trigger the autoexposure + * set to START, the camera device will trigger the auto-exposure (AE) * precapture metering sequence.</p> - * <p>The precapture sequence should triggered before starting a + * <p>The precapture sequence should be triggered before starting a * high-quality still capture for final metering decisions to * be made, and for firing pre-capture flash pulses to estimate * scene brightness and required final capture flash power, when @@ -883,6 +883,14 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>> * <p>Normally, this entry should be set to START for only a * single request, and the application should wait until the * sequence completes before starting a new one.</p> + * <p>When a precapture metering sequence is finished, the camera device + * may lock the auto-exposure routine internally to be able to accurately expose the + * subsequent still capture image (<code>{@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} == STILL_CAPTURE</code>). + * For this case, the AE may not resume normal scan if no subsequent still capture is + * submitted. To ensure that the AE routine restarts normal scan, the application should + * submit a request with <code>{@link CaptureRequest#CONTROL_AE_LOCK android.control.aeLock} == true</code>, followed by a request + * with <code>{@link CaptureRequest#CONTROL_AE_LOCK android.control.aeLock} == false</code>, if the application decides not to submit a + * still capture request after the precapture sequence completes.</p> * <p>The exact effect of auto-exposure (AE) precapture trigger * depends on the current AE mode and state; see * {@link CaptureResult#CONTROL_AE_STATE android.control.aeState} for AE precapture state transition @@ -901,7 +909,9 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>> * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p> * + * @see CaptureRequest#CONTROL_AE_LOCK * @see CaptureResult#CONTROL_AE_STATE + * @see CaptureRequest#CONTROL_CAPTURE_INTENT * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #CONTROL_AE_PRECAPTURE_TRIGGER_IDLE * @see #CONTROL_AE_PRECAPTURE_TRIGGER_START diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index 5bf5b29..810d0f6 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -724,9 +724,9 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * metering sequence when it processes this request.</p> * <p>This entry is normally set to IDLE, or is not * included at all in the request settings. When included and - * set to START, the camera device will trigger the autoexposure + * set to START, the camera device will trigger the auto-exposure (AE) * precapture metering sequence.</p> - * <p>The precapture sequence should triggered before starting a + * <p>The precapture sequence should be triggered before starting a * high-quality still capture for final metering decisions to * be made, and for firing pre-capture flash pulses to estimate * scene brightness and required final capture flash power, when @@ -734,6 +734,14 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * <p>Normally, this entry should be set to START for only a * single request, and the application should wait until the * sequence completes before starting a new one.</p> + * <p>When a precapture metering sequence is finished, the camera device + * may lock the auto-exposure routine internally to be able to accurately expose the + * subsequent still capture image (<code>{@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} == STILL_CAPTURE</code>). + * For this case, the AE may not resume normal scan if no subsequent still capture is + * submitted. To ensure that the AE routine restarts normal scan, the application should + * submit a request with <code>{@link CaptureRequest#CONTROL_AE_LOCK android.control.aeLock} == true</code>, followed by a request + * with <code>{@link CaptureRequest#CONTROL_AE_LOCK android.control.aeLock} == false</code>, if the application decides not to submit a + * still capture request after the precapture sequence completes.</p> * <p>The exact effect of auto-exposure (AE) precapture trigger * depends on the current AE mode and state; see * {@link CaptureResult#CONTROL_AE_STATE android.control.aeState} for AE precapture state transition @@ -752,7 +760,9 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p> * + * @see CaptureRequest#CONTROL_AE_LOCK * @see CaptureResult#CONTROL_AE_STATE + * @see CaptureRequest#CONTROL_CAPTURE_INTENT * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #CONTROL_AE_PRECAPTURE_TRIGGER_IDLE * @see #CONTROL_AE_PRECAPTURE_TRIGGER_START |