diff options
4 files changed, 63 insertions, 33 deletions
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index 3672de4f8d00..f06ffaa66c3c 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -167,7 +167,9 @@ public final class CameraCharacteristics extends CameraMetadata { /** * <p>Maximum and minimum exposure compensation * setting, in counts of - * android.control.aeCompensationStepSize</p> + * {@link CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP android.control.aeCompensationStep}.</p> + * + * @see CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP */ public static final Key<int[]> CONTROL_AE_COMPENSATION_RANGE = new Key<int[]>("android.control.aeCompensationRange", int[].class); @@ -446,12 +448,16 @@ public final class CameraCharacteristics extends CameraMetadata { * <p>The maximum numbers of any type of input streams * that can be configured and used simultaneously by a camera device.</p> * <p>When set to 0, it means no input stream is supported.</p> - * <p>The image format for a input stream can be any supported format provided - * by android.scaler.availableInputFormats. When using an input stream, there must be - * at least one output stream configured to to receive the reprocessed images.</p> + * <p>The image format for a input stream can be any supported + * format provided by + * {@link CameraCharacteristics#SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP android.scaler.availableInputOutputFormatsMap}. When using an + * input stream, there must be at least one output stream + * configured to to receive the reprocessed images.</p> * <p>For example, for Zero Shutter Lag (ZSL) still capture use case, the input * stream image format will be RAW_OPAQUE, the associated output stream image format * should be JPEG.</p> + * + * @see CameraCharacteristics#SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP */ public static final Key<Integer> REQUEST_MAX_NUM_INPUT_STREAMS = new Key<Integer>("android.request.maxNumInputStreams", int.class); @@ -505,7 +511,7 @@ public final class CameraCharacteristics extends CameraMetadata { * to do this query each of android.request.availableRequestKeys, * android.request.availableResultKeys, * android.request.availableCharacteristicsKeys.</p> - * <p>XX: Maybe these should go into android.info.supportedHardwareLevel + * <p>XX: Maybe these should go into {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} * as a table instead?</p> * <p>The following capabilities are guaranteed to be available on * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} <code>==</code> FULL devices:</p> @@ -665,7 +671,7 @@ public final class CameraCharacteristics extends CameraMetadata { * <p>The mapping of image formats that are supported by this * camera device for input streams, to their corresponding output formats.</p> * <p>All camera devices with at least 1 - * android.request.request.maxNumInputStreams will have at least one + * {@link CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS android.request.maxNumInputStreams} will have at least one * available input format.</p> * <p>The camera device will support the following map of formats, * if its dependent capability is supported:</p> @@ -712,6 +718,7 @@ public final class CameraCharacteristics extends CameraMetadata { * listed as available in this map is not valid.</p> * <p>TODO: Add java type mapping for this property.</p> * + * @see CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS * @see CameraCharacteristics#SCALER_AVAILABLE_STALL_DURATIONS */ public static final Key<int[]> SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP = @@ -885,11 +892,12 @@ public final class CameraCharacteristics extends CameraMetadata { * <li>IMPLEMENTATION_DEFINED</li> * </ul> * <p>All other formats may or may not have an allowed stall duration on - * a per-capability basis; refer to android.request.availableCapabilities + * a per-capability basis; refer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} * for more details.</p> * <p>See {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} for more information about * calculating the max frame rate (absent stalls).</p> * + * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @see CaptureRequest#SENSOR_FRAME_DURATION */ public static final Key<long[]> SCALER_AVAILABLE_STALL_DURATIONS = @@ -922,7 +930,7 @@ public final class CameraCharacteristics extends CameraMetadata { /** * <p>Maximum possible frame duration (minimum frame * rate).</p> - * <p>The largest possible android.sensor.frameDuration + * <p>The largest possible {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} * that will be accepted by the camera device. Attempting to use * frame durations beyond the maximum will result in the frame duration * being clipped to the maximum. See that control @@ -935,6 +943,7 @@ public final class CameraCharacteristics extends CameraMetadata { * * @see CameraCharacteristics#SCALER_AVAILABLE_JPEG_MIN_DURATIONS * @see CameraCharacteristics#SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS + * @see CaptureRequest#SENSOR_FRAME_DURATION */ public static final Key<Long> SENSOR_INFO_MAX_FRAME_DURATION = new Key<Long>("android.sensor.info.maxFrameDuration", long.class); @@ -952,7 +961,9 @@ public final class CameraCharacteristics extends CameraMetadata { * including black calibration pixels.</p> * <p>Maximum output resolution for raw format must * match this in - * android.scaler.info.availableSizesPerFormat.</p> + * {@link CameraCharacteristics#SCALER_AVAILABLE_STREAM_CONFIGURATIONS android.scaler.availableStreamConfigurations}.</p> + * + * @see CameraCharacteristics#SCALER_AVAILABLE_STREAM_CONFIGURATIONS */ public static final Key<android.hardware.camera2.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE = new Key<android.hardware.camera2.Size>("android.sensor.info.pixelArraySize", android.hardware.camera2.Size.class); @@ -1026,8 +1037,10 @@ public final class CameraCharacteristics extends CameraMetadata { /** * <p>Optional. Defaults to [OFF]. Lists the supported test - * pattern modes for android.test.patternMode.</p> + * pattern modes for {@link CaptureRequest#SENSOR_TEST_PATTERN_MODE android.sensor.testPatternMode}.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> + * + * @see CaptureRequest#SENSOR_TEST_PATTERN_MODE */ public static final Key<Byte> SENSOR_AVAILABLE_TEST_PATTERN_MODES = new Key<Byte>("android.sensor.availableTestPatternModes", byte.class); diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index 1ce91f64b135..a5819825810f 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -400,10 +400,12 @@ public abstract class CameraMetadata { * formats.</li> * <li>The maximum available resolution for RAW16 streams (both * input/output) will match the value in - * android.sensor.info.pixelArraySize.</li> + * {@link CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE android.sensor.info.pixelArraySize}.</li> * <li>All DNG-related optional metadata entries are provided * by the camera device.</li> * </ul> + * + * @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES */ public static final int REQUEST_AVAILABLE_CAPABILITIES_DNG = 5; @@ -783,10 +785,11 @@ public abstract class CameraMetadata { /** * <p>The camera device's auto white balance routine is active; - * the application's values for android.colorCorrection.transform + * the application's values for {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform} * and {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} are ignored.</p> * * @see CaptureRequest#COLOR_CORRECTION_GAINS + * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM * @see CaptureRequest#CONTROL_AWB_MODE */ public static final int CONTROL_AWB_MODE_AUTO = 1; @@ -1031,10 +1034,11 @@ public abstract class CameraMetadata { * this should still operate correctly (but will not return * face detection statistics to the framework).</p> * <p>Unlike the other scene modes, {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}, - * {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode}, and android.control.afMode + * {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode}, and {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode} * remain active when FACE_PRIORITY is set.</p> * * @see CaptureRequest#CONTROL_AE_MODE + * @see CaptureRequest#CONTROL_AF_MODE * @see CaptureRequest#CONTROL_AWB_MODE * @see CaptureRequest#STATISTICS_FACE_DETECT_MODE * @see CaptureRequest#CONTROL_SCENE_MODE @@ -1429,7 +1433,7 @@ public abstract class CameraMetadata { /** * <p>Use the tone mapping curve specified in - * android.tonemap.curve.</p> + * the android.tonemap.curve* entries.</p> * <p>All color enhancement and tonemapping must be disabled, except * for applying the tonemapping curve specified by * {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed}, {@link CaptureRequest#TONEMAP_CURVE_BLUE android.tonemap.curveBlue}, or @@ -1642,21 +1646,25 @@ public abstract class CameraMetadata { // /** - * <p>The lens parameters ({@link CaptureRequest#LENS_FOCAL_LENGTH android.lens.focalLength}, android.lens.focusDistance - * android.lens.filterDensity and {@link CaptureRequest#LENS_APERTURE android.lens.aperture}) are not changing.</p> + * <p>The lens parameters ({@link CaptureRequest#LENS_FOCAL_LENGTH android.lens.focalLength}, {@link CaptureRequest#LENS_FOCUS_DISTANCE android.lens.focusDistance}, + * {@link CaptureRequest#LENS_FILTER_DENSITY android.lens.filterDensity} and {@link CaptureRequest#LENS_APERTURE android.lens.aperture}) are not changing.</p> * * @see CaptureRequest#LENS_APERTURE + * @see CaptureRequest#LENS_FILTER_DENSITY * @see CaptureRequest#LENS_FOCAL_LENGTH + * @see CaptureRequest#LENS_FOCUS_DISTANCE * @see CaptureResult#LENS_STATE */ public static final int LENS_STATE_STATIONARY = 0; /** - * <p>Any of the lens parameters ({@link CaptureRequest#LENS_FOCAL_LENGTH android.lens.focalLength}, android.lens.focusDistance - * android.lens.filterDensity or {@link CaptureRequest#LENS_APERTURE android.lens.aperture}) is changing.</p> + * <p>Any of the lens parameters ({@link CaptureRequest#LENS_FOCAL_LENGTH android.lens.focalLength}, {@link CaptureRequest#LENS_FOCUS_DISTANCE android.lens.focusDistance}, + * {@link CaptureRequest#LENS_FILTER_DENSITY android.lens.filterDensity} or {@link CaptureRequest#LENS_APERTURE android.lens.aperture}) is changing.</p> * * @see CaptureRequest#LENS_APERTURE + * @see CaptureRequest#LENS_FILTER_DENSITY * @see CaptureRequest#LENS_FOCAL_LENGTH + * @see CaptureRequest#LENS_FOCUS_DISTANCE * @see CaptureResult#LENS_STATE */ public static final int LENS_STATE_MOVING = 1; diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index 326205edc22d..408e53206368 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -472,7 +472,7 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * <p>If AE precapture is triggered (see {@link CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER android.control.aePrecaptureTrigger}) * when AE is already locked, the camera device will not change the exposure time * ({@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime}) and sensitivity ({@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}) - * parameters. The flash may be fired if the android.control.aeMode + * parameters. The flash may be fired if the {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} * is ON_AUTO_FLASH/ON_AUTO_FLASH_REDEYE and the scene is too dark. If the * {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} is ON_ALWAYS_FLASH, the scene may become overexposed.</p> * <p>See {@link CaptureResult#CONTROL_AE_STATE android.control.aeState} for AE lock related state transition details.</p> @@ -581,9 +581,10 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * mode it is set to</p> * <p>Only effective if {@link CaptureRequest#CONTROL_MODE android.control.mode} = AUTO.</p> * <p>If the lens is controlled by the camera device auto-focus algorithm, - * the camera device will report the current AF status in android.control.afState + * the camera device will report the current AF status in {@link CaptureResult#CONTROL_AF_STATE android.control.afState} * in result metadata.</p> * + * @see CaptureResult#CONTROL_AF_STATE * @see CaptureRequest#CONTROL_MODE * @see #CONTROL_AF_MODE_OFF * @see #CONTROL_AF_MODE_AUTO @@ -658,7 +659,7 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}.</p> * <p>When set to the OFF mode, the camera device's auto white balance * routine is disabled. The applicantion manually controls the white - * balance by {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, android.colorCorrection.gains + * balance by {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} * and {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}.</p> * <p>When set to any other modes, the camera device's auto white balance * routine is disabled. The camera device uses each particular illumination @@ -944,7 +945,7 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * one of the values listed in {@link CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES android.lens.info.availableApertures}.</p> * <p>When this is supported and {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} is OFF, * this can be set along with {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime}, - * {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}, and android.sensor.frameDuration + * {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}, and {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} * to achieve manual exposure control.</p> * <p>The requested aperture value may take several frames to reach the * requested value; the camera device will report the current (intermediate) @@ -959,6 +960,7 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES * @see CaptureResult#LENS_STATE * @see CaptureRequest#SENSOR_EXPOSURE_TIME + * @see CaptureRequest#SENSOR_FRAME_DURATION * @see CaptureRequest#SENSOR_SENSITIVITY */ public static final Key<Float> LENS_APERTURE = @@ -1091,9 +1093,11 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * for raw output, where only a few fixed scales may be * possible. The width and height of the crop region cannot * be set to be smaller than floor( activeArraySize.width / - * android.scaler.maxDigitalZoom ) and floor( - * activeArraySize.height / android.scaler.maxDigitalZoom), - * respectively.</p> + * {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} ) and floor( + * activeArraySize.height / + * {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom}), respectively.</p> + * + * @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM */ public static final Key<android.graphics.Rect> SCALER_CROP_REGION = new Key<android.graphics.Rect>("android.scaler.cropRegion", android.graphics.Rect.class); diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index f556d71aedcf..345b52c09b36 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -391,9 +391,10 @@ public final class CaptureResult extends CameraMetadata { * mode it is set to</p> * <p>Only effective if {@link CaptureRequest#CONTROL_MODE android.control.mode} = AUTO.</p> * <p>If the lens is controlled by the camera device auto-focus algorithm, - * the camera device will report the current AF status in android.control.afState + * the camera device will report the current AF status in {@link CaptureResult#CONTROL_AF_STATE android.control.afState} * in result metadata.</p> * + * @see CaptureResult#CONTROL_AF_STATE * @see CaptureRequest#CONTROL_MODE * @see #CONTROL_AF_MODE_OFF * @see #CONTROL_AF_MODE_AUTO @@ -771,7 +772,7 @@ public final class CaptureResult extends CameraMetadata { * {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}.</p> * <p>When set to the OFF mode, the camera device's auto white balance * routine is disabled. The applicantion manually controls the white - * balance by {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, android.colorCorrection.gains + * balance by {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} * and {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}.</p> * <p>When set to any other modes, the camera device's auto white balance * routine is disabled. The camera device uses each particular illumination @@ -1019,8 +1020,9 @@ public final class CaptureResult extends CameraMetadata { * of the pixel array, and the width,height of the pixel array given in * {@link CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE android.sensor.info.pixelArraySize}. This may include hot pixels * that lie outside of the active array bounds given by - * android.sensor.activeArraySize.</p> + * {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p> * + * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE */ public static final Key<int[]> HOT_PIXEL_MAP = @@ -1099,7 +1101,7 @@ public final class CaptureResult extends CameraMetadata { * one of the values listed in {@link CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES android.lens.info.availableApertures}.</p> * <p>When this is supported and {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} is OFF, * this can be set along with {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime}, - * {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}, and android.sensor.frameDuration + * {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}, and {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} * to achieve manual exposure control.</p> * <p>The requested aperture value may take several frames to reach the * requested value; the camera device will report the current (intermediate) @@ -1114,6 +1116,7 @@ public final class CaptureResult extends CameraMetadata { * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES * @see CaptureResult#LENS_STATE * @see CaptureRequest#SENSOR_EXPOSURE_TIME + * @see CaptureRequest#SENSOR_FRAME_DURATION * @see CaptureRequest#SENSOR_SENSITIVITY */ public static final Key<Float> LENS_APERTURE = @@ -1325,9 +1328,11 @@ public final class CaptureResult extends CameraMetadata { * for raw output, where only a few fixed scales may be * possible. The width and height of the crop region cannot * be set to be smaller than floor( activeArraySize.width / - * android.scaler.maxDigitalZoom ) and floor( - * activeArraySize.height / android.scaler.maxDigitalZoom), - * respectively.</p> + * {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} ) and floor( + * activeArraySize.height / + * {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom}), respectively.</p> + * + * @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM */ public static final Key<android.graphics.Rect> SCALER_CROP_REGION = new Key<android.graphics.Rect>("android.scaler.cropRegion", android.graphics.Rect.class); @@ -1738,7 +1743,7 @@ public final class CaptureResult extends CameraMetadata { * (<code>{@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} == OFF</code> or <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} == OFF</code>), * the {@link CaptureRequest#CONTROL_AE_ANTIBANDING_MODE android.control.aeAntibandingMode} doesn't do the antibanding, and the * application can ensure it selects exposure times that do not cause banding - * issues by looking into this metadata field. See android.control.aeAntibandingMode + * issues by looking into this metadata field. See {@link CaptureRequest#CONTROL_AE_ANTIBANDING_MODE android.control.aeAntibandingMode} * for more details.</p> * <p>Report NONE if there doesn't appear to be flickering illumination.</p> * |