From 2813b0fae99fed1096dc23c3899e223459a54cec Mon Sep 17 00:00:00 2001 From: Jianing Wei Date: Tue, 29 Sep 2015 14:24:36 -0700 Subject: Camera2: Update video stabilization API doc. Bug: 23353979 Change-Id: I781006d1b6ebbdf522ebbf6acc35b2062aff76b6 --- core/java/android/hardware/camera2/CaptureRequest.java | 12 +++++++++++- core/java/android/hardware/camera2/CaptureResult.java | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index e965d65..3f566eb 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -1545,7 +1545,7 @@ public final class CaptureRequest extends CameraMetadata> /** *

Whether video stabilization is * active.

- *

Video stabilization automatically translates and scales images from + *

Video stabilization automatically warps images from * the camera in order to stabilize motion between consecutive frames.

*

If enabled, video stabilization can modify the * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} to keep the video stream stabilized.

@@ -1555,6 +1555,15 @@ public final class CaptureRequest extends CameraMetadata> * the video stabilization modes in the first several capture results may * still be "OFF", and it will become "ON" when the initialization is * done.

+ *

In addition, not all recording sizes or frame rates may be supported for + * stabilization by a device that reports stabilization support. It is guaranteed + * that an output targeting a MediaRecorder or MediaCodec will be stabilized if + * the recording resolution is less than or equal to 1920 x 1080 (width less than + * or equal to 1920, height less than or equal to 1080), and the recording + * frame rate is less than or equal to 30fps. At other sizes, the CaptureResult + * {@link CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE android.control.videoStabilizationMode} field will return + * OFF if the recording output is not stabilized, or if there are no output + * Surface types that can be stabilized.

*

If a camera device supports both this mode and OIS * ({@link CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE android.lens.opticalStabilizationMode}), turning both modes on may * produce undesirable interaction, so it is recommended not to enable @@ -1566,6 +1575,7 @@ public final class CaptureRequest extends CameraMetadata> *

*

This key is available on all devices.

* + * @see CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE * @see CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE * @see CaptureRequest#SCALER_CROP_REGION * @see #CONTROL_VIDEO_STABILIZATION_MODE_OFF diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index 46eddb3..b3acf2b 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -2056,7 +2056,7 @@ public class CaptureResult extends CameraMetadata> { /** *

Whether video stabilization is * active.

- *

Video stabilization automatically translates and scales images from + *

Video stabilization automatically warps images from * the camera in order to stabilize motion between consecutive frames.

*

If enabled, video stabilization can modify the * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} to keep the video stream stabilized.

@@ -2066,6 +2066,15 @@ public class CaptureResult extends CameraMetadata> { * the video stabilization modes in the first several capture results may * still be "OFF", and it will become "ON" when the initialization is * done.

+ *

In addition, not all recording sizes or frame rates may be supported for + * stabilization by a device that reports stabilization support. It is guaranteed + * that an output targeting a MediaRecorder or MediaCodec will be stabilized if + * the recording resolution is less than or equal to 1920 x 1080 (width less than + * or equal to 1920, height less than or equal to 1080), and the recording + * frame rate is less than or equal to 30fps. At other sizes, the CaptureResult + * {@link CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE android.control.videoStabilizationMode} field will return + * OFF if the recording output is not stabilized, or if there are no output + * Surface types that can be stabilized.

*

If a camera device supports both this mode and OIS * ({@link CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE android.lens.opticalStabilizationMode}), turning both modes on may * produce undesirable interaction, so it is recommended not to enable @@ -2077,6 +2086,7 @@ public class CaptureResult extends CameraMetadata> { *

*

This key is available on all devices.

* + * @see CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE * @see CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE * @see CaptureRequest#SCALER_CROP_REGION * @see #CONTROL_VIDEO_STABILIZATION_MODE_OFF -- cgit v1.1