camera: Add enableZsl key
Add enableZsl key so the apps can choose to allow or disallow out of order frame contents and metadata like timestamp. Test: Camera CTS tests on Marlin Bug: 30983997 Change-Id: I009c53a2cc63ac74a4467c26aa8de018a3e6b7aa
This commit is contained in:
committed by
Eino-Ville Talvala
parent
c49f2e5d88
commit
e449171fc1
@@ -14748,6 +14748,7 @@ package android.hardware.camera2 {
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE;
|
||||
@@ -14827,6 +14828,7 @@ package android.hardware.camera2 {
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_STATE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE;
|
||||
|
||||
@@ -15278,6 +15278,7 @@ package android.hardware.camera2 {
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE;
|
||||
@@ -15357,6 +15358,7 @@ package android.hardware.camera2 {
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_STATE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE;
|
||||
|
||||
@@ -14780,6 +14780,7 @@ package android.hardware.camera2 {
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
|
||||
field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE;
|
||||
@@ -14859,6 +14860,7 @@ package android.hardware.camera2 {
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_STATE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
|
||||
field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE;
|
||||
|
||||
@@ -1624,6 +1624,34 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
||||
public static final Key<Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST =
|
||||
new Key<Integer>("android.control.postRawSensitivityBoost", int.class);
|
||||
|
||||
/**
|
||||
* <p>Allow camera device to enable zero-shutter-lag mode for requests with
|
||||
* {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} == STILL_CAPTURE.</p>
|
||||
* <p>If enableZsl is <code>true</code>, the camera device may enable zero-shutter-lag mode for requests with
|
||||
* STILL_CAPTURE capture intent. The camera device may use images captured in the past to
|
||||
* produce output images for a zero-shutter-lag request. The result metadata including the
|
||||
* {@link CaptureResult#SENSOR_TIMESTAMP android.sensor.timestamp} reflects the source frames used to produce output images.
|
||||
* Therefore, the contents of the output images and the result metadata may be out of order
|
||||
* compared to previous regular requests. enableZsl does not affect requests with other
|
||||
* capture intents.</p>
|
||||
* <p>For example, when requests are submitted in the following order:
|
||||
* Request A: enableZsl is ON, {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} is PREVIEW
|
||||
* Request B: enableZsl is ON, {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} is STILL_CAPTURE</p>
|
||||
* <p>The output images for request B may have contents captured before the output images for
|
||||
* request A, and the result metadata for request B may be older than the result metadata for
|
||||
* request A.</p>
|
||||
* <p>Note that when enableZsl is <code>true</code>, it is not guaranteed to get output images captured in the
|
||||
* past for requests with STILL_CAPTURE capture intent.</p>
|
||||
* <p>The value of enableZsl in capture templates is always <code>false</code> if present.</p>
|
||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||
*
|
||||
* @see CaptureRequest#CONTROL_CAPTURE_INTENT
|
||||
* @see CaptureResult#SENSOR_TIMESTAMP
|
||||
*/
|
||||
@PublicKey
|
||||
public static final Key<Boolean> CONTROL_ENABLE_ZSL =
|
||||
new Key<Boolean>("android.control.enableZsl", boolean.class);
|
||||
|
||||
/**
|
||||
* <p>Operation mode for edge
|
||||
* enhancement.</p>
|
||||
|
||||
@@ -2131,6 +2131,34 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
||||
public static final Key<Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST =
|
||||
new Key<Integer>("android.control.postRawSensitivityBoost", int.class);
|
||||
|
||||
/**
|
||||
* <p>Allow camera device to enable zero-shutter-lag mode for requests with
|
||||
* {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} == STILL_CAPTURE.</p>
|
||||
* <p>If enableZsl is <code>true</code>, the camera device may enable zero-shutter-lag mode for requests with
|
||||
* STILL_CAPTURE capture intent. The camera device may use images captured in the past to
|
||||
* produce output images for a zero-shutter-lag request. The result metadata including the
|
||||
* {@link CaptureResult#SENSOR_TIMESTAMP android.sensor.timestamp} reflects the source frames used to produce output images.
|
||||
* Therefore, the contents of the output images and the result metadata may be out of order
|
||||
* compared to previous regular requests. enableZsl does not affect requests with other
|
||||
* capture intents.</p>
|
||||
* <p>For example, when requests are submitted in the following order:
|
||||
* Request A: enableZsl is ON, {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} is PREVIEW
|
||||
* Request B: enableZsl is ON, {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} is STILL_CAPTURE</p>
|
||||
* <p>The output images for request B may have contents captured before the output images for
|
||||
* request A, and the result metadata for request B may be older than the result metadata for
|
||||
* request A.</p>
|
||||
* <p>Note that when enableZsl is <code>true</code>, it is not guaranteed to get output images captured in the
|
||||
* past for requests with STILL_CAPTURE capture intent.</p>
|
||||
* <p>The value of enableZsl in capture templates is always <code>false</code> if present.</p>
|
||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||
*
|
||||
* @see CaptureRequest#CONTROL_CAPTURE_INTENT
|
||||
* @see CaptureResult#SENSOR_TIMESTAMP
|
||||
*/
|
||||
@PublicKey
|
||||
public static final Key<Boolean> CONTROL_ENABLE_ZSL =
|
||||
new Key<Boolean>("android.control.enableZsl", boolean.class);
|
||||
|
||||
/**
|
||||
* <p>Operation mode for edge
|
||||
* enhancement.</p>
|
||||
|
||||
Reference in New Issue
Block a user