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

Commit 0da8bf5d authored by Eino-Ville Talvala's avatar Eino-Ville Talvala
Browse files

Camera2: Docs: Update cross-refs, aeMode, aeAntibandingMode

Unhide android.control.aeMode and android.control.availableAeModes,
which were supposed to be public all along.

This matches up to system/media commit #9fa0d90ff

Change-Id: Ibba2756dd5889344b5d0531dc6f066566776cdc1
parent 28f7dbec
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -11199,6 +11199,7 @@ package android.hardware.camera2 {
    method public java.util.List<android.hardware.camera2.CameraMetadata.Key<?>> getAvailableCaptureRequestKeys();
    method public java.util.List<android.hardware.camera2.CameraMetadata.Key<?>> getAvailableCaptureResultKeys();
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_MODES;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_COMPENSATION_RANGE;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_COMPENSATION_STEP;
@@ -11504,6 +11505,7 @@ package android.hardware.camera2 {
    field public static final android.hardware.camera2.CameraMetadata.Key BLACK_LEVEL_LOCK;
    field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_GAINS;
    field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_TRANSFORM;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_MODE;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_REGIONS;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_STATE;
    field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_MODE;
+38 −20
Original line number Diff line number Diff line
@@ -126,13 +126,37 @@ public final class CameraCharacteristics extends CameraMetadata {
     * modify the comment blocks at the start or end.
     *~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~*/


    /**
     * <p>Which set of antibanding modes are
     * supported</p>
     * <p>The set of auto-exposure antibanding modes that are
     * supported by this camera device.</p>
     * <p>Not all of the auto-exposure anti-banding modes may be
     * supported by a given camera device. This field lists the
     * valid anti-banding modes that the application may request
     * for this camera device; they must include AUTO.</p>
     */
    public static final Key<byte[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES =
            new Key<byte[]>("android.control.aeAvailableAntibandingModes", byte[].class);

    /**
     * <p>The set of auto-exposure modes that are supported by this
     * camera device.</p>
     * <p>Not all the auto-exposure modes may be supported by a
     * given camera device, especially if no flash unit is
     * available. This entry lists the valid modes for
     * {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} for this camera device.</p>
     * <p>All camera devices support ON, and all camera devices with
     * flash units support ON_AUTO_FLASH and
     * ON_ALWAYS_FLASH.</p>
     * <p>Full-capability camera devices always support OFF mode,
     * which enables application control of camera exposure time,
     * sensitivity, and frame duration.</p>
     *
     * @see CaptureRequest#CONTROL_AE_MODE
     */
    public static final Key<byte[]> CONTROL_AE_AVAILABLE_MODES =
            new Key<byte[]>("android.control.aeAvailableModes", byte[].class);

    /**
     * <p>List of frame rate ranges supported by the
     * AE algorithm/hardware</p>
@@ -211,14 +235,16 @@ public final class CameraCharacteristics extends CameraMetadata {
     * <li>The sizes must be sorted by increasing pixel area (width x height).
     * If several resolutions have the same area, they must be sorted by increasing width.</li>
     * <li>The aspect ratio of the largest thumbnail size must be same as the
     * aspect ratio of largest size in android.scaler.availableJpegSizes.
     * aspect ratio of largest size in {@link CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES android.scaler.availableJpegSizes}.
     * The largest size is defined as the size that has the largest pixel area
     * in a given size list.</li>
     * <li>Each size in android.scaler.availableJpegSizes must have at least
     * <li>Each size in {@link CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES android.scaler.availableJpegSizes} must have at least
     * one corresponding size that has the same aspect ratio in availableThumbnailSizes,
     * and vice versa.</li>
     * <li>All non (0, 0) sizes must have non-zero widths and heights.</li>
     * </ul>
     *
     * @see CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES
     */
    public static final Key<android.hardware.camera2.Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES =
            new Key<android.hardware.camera2.Size[]>("android.jpeg.availableThumbnailSizes", android.hardware.camera2.Size[].class);
@@ -304,9 +330,7 @@ public final class CameraCharacteristics extends CameraMetadata {
     * future versions of camera service. This quirk will stop
     * working at that point; DO NOT USE without careful
     * consideration of future support.</p>
     *
     * <b>Optional</b> - This value may be null on some devices.
     *
     * <p><b>Optional</b> - This value may be null on some devices.</p>
     * @hide
     */
    public static final Key<Byte> QUIRKS_USE_PARTIAL_RESULT =
@@ -429,12 +453,6 @@ public final class CameraCharacteristics extends CameraMetadata {
    /**
     * <p>Gain factor from electrons to raw units when
     * ISO=100</p>
     *
     * <b>Optional</b> - This value may be null on some devices.
     *
     * <b>{@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL}</b> -
     * Present on all devices that report being FULL level hardware devices in the
     * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL HARDWARE_LEVEL} key.
     */
    public static final Key<Rational> SENSOR_BASE_GAIN_FACTOR =
            new Key<Rational>("android.sensor.baseGainFactor", Rational.class);
@@ -442,16 +460,17 @@ public final class CameraCharacteristics extends CameraMetadata {
    /**
     * <p>Maximum sensitivity that is implemented
     * purely through analog gain</p>
     * <p>For android.sensor.sensitivity values less than or
     * <p>For {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity} values less than or
     * equal to this, all applied gain must be analog. For
     * values above this, it can be a mix of analog and
     * digital</p>
     * <p><b>Optional</b> - This value may be null on some devices.</p>
     * <p><b>Full capability</b> -
     * Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
     * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
     *
     * <b>Optional</b> - This value may be null on some devices.
     *
     * <b>{@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL}</b> -
     * Present on all devices that report being FULL level hardware devices in the
     * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL HARDWARE_LEVEL} key.
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
     */
    public static final Key<Integer> SENSOR_MAX_ANALOG_SENSITIVITY =
            new Key<Integer>("android.sensor.maxAnalogSensitivity", int.class);
@@ -498,7 +517,6 @@ public final class CameraCharacteristics extends CameraMetadata {
    /**
     * <p>A list of camera LEDs that are available on this system.</p>
     * @see #LED_AVAILABLE_LEDS_TRANSMIT
     *
     * @hide
     */
    public static final Key<int[]> LED_AVAILABLE_LEDS =
+68 −20
Original line number Diff line number Diff line
@@ -249,8 +249,11 @@ public abstract class CameraMetadata {
    //

    /**
     * <p>Use the android.colorCorrection.transform matrix
     * and android.colorCorrection.gains to do color conversion</p>
     * <p>Use the {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform} matrix
     * and {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} to do color conversion</p>
     *
     * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
     * @see CaptureRequest#COLOR_CORRECTION_GAINS
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     */
    public static final int COLOR_CORRECTION_MODE_TRANSFORM_MATRIX = 0;
@@ -274,21 +277,31 @@ public abstract class CameraMetadata {
    //

    /**
     * <p>The camera device will not adjust exposure duration to
     * avoid banding problems.</p>
     * @see CaptureRequest#CONTROL_AE_ANTIBANDING_MODE
     */
    public static final int CONTROL_AE_ANTIBANDING_MODE_OFF = 0;

    /**
     * <p>The camera device will adjust exposure duration to
     * avoid banding problems with 50Hz illumination sources.</p>
     * @see CaptureRequest#CONTROL_AE_ANTIBANDING_MODE
     */
    public static final int CONTROL_AE_ANTIBANDING_MODE_50HZ = 1;

    /**
     * <p>The camera device will adjust exposure duration to
     * avoid banding problems with 60Hz illumination
     * sources.</p>
     * @see CaptureRequest#CONTROL_AE_ANTIBANDING_MODE
     */
    public static final int CONTROL_AE_ANTIBANDING_MODE_60HZ = 2;

    /**
     * <p>The camera device will automatically adapt its
     * antibanding routine to the current illumination
     * conditions. This is the default.</p>
     * @see CaptureRequest#CONTROL_AE_ANTIBANDING_MODE
     */
    public static final int CONTROL_AE_ANTIBANDING_MODE_AUTO = 3;
@@ -298,42 +311,73 @@ public abstract class CameraMetadata {
    //

    /**
     * <p>Autoexposure is disabled; sensor.exposureTime,
     * sensor.sensitivity and sensor.frameDuration are used</p>
     * <p>The camera device's autoexposure routine is disabled;
     * the application-selected {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime},
     * {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity} and
     * {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} are used by the camera
     * device, along with android.flash.* fields, if there's
     * a flash unit for this camera device.</p>
     *
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#CONTROL_AE_MODE
     */
    public static final int CONTROL_AE_MODE_OFF = 0;

    /**
     * <p>Autoexposure is active, no flash
     * control</p>
     * <p>The camera device's autoexposure routine is active,
     * with no flash control. The application's values for
     * {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime},
     * {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}, and
     * {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} are ignored. The
     * application has control over the various
     * android.flash.* fields.</p>
     *
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#CONTROL_AE_MODE
     */
    public static final int CONTROL_AE_MODE_ON = 1;

    /**
     * <p>If autoexposure is active and flash exists, auto
     * flash control; flash may be fired when precapture
     * trigger is activated, and for captures for which
     * captureIntent = STILL_CAPTURE</p>
     * <p>Like ON, except that the camera device also controls
     * the camera's flash unit, firing it in low-light
     * conditions. The flash may be fired during a
     * precapture sequence (triggered by
     * {@link CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER android.control.aePrecaptureTrigger}) and may be fired
     * for captures for which the
     * {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} field is set to
     * STILL_CAPTURE</p>
     *
     * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
     * @see CaptureRequest#CONTROL_CAPTURE_INTENT
     * @see CaptureRequest#CONTROL_AE_MODE
     */
    public static final int CONTROL_AE_MODE_ON_AUTO_FLASH = 2;

    /**
     * <p>If autoexposure is active and flash exists, auto
     * flash control for precapture trigger and always flash
     * when captureIntent = STILL_CAPTURE</p>
     * <p>Like ON, except that the camera device also controls
     * the camera's flash unit, always firing it for still
     * captures. The flash may be fired during a precapture
     * sequence (triggered by
     * {@link CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER android.control.aePrecaptureTrigger}) and will always
     * be fired for captures for which the
     * {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} field is set to
     * STILL_CAPTURE</p>
     *
     * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
     * @see CaptureRequest#CONTROL_CAPTURE_INTENT
     * @see CaptureRequest#CONTROL_AE_MODE
     */
    public static final int CONTROL_AE_MODE_ON_ALWAYS_FLASH = 3;

    /**
     * <p>Optional. Automatic red eye reduction with flash.
     * If deemed necessary, red eye reduction sequence should
     * fire when precapture trigger is activated, and final
     * flash should fire when captureIntent =
     * STILL_CAPTURE</p>
     * <p>Like ON_AUTO_FLASH, but with automatic red eye
     * reduction. If deemed necessary by the camera device,
     * a red eye reduction flash will fire during the
     * precapture sequence.</p>
     * @see CaptureRequest#CONTROL_AE_MODE
     */
    public static final int CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE = 4;
@@ -363,21 +407,25 @@ public abstract class CameraMetadata {

    /**
     * <p>The auto-focus routine does not control the lens;
     * android.lens.focusDistance is controlled by the
     * {@link CaptureRequest#LENS_FOCUS_DISTANCE android.lens.focusDistance} is controlled by the
     * application</p>
     *
     * @see CaptureRequest#LENS_FOCUS_DISTANCE
     * @see CaptureRequest#CONTROL_AF_MODE
     */
    public static final int CONTROL_AF_MODE_OFF = 0;

    /**
     * <p>If lens is not fixed focus.</p>
     * <p>Use android.lens.info.minimumFocusDistance to determine if lens
     * <p>Use {@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance} to determine if lens
     * is fixed-focus. In this mode, the lens does not move unless
     * the autofocus trigger action is called. When that trigger
     * is activated, AF must transition to ACTIVE_SCAN, then to
     * the outcome of the scan (FOCUSED or NOT_FOCUSED).</p>
     * <p>Triggering AF_CANCEL resets the lens position to default,
     * and sets the AF state to INACTIVE.</p>
     *
     * @see CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
     * @see CaptureRequest#CONTROL_AF_MODE
     */
    public static final int CONTROL_AF_MODE_AUTO = 1;
+136 −45

File changed.

Preview size limit exceeded, changes collapsed.

+111 −51

File changed.

Preview size limit exceeded, changes collapsed.