From 0fdc9358c672c64b928de94068242dd4a81530aa Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Fri, 29 Mar 2019 10:43:55 -0700 Subject: [PATCH] Camera: Clarify multi-camera RAW and FOV behaviors - RAW capability can exist for multi-camera even if physical cameras are of different sizes/capabilities. - FOV for all processes streams must be the same regardless of logical or physical streams. Test: Build and read docs Bug: 118906351 Bug: 126220135 Change-Id: I14ab4844630a048e66a42ec3a776c87830565e49 --- .../hardware/camera2/CameraMetadata.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index 9e0ee58841990..6bf2d8ca01367 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -906,6 +906,24 @@ public abstract class CameraMetadata { *
  • {@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference}
  • *
  • {@link CameraCharacteristics#LENS_DISTORTION android.lens.distortion}
  • * + *

    The field of view of all non-RAW physical streams must be the same or as close as + * possible to that of non-RAW logical streams. If the requested FOV is outside of the + * range supported by the physical camera, the physical stream for that physical camera + * will use either the maximum or minimum scaler crop region, depending on which one is + * closer to the requested FOV. For example, for a logical camera with wide-tele lens + * configuration where the wide lens is the default, if the logical camera's crop region + * is set to maximum, the physical stream for the tele lens will be configured to its + * maximum crop region. On the other hand, if the logical camera has a normal-wide lens + * configuration where the normal lens is the default, when the logical camera's crop + * region is set to maximum, the FOV of the logical streams will be that of the normal + * lens. The FOV of the physical streams for the wide 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.

    + *

    Even if the underlying physical cameras have different RAW characteristics (such as + * size or CFA pattern), a logical camera can still advertise RAW capability. In this + * case, when the application configures a RAW stream, the camera device will make sure + * the active physical camera will remain active to ensure consistent RAW output + * behavior, and not switch to other physical cameras.

    *

    To maintain backward compatibility, the capture request and result metadata tags * required for basic camera functionalities will be solely based on the * logical camera capabiltity. Other request and result metadata tags, on the other