diff options
author | Shuzhen Wang <shuzhenwang@google.com> | 2023-02-24 17:37:35 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-02-24 17:37:35 +0000 |
commit | b9aa94e3906c2d31bc121c2b5f805b927c01b2ec (patch) | |
tree | 6aec8db3127791498d4dfda836f51f80166ac9ad | |
parent | 57d99cca61d5ba5cbdf899a7f566577b04e1a8f8 (diff) | |
parent | d376e7f88e261e4d1cd067db4a4d6e0868af1a36 (diff) | |
download | base-b9aa94e3906c2d31bc121c2b5f805b927c01b2ec.tar.gz |
Merge "Camera: document multiResolution raw behavior" into tm-dev
-rw-r--r-- | core/java/android/hardware/camera2/CameraCharacteristics.java | 6 | ||||
-rw-r--r-- | core/java/android/hardware/camera2/CameraMetadata.java | 35 |
2 files changed, 21 insertions, 20 deletions
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index 753d52e440b5..9e4bf6a0c608 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -3513,7 +3513,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <p>An array of mandatory stream combinations which are applicable when device support the * 10-bit output capability * {@link android.hardware.camera2.CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT } - * This is an app-readable conversion of the maximum resolution mandatory stream combination + * This is an app-readable conversion of the 10 bit output mandatory stream combination * {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.</p> * <p>The array of * {@link android.hardware.camera2.params.MandatoryStreamCombination combinations} is @@ -3538,8 +3538,8 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri /** * <p>An array of mandatory stream combinations which are applicable when device lists * {@code PREVIEW_STABILIZATION} in {@link CameraCharacteristics#CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES android.control.availableVideoStabilizationModes}. - * This is an app-readable conversion of the maximum resolution mandatory stream combination - * {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.</p> + * This is an app-readable conversion of the preview stabilization mandatory stream + * combination {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.</p> * <p>The array of * {@link android.hardware.camera2.params.MandatoryStreamCombination combinations} is * generated according to the documented diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index eb8c73aced39..e1089c22f593 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -1000,24 +1000,25 @@ public abstract class CameraMetadata<TKey> { * camera's crop region is set to maximum size, the FOV of the physical streams for the * ultrawide lens will be the same as the logical stream, by making the crop region * smaller than its active array size to compensate for the smaller focal length.</p> - * <p>There are two ways for the application to capture RAW images from a logical camera - * with RAW capability:</p> + * <p>For a logical camera, typically the underlying physical cameras have different RAW + * capabilities (such as resolution or CFA pattern). There are two ways for the + * application to capture RAW images from the logical camera:</p> * <ul> - * <li>Because the underlying physical cameras may have different RAW capabilities (such - * as resolution or CFA pattern), to maintain backward compatibility, when a RAW stream - * is configured, the camera device makes sure the default active physical camera remains - * active and does not switch to other physical cameras. (One exception is that, if the - * logical camera consists of identical image sensors and advertises multiple focalLength - * due to different lenses, the camera device may generate RAW images from different - * physical cameras based on the focalLength being set by the application.) This - * backward-compatible approach usually results in loss of optical zoom, to telephoto - * lens or to ultrawide lens.</li> - * <li>Alternatively, to take advantage of the full zoomRatio range of the logical camera, - * the application should use {@link android.hardware.camera2.MultiResolutionImageReader } - * to capture RAW images from the currently active physical camera. Because different - * physical camera may have different RAW characteristics, the application needs to use - * the characteristics and result metadata of the active physical camera for the - * relevant RAW metadata.</li> + * <li>If the logical camera has RAW capability, the application can create and use RAW + * streams in the same way as before. In case a RAW stream is configured, to maintain + * backward compatibility, the camera device makes sure the default active physical + * camera remains active and does not switch to other physical cameras. (One exception + * is that, if the logical camera consists of identical image sensors and advertises + * multiple focalLength due to different lenses, the camera device may generate RAW + * images from different physical cameras based on the focalLength being set by the + * application.) This backward-compatible approach usually results in loss of optical + * zoom, to telephoto lens or to ultrawide lens.</li> + * <li>Alternatively, if supported by the device, + * {@link android.hardware.camera2.MultiResolutionImageReader } + * can be used to capture RAW images from one of the underlying physical cameras ( + * depending on current zoom level). Because different physical cameras may have + * different RAW characteristics, the application needs to use the characteristics + * and result metadata of the active physical camera for the relevant RAW metadata.</li> * </ul> * <p>The capture request and result metadata tags required for backward compatible camera * functionalities will be solely based on the logical camera capability. On the other |