Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bab52a7 authored by Shuzhen Wang's avatar Shuzhen Wang Committed by Automerger Merge Worker
Browse files

Merge "Camera: Improve logical camera RAW capture docs" into sc-dev am: 3e72b3e1 am: 53a6b7de

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15114380

Change-Id: I0cce2ba453917c60ab427bd4c616b4d9da97bff2
parents 657be4de 53a6b7de
Loading
Loading
Loading
Loading
+20 −6
Original line number Original line Diff line number Diff line
@@ -991,13 +991,27 @@ public abstract class CameraMetadata<TKey> {
     * camera's crop region is set to maximum size, the FOV of the physical streams for the
     * 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
     * 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>
     * smaller than its active array size to compensate for the smaller focal length.</p>
     * <p>Even if the underlying physical cameras have different RAW characteristics (such as
     * <p>There are two ways for the application to capture RAW images from a logical camera
     * size or CFA pattern), a logical camera can still advertise RAW capability. In this
     * with RAW capability:</p>
     * case, when the application configures a RAW stream, the camera device will make sure
     * <ul>
     * the active physical camera will remain active to ensure consistent RAW output
     * <li>Because the underlying physical cameras may have different RAW capabilities (such
     * behavior, and not switch to other physical cameras.</p>
     * 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>
     * </ul>
     * <p>The capture request and result metadata tags required for backward compatible camera
     * <p>The capture request and result metadata tags required for backward compatible camera
     * functionalities will be solely based on the logical camera capabiltity. On the other
     * functionalities will be solely based on the logical camera capability. On the other
     * hand, the use of manual capture controls (sensor or post-processing) with a
     * hand, the use of manual capture controls (sensor or post-processing) with a
     * logical camera may result in unexpected behavior when the HAL decides to switch
     * logical camera may result in unexpected behavior when the HAL decides to switch
     * between physical cameras with different characteristics under the hood. For example,
     * between physical cameras with different characteristics under the hood. For example,