diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index 3672de4f8d003..f06ffaa66c3cb 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 { /** *
Maximum and minimum exposure compensation * setting, in counts of - * android.control.aeCompensationStepSize
+ * {@link CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP android.control.aeCompensationStep}. + * + * @see CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP */ public static final KeyThe maximum numbers of any type of input streams * that can be configured and used simultaneously by a camera device.
*When set to 0, it means no input stream is supported.
- *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.
+ *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.
*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.
+ * + * @see CameraCharacteristics#SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP */ public static final KeyXX: Maybe these should go into android.info.supportedHardwareLevel + *
XX: Maybe these should go into {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} * as a table instead?
*The following capabilities are guaranteed to be available on
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == FULL devices:
The mapping of image formats that are supported by this * camera device for input streams, to their corresponding output formats.
*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.
*The camera device will support the following map of formats, * if its dependent capability is supported:
@@ -712,6 +718,7 @@ public final class CameraCharacteristics extends CameraMetadata { * listed as available in this map is not valid. *TODO: Add java type mapping for this property.
* + * @see CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS * @see CameraCharacteristics#SCALER_AVAILABLE_STALL_DURATIONS */ public static final KeyAll 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.
*See {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} for more information about * calculating the max frame rate (absent stalls).
* + * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @see CaptureRequest#SENSOR_FRAME_DURATION */ public static final KeyMaximum possible frame duration (minimum frame * rate).
- *The largest possible android.sensor.frameDuration + *
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
Maximum output resolution for raw format must * match this in - * android.scaler.info.availableSizesPerFormat.
+ * {@link CameraCharacteristics#SCALER_AVAILABLE_STREAM_CONFIGURATIONS android.scaler.availableStreamConfigurations}. + * + * @see CameraCharacteristics#SCALER_AVAILABLE_STREAM_CONFIGURATIONS */ public static final KeyOptional. Defaults to [OFF]. Lists the supported test - * pattern modes for android.test.patternMode.
+ * pattern modes for {@link CaptureRequest#SENSOR_TEST_PATTERN_MODE android.sensor.testPatternMode}. *Optional - This value may be {@code null} on some devices.
+ * + * @see CaptureRequest#SENSOR_TEST_PATTERN_MODE */ public static final KeyThe 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.
* * @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). *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.
* * @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 { /** *Use the tone mapping curve specified in - * android.tonemap.curve.
+ * the android.tonemap.curve* entries. *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 { // /** - *
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.
+ *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.
* * @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; /** - *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.
+ *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.
* * @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 326205edc22d1..408e53206368c 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 { *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.
*See {@link CaptureResult#CONTROL_AE_STATE android.control.aeState} for AE lock related state transition details.
@@ -581,9 +581,10 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * mode it is set to *Only effective if {@link CaptureRequest#CONTROL_MODE android.control.mode} = AUTO.
*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.
* + * @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}. *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}.
*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}.
*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.
*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
Only effective if {@link CaptureRequest#CONTROL_MODE android.control.mode} = AUTO.
*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.
* + * @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}. *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}.
*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.
+ * {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}. * + * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE */ public static final KeyWhen 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.
*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
{@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} == OFF or {@link CaptureRequest#CONTROL_MODE android.control.mode} == OFF),
* 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.
* Report NONE if there doesn't appear to be flickering illumination.
*