From 4b8cd6b44cf800cf5dd88e5afbcff4968398779d Mon Sep 17 00:00:00 2001
From: Igor Murashkin For FULL capability device ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} LEGACY devices will always only support FAST mode. This key is available on all devices. This key is available on all devices. All camera devices support ON, and all camera devices with
- * flash units support ON_AUTO_FLASH and
- * ON_ALWAYS_FLASH. All camera devices support ON, and all camera devices with flash
+ * units support ON_AUTO_FLASH and ON_ALWAYS_FLASH. FULL mode camera devices always support OFF mode,
* which enables application control of camera exposure time,
* sensitivity, and frame duration. LEGACY mode camera devices never support OFF mode.
+ * LIMITED mode devices support OFF if they support the MANUAL_SENSOR
+ * capability. This key is available on all devices.== FULL), OFF must be
* included.
This key is available on all devices.
*/ @PublicKey public static final KeyThis key is available on all devices.
* * @see CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP */ @@ -380,6 +388,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
*/ @PublicKey public static final Key{@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance} > 0) will support AUTO mode.
+ * LEGACY devices will support OFF mode only if they support
+ * focusing to infinity (by also setting {@link CaptureRequest#LENS_FOCUS_DISTANCE android.lens.focusDistance} to
+ * 0.0f).
This key is available on all devices.
* * @see CaptureRequest#CONTROL_AF_MODE + * @see CaptureRequest#LENS_FOCUS_DISTANCE * @see CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE */ @PublicKey @@ -414,6 +428,7 @@ public final class CameraCharacteristics extends CameraMetadataA color effect will only be applied if * {@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_EFFECT_MODE * @see CaptureRequest#CONTROL_MODE @@ -430,6 +445,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_SCENE_MODE */ @@ -440,6 +456,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
*/ @PublicKey public static final KeyThis key is available on all devices.
* * @see CaptureRequest#COLOR_CORRECTION_GAINS * @see CaptureRequest#COLOR_CORRECTION_MODE @@ -471,6 +489,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_REGIONS * @see CaptureRequest#CONTROL_AF_REGIONS @@ -485,6 +504,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_REGIONS */ @@ -498,6 +518,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_AWB_REGIONS */ @@ -511,6 +532,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_AF_REGIONS */ @@ -541,9 +563,14 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* * @see CameraCharacteristics#CONTROL_AVAILABLE_SCENE_MODES * @see CaptureRequest#CONTROL_SCENE_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @hide */ public static final KeyThis tag lists the valid modes for {@link CaptureRequest#EDGE_MODE android.edge.mode}.
*Full-capability camera devices must always support OFF and FAST.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#EDGE_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyIf no flash, none of the flash controls do - * anything. All other metadata should return 0.
+ * anything. All other metadata should return 0. + * This key is available on all devices. */ @PublicKey public static final KeyThis tag lists valid modes for {@link CaptureRequest#HOT_PIXEL_MODE android.hotPixel.mode}.
*FULL mode camera devices will always support FAST.
+ *Optional - This value may be {@code null} on some devices.
* * @see CaptureRequest#HOT_PIXEL_MODE */ @@ -595,7 +629,8 @@ public final class CameraCharacteristics extends CameraMetadataIf the camera device supports variable apertures, the aperture value * in this list will be sorted in ascending order.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#LENS_FILTER_DENSITY */ @PublicKey @@ -635,6 +681,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#LENS_FOCAL_LENGTH */ @@ -648,7 +695,12 @@ public final class CameraCharacteristics extends CameraMetadataIf OIS is not implemented for a given camera device, this will * contain only OFF.
+ *Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE */ @PublicKey @@ -660,7 +712,11 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION */ @PublicKey @@ -673,6 +729,11 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyThe map should be on the order of 30-40 rows and columns, and * must be smaller than 64x64.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @hide */ public static final KeyOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#LENS_FOCUS_DISTANCE * @see CaptureResult#LENS_FOCUS_RANGE * @see CameraCharacteristics#LENS_INFO_HYPERFOCAL_DISTANCE @@ -709,6 +781,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* @see #LENS_FACING_FRONT * @see #LENS_FACING_BACK */ @@ -720,7 +793,13 @@ public final class CameraCharacteristics extends CameraMetadataThis tag lists the valid modes for {@link CaptureRequest#NOISE_REDUCTION_MODE android.noiseReduction.mode}.
*Full-capability camera devices must always support OFF and FAST.
+ *Legacy-capability camera devices will only support FAST mode.
+ *Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#NOISE_REDUCTION_MODE */ @PublicKey @@ -765,6 +844,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* @hide */ public static final KeyRAWLEGACY mode devices ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == LEGACY)
+ * never support raw streams.
This key is available on all devices.
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP */ @PublicKey @@ -814,6 +898,8 @@ public final class CameraCharacteristics extends CameraMetadataFor full guarantees, query StreamConfigurationMap#getOutputStallDuration with * a processed format -- it will return 0 for a non-stalling stream.
+ *LEGACY devices will support up to 3 processing/non-stalling streams.
+ *This key is available on all devices.
* * @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP */ @@ -836,6 +922,8 @@ public final class CameraCharacteristics extends CameraMetadataFor full guarantees, query StreamConfigurationMap#getOutputStallDuration with * a processed format -- it will return a non-0 value for a stalling stream.
+ *LEGACY devices will support up to 1 processing/stalling stream.
+ *This key is available on all devices.
* * @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP */ @@ -856,6 +944,12 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @hide */ public static final KeyThis value will be 8 or less.
+ *This key is available on all devices.
* * @see CaptureResult#REQUEST_PIPELINE_DEPTH */ @@ -924,6 +1019,7 @@ public final class CameraCharacteristics extends CameraMetadataOther capabilities may be available on either FULL or LIMITED * devices, but the application should query this field to be sure.
+ *This key is available on all devices.
* * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE @@ -945,6 +1041,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @hide @@ -969,6 +1066,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @see CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE @@ -984,6 +1082,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* @hide */ public static final KeyAll camera devices will support JPEG and YUV_420_888 formats.
*When set to YUV_420_888, application can access the YUV420 data directly.
+ *Optional - This value may be {@code null} on some devices.
* @deprecated * @hide */ @@ -1010,6 +1110,7 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
* @deprecated * @hide */ @@ -1021,6 +1122,7 @@ public final class CameraCharacteristics extends CameraMetadataThe resolutions are listed as (width, height) pairs. All camera devices will support
* sensor maximum resolution (defined by {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}).
Optional - This value may be {@code null} on some devices.
* * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @deprecated @@ -1040,6 +1142,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
*/ @PublicKey public static final KeyWhen multiple streams are configured, the minimum frame duration will * be >= max(individual stream min durations).
+ *Optional - This value may be {@code null} on some devices.
* @deprecated * @hide */ @@ -1075,6 +1179,7 @@ public final class CameraCharacteristics extends CameraMetadataPlease reference the documentation for the image data destination to * check if it limits the maximum size for image data.
+ *Optional - This value may be {@code null} on some devices.
* @deprecated * @hide */ @@ -1133,6 +1238,12 @@ public final class CameraCharacteristics extends CameraMetadataTODO: typedef to ReprocessFormatMap
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @hide */ public static final KeyRefer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} for additional * mandatory stream configurations on a per-capability basis.
+ *This key is available on all devices.
* * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES @@ -1244,6 +1356,7 @@ public final class CameraCharacteristics extends CameraMetadata(Keep in sync with * StreamConfigurationMap#getOutputMinFrameDuration)
+ *This key is available on all devices.
* * @see CaptureRequest#SENSOR_FRAME_DURATION * @hide @@ -1309,6 +1422,7 @@ public final class CameraCharacteristics extends CameraMetadata(Keep up to date with * StreamConfigurationMap#getOutputStallDuration(int, Size) )
+ *This key is available on all devices.
* * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @see CaptureRequest#SENSOR_FRAME_DURATION @@ -1396,6 +1510,7 @@ public final class CameraCharacteristics extends CameraMetadataRefer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} for additional * mandatory stream configurations on a per-capability basis.
+ *This key is available on all devices.
* * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES @@ -1417,7 +1532,8 @@ public final class CameraCharacteristics extends CameraMetadataFULL capability devices ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == FULL) will support
- * FREEFORM cropping.
This key is available on all devices.
* * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#SCALER_CROP_REGION @@ -1433,7 +1549,8 @@ public final class CameraCharacteristics extends CameraMetadataIt is smaller or equal to - * sensor full pixel array, which could include the black calibration pixels.
+ * sensor full pixel array, which could include the black calibration pixels. + * This key is available on all devices. */ @PublicKey public static final KeyThe values are the standard ISO sensitivity values, * as defined in ISO 12232:2006.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey @@ -1456,6 +1578,12 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG @@ -1472,6 +1600,10 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#SENSOR_EXPOSURE_TIME @@ -1493,6 +1625,10 @@ public final class CameraCharacteristics extends CameraMetadataFor FULL capability devices ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == FULL), * max will be >= 100e6 (100ms).
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#SENSOR_FRAME_DURATION @@ -1506,6 +1642,7 @@ public final class CameraCharacteristics extends CameraMetadataThis is the physical size of the sensor pixel * array defined by {@link CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE android.sensor.info.pixelArraySize}.
+ *This key is available on all devices.
* * @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE */ @@ -1523,6 +1660,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE @@ -1543,6 +1681,7 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
* * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN */ @@ -1556,6 +1695,7 @@ public final class CameraCharacteristics extends CameraMetadataThis characteristic defines the source for the timestamps, and therefore whether they * can be compared against other system time sources/timestamps.
+ *This key is available on all devices.
* @see #SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN * @see #SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME */ @@ -1577,6 +1717,7 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
* * @see CameraCharacteristics#SENSOR_CALIBRATION_TRANSFORM1 * @see CameraCharacteristics#SENSOR_COLOR_TRANSFORM1 @@ -1617,6 +1758,7 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
* * @see CameraCharacteristics#SENSOR_CALIBRATION_TRANSFORM2 * @see CameraCharacteristics#SENSOR_COLOR_TRANSFORM2 @@ -1804,6 +1946,7 @@ public final class CameraCharacteristics extends CameraMetadataThis key is available on all devices.
*/ @PublicKey public static final KeyThis key is available on all devices.
*/ @PublicKey public static final KeyThis key is available on all devices.
*/ @PublicKey public static final KeyRequired on devices with the RAW capability.
+ *Optional - This value may be {@code null} on some devices.
* * @see CaptureRequest#STATISTICS_HOT_PIXEL_MAP_MODE */ @@ -1866,7 +2013,12 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#TONEMAP_CURVE */ @PublicKey @@ -1878,7 +2030,12 @@ public final class CameraCharacteristics extends CameraMetadataFull-capability camera devices must always support CONTRAST_CURVE and * FAST.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#TONEMAP_MODE */ @PublicKey @@ -1887,6 +2044,7 @@ public final class CameraCharacteristics extends CameraMetadataOptional - This value may be {@code null} on some devices.
* @see #LED_AVAILABLE_LEDS_TRANSMIT * @hide */ @@ -1895,7 +2053,7 @@ public final class CameraCharacteristics extends CameraMetadataCamera devices will come in two flavors: LIMITED and FULL.
+ *Camera devices will come in three flavors: LEGACY, LIMITED and FULL.
*A FULL device has the most support possible and will support below capabilities:
*A LEGACY device does not support per-frame control, manual sensor control, manual * post-processing, arbitrary cropping regions, and has relaxed performance constraints.
+ *Each higher level supports everything the lower level supports
+ * in this order: FULL > LIMITED > LEGACY.
This key is available on all devices.
* * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @see CameraCharacteristics#REQUEST_MAX_NUM_OUTPUT_PROC @@ -1959,6 +2120,7 @@ public final class CameraCharacteristics extends CameraMetadataresult4 has a frameNumber == 4 and
* android.sync.frameNumber == 2, the distance is clearly
* 4 - 2 = 2.
+ * This key is available on all devices.
* @see #SYNC_MAX_LATENCY_PER_FRAME_CONTROL * @see #SYNC_MAX_LATENCY_UNKNOWN */ @@ -1970,4 +2132,6 @@ public final class CameraCharacteristics extends CameraMetadataLEGACY devices do not support the OFF mode and will + * override attempts to use this value to ON.
* * @see CaptureRequest#SENSOR_EXPOSURE_TIME * @see CaptureRequest#SENSOR_FRAME_DURATION @@ -1577,6 +1579,8 @@ public abstract class CameraMetadataTurn on custom high dynamic range (HDR) mode.
+ *This is intended for LEGACY mode devices only; + * HAL3+ camera devices should not implement this mode.
* @see CaptureRequest#CONTROL_SCENE_MODE * @hide */ @@ -2064,6 +2068,8 @@ public abstract class CameraMetadataOnly used by CONTINUOUS_* AF modes. This is a transient state, the camera * device may skip reporting this state in capture result.
+ *LEGACY camera devices do not support this state. When a passive + * scan has finished, it will always go to PASSIVE_FOCUSED.
* @see CaptureResult#CONTROL_AF_STATE */ public static final int CONTROL_AF_STATE_PASSIVE_UNFOCUSED = 6; diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index 93eb3def1a68..e65e6277251e 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -518,10 +518,15 @@ public final class CaptureRequest extends CameraMetadataBoth the input and output value ranges must match. Overflow/underflow * values are clipped to fit within the range.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_GAINS * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM * @see CaptureRequest#CONTROL_AWB_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #COLOR_CORRECTION_MODE_TRANSFORM_MATRIX * @see #COLOR_CORRECTION_MODE_FAST * @see #COLOR_CORRECTION_MODE_HIGH_QUALITY @@ -542,8 +547,13 @@ public final class CaptureRequest extends CameraMetadata[0, 1.0] (assuming input color
* values is within the normalized range [0, 1.0]), or clipping may occur.
+ * Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyThe gains in the result metadata are the gains actually * applied by the camera device to the current frame.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyLEGACY devices will always be in FAST mode.
+ *This key is available on all devices.
* * @see CameraCharacteristics#COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES * @see #COLOR_CORRECTION_ABERRATION_MODE_OFF @@ -620,6 +637,7 @@ public final class CaptureRequest extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#CONTROL_AE_AVAILABLE_ANTIBANDING_MODES * @see CaptureRequest#CONTROL_AE_MODE @@ -652,6 +670,7 @@ public final class CaptureRequest extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#CONTROL_AE_COMPENSATION_RANGE * @see CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP @@ -678,6 +697,7 @@ public final class CaptureRequest extends CameraMetadataSee {@link CaptureResult#CONTROL_AE_STATE android.control.aeState} for AE lock related state transition details.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION * @see CaptureRequest#CONTROL_AE_MODE @@ -711,6 +731,7 @@ public final class CaptureRequest extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_MODE * @see CameraCharacteristics#FLASH_INFO_AVAILABLE @@ -762,7 +783,8 @@ public final class CaptureRequest extends CameraMetadataRange over which fps can be adjusted to * maintain exposure.
*Only constrains auto-exposure (AE) algorithm, not - * manual control of {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime}
+ * manual control of {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime} + * This key is available on all devices. * * @see CaptureRequest#SENSOR_EXPOSURE_TIME */ @@ -789,8 +811,13 @@ public final class CaptureRequest extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* * @see CaptureResult#CONTROL_AE_STATE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #CONTROL_AE_PRECAPTURE_TRIGGER_IDLE * @see #CONTROL_AE_PRECAPTURE_TRIGGER_START */ @@ -805,7 +832,8 @@ public final class CaptureRequest extends CameraMetadata{@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance} > 0).
* If the lens is controlled by the camera device auto-focus algorithm, * the camera device will report the current AF status in {@link CaptureResult#CONTROL_AF_STATE android.control.afState} - * in result metadata.
+ * in result metadata. + * This key is available on all devices. * * @see CaptureResult#CONTROL_AF_STATE * @see CaptureRequest#CONTROL_MODE @@ -864,6 +892,7 @@ public final class CaptureRequest extends CameraMetadataSee {@link CaptureResult#CONTROL_AF_STATE android.control.afState} for what the trigger means for each AF mode.
+ *This key is available on all devices.
* * @see CaptureResult#CONTROL_AF_STATE * @see #CONTROL_AF_TRIGGER_IDLE @@ -880,6 +909,8 @@ public final class CaptureRequest extends CameraMetadataNote that AWB lock is only meaningful when * {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode} is in the AUTO mode; in other modes, * AWB is already fixed to a specific setting.
+ *Some LEGACY devices may not support ON; the value is then overridden to OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AWB_MODE */ @@ -907,6 +938,7 @@ public final class CaptureRequest extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#COLOR_CORRECTION_GAINS * @see CaptureRequest#COLOR_CORRECTION_MODE @@ -965,7 +997,8 @@ public final class CaptureRequest extends CameraMetadata{@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF and any 3A routine is active.
* ZERO_SHUTTER_LAG will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} * contains ZSL. MANUAL will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} - * contains MANUAL_SENSOR.
+ * contains MANUAL_SENSOR. + * This key is available on all devices. * * @see CaptureRequest#CONTROL_MODE * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES @@ -991,6 +1024,7 @@ public final class CaptureRequest extends CameraMetadataA color effect will only be applied if * {@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_MODE * @see #CONTROL_EFFECT_MODE_OFF @@ -1025,6 +1059,10 @@ public final class CaptureRequest extends CameraMetadataLEGACY mode devices will only support AUTO and USE_SCENE_MODE modes. + * LIMITED mode devices will only support OFF and OFF_KEEP_STATE if they + * support the MANUAL_SENSOR capability.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AF_MODE * @see #CONTROL_MODE_OFF @@ -1049,6 +1087,7 @@ public final class CaptureRequest extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_AF_MODE @@ -1093,6 +1132,9 @@ public final class CaptureRequest extends CameraMetadataIf a camera device supports both this mode and OIS ({@link CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE android.lens.opticalStabilizationMode}), * turning both modes on may produce undesirable interaction, so it is recommended not to * enable both at the same time.
+ *Some LEGACY camera devices will not support changing video stabilization + * mode; in this case the value will always override to OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE * @see CaptureRequest#SCALER_CROP_REGION @@ -1114,8 +1156,13 @@ public final class CaptureRequest extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CameraCharacteristics#EDGE_AVAILABLE_EDGE_MODES + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #EDGE_MODE_OFF * @see #EDGE_MODE_FAST * @see #EDGE_MODE_HIGH_QUALITY @@ -1139,6 +1186,7 @@ public final class CaptureRequest extends CameraMetadataWhen set to TORCH, the flash will be on continuously. This mode can be used * for use cases such as preview, auto-focus assist, still capture, or video recording.
*The flash status will be reported by {@link CaptureResult#FLASH_STATE android.flash.state} in the capture result metadata.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER @@ -1159,6 +1207,7 @@ public final class CaptureRequest extends CameraMetadataHotpixel correction interpolates out, or otherwise removes, pixels * that do not accurately encode the incoming light (i.e. pixels that * are stuck at an arbitrary value).
+ *Optional - This value may be {@code null} on some devices.
* * @see CameraCharacteristics#HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES * @see #HOT_PIXEL_MODE_OFF @@ -1171,6 +1220,7 @@ public final class CaptureRequest extends CameraMetadataA location object to use when generating image GPS metadata.
+ *This key is available on all devices.
*/ @PublicKey @SyntheticKey @@ -1180,6 +1230,7 @@ public final class CaptureRequest extends CameraMetadataGPS coordinates to include in output JPEG * EXIF
+ *This key is available on all devices.
* @hide */ public static final Key32 characters describing GPS algorithm to * include in EXIF
+ *This key is available on all devices.
* @hide */ public static final KeyTime GPS fix was made to include in * EXIF
+ *This key is available on all devices.
* @hide */ public static final KeyOrientation of JPEG image to * write
+ *This key is available on all devices.
*/ @PublicKey public static final KeyCompression quality of the final JPEG * image.
*85-95 is typical usage range.
+ *This key is available on all devices.
*/ @PublicKey public static final KeyCompression quality of JPEG * thumbnail.
+ *This key is available on all devices.
*/ @PublicKey public static final KeyThis key is available on all devices.
*/ @PublicKey public static final KeyOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#CONTROL_AE_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES * @see CaptureResult#LENS_STATE * @see CaptureRequest#SENSOR_EXPOSURE_TIME @@ -1289,7 +1351,12 @@ public final class CaptureRequest extends CameraMetadataIt may take several frames before the lens filter density changes * to the requested value. While the filter density is still changing, * {@link CaptureResult#LENS_STATE android.lens.state} will be set to MOVING.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#LENS_INFO_AVAILABLE_FILTER_DENSITIES * @see CaptureResult#LENS_STATE */ @@ -1308,6 +1375,7 @@ public final class CaptureRequest extends CameraMetadataThis is expected not to be supported on most devices.
+ *This key is available on all devices.
* * @see CaptureRequest#LENS_APERTURE * @see CaptureRequest#LENS_FOCUS_DISTANCE @@ -1320,13 +1388,20 @@ public final class CaptureRequest extends CameraMetadataDistance to plane of sharpest focus, * measured from frontmost surface of the lens.
- *0 means infinity focus. Used value will be clamped - * to [0, {@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance}].
+ *0.0f means infinity focus. Used value will be clamped
+ * to [0.0f, {@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance}].
Like {@link CaptureRequest#LENS_FOCAL_LENGTH android.lens.focalLength}, this setting won't be applied * instantaneously, and it may take several frames before the lens * can move to the requested focus distance. While the lens is still moving, * {@link CaptureResult#LENS_STATE android.lens.state} will be set to MOVING.
+ *LEGACY devices support at most setting this to 0.0f
+ * for infinity focus.
Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#LENS_FOCAL_LENGTH * @see CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE * @see CaptureResult#LENS_STATE @@ -1355,8 +1430,13 @@ public final class CaptureRequest extends CameraMetadataNot all devices will support OIS; see * {@link CameraCharacteristics#LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION android.lens.info.availableOpticalStabilization} for * available controls.
+ *Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* * @see CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION * @see #LENS_OPTICAL_STABILIZATION_MODE_OFF * @see #LENS_OPTICAL_STABILIZATION_MODE_ON @@ -1376,7 +1456,12 @@ public final class CaptureRequest extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES * @see #NOISE_REDUCTION_MODE_OFF * @see #NOISE_REDUCTION_MODE_FAST @@ -1390,6 +1475,7 @@ public final class CaptureRequest extends CameraMetadataAn application-specified ID for the current * request. Must be maintained unchanged in output * frame
+ *Optional - This value may be {@code null} on some devices.
* @hide */ public static final KeyThis key is available on all devices.
* * @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE @@ -1439,6 +1526,12 @@ public final class CaptureRequest extends CameraMetadataIf the sensor can't expose this exact duration, it should shorten the * duration exposed to the nearest possible value (rather than expose longer).
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyFor more details about stalling, see * StreamConfigurationMap#getOutputStallDuration(int,Size).
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP */ @PublicKey @@ -1535,7 +1633,12 @@ public final class CaptureRequest extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE * @see CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY */ @@ -1608,9 +1711,14 @@ public final class CaptureRequest extends CameraMetadata!= OFF and {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode} != OFF),
* to get best results, it is recommended that the applications wait for the AE and AWB to
* be converged before using the returned shading map data.
+ * Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_AWB_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE * @see #SHADING_MODE_OFF * @see #SHADING_MODE_FAST @@ -1626,7 +1734,8 @@ public final class CaptureRequest extends CameraMetadataWhether face detection is enabled, and whether it * should output just the basic fields or the full set of * fields. Value must be one of the - * {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES android.statistics.info.availableFaceDetectModes}.
+ * {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES android.statistics.info.availableFaceDetectModes}. + * This key is available on all devices. * * @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES * @see #STATISTICS_FACE_DETECT_MODE_OFF @@ -1642,6 +1751,7 @@ public final class CaptureRequest extends CameraMetadataIf set to ON, a hotpixel map is returned in {@link CaptureResult#STATISTICS_HOT_PIXEL_MAP android.statistics.hotPixelMap}. * If set to OFF, no hotpixel map will be returned.
*This must be set to a valid mode from {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES android.statistics.info.availableHotPixelMapModes}.
+ *Optional - This value may be {@code null} on some devices.
* * @see CaptureResult#STATISTICS_HOT_PIXEL_MAP * @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES @@ -1656,6 +1766,13 @@ public final class CaptureRequest extends CameraMetadataWhen set to ON, * android.statistics.lensShadingMap will be provided in * the output result metadata.
+ *Required for devices with the RAW capability.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #STATISTICS_LENS_SHADING_MAP_MODE_OFF * @see #STATISTICS_LENS_SHADING_MAP_MODE_ON */ @@ -1668,7 +1785,12 @@ public final class CaptureRequest extends CameraMetadataSee android.tonemap.curveRed for more details.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#TONEMAP_MODE * @hide */ @@ -1680,7 +1802,12 @@ public final class CaptureRequest extends CameraMetadataSee android.tonemap.curveRed for more details.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#TONEMAP_MODE * @hide */ @@ -1731,7 +1858,12 @@ public final class CaptureRequest extends CameraMetadata
Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#TONEMAP_MAX_CURVE_POINTS * @see CaptureRequest#TONEMAP_MODE * @hide @@ -1785,7 +1917,12 @@ public final class CaptureRequest extends CameraMetadata
Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#TONEMAP_MAX_CURVE_POINTS * @see CaptureRequest#TONEMAP_MODE */ @@ -1816,7 +1953,12 @@ public final class CaptureRequest extends CameraMetadataIf a request is sent with CONTRAST_CURVE with the camera device's * provided curve in FAST or HIGH_QUALITY, the image's tonemap will be * roughly the same.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#TONEMAP_AVAILABLE_TONE_MAP_MODES * @see CaptureRequest#TONEMAP_CURVE * @see CaptureRequest#TONEMAP_MODE @@ -1839,6 +1981,7 @@ public final class CaptureRequest extends CameraMetadataThe LED may be off if a trusted application is using the data that * doesn't violate the above rules.
+ *Optional - This value may be {@code null} on some devices.
* @hide */ public static final KeyOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyBoth the input and output value ranges must match. Overflow/underflow * values are clipped to fit within the range.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_GAINS * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM * @see CaptureRequest#CONTROL_AWB_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #COLOR_CORRECTION_MODE_TRANSFORM_MATRIX * @see #COLOR_CORRECTION_MODE_FAST * @see #COLOR_CORRECTION_MODE_HIGH_QUALITY @@ -393,8 +398,13 @@ public class CaptureResult extends CameraMetadata[0, 1.0] (assuming input color
* values is within the normalized range [0, 1.0]), or clipping may occur.
+ * Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyThe gains in the result metadata are the gains actually * applied by the camera device to the current frame.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyLEGACY devices will always be in FAST mode.
+ *This key is available on all devices.
* * @see CameraCharacteristics#COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES * @see #COLOR_CORRECTION_ABERRATION_MODE_OFF @@ -471,6 +488,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#CONTROL_AE_AVAILABLE_ANTIBANDING_MODES * @see CaptureRequest#CONTROL_AE_MODE @@ -503,6 +521,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#CONTROL_AE_COMPENSATION_RANGE * @see CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP @@ -529,6 +548,7 @@ public class CaptureResult extends CameraMetadataSee {@link CaptureResult#CONTROL_AE_STATE android.control.aeState} for AE lock related state transition details.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION * @see CaptureRequest#CONTROL_AE_MODE @@ -562,6 +582,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_MODE * @see CameraCharacteristics#FLASH_INFO_AVAILABLE @@ -613,7 +634,8 @@ public class CaptureResult extends CameraMetadataRange over which fps can be adjusted to * maintain exposure.
*Only constrains auto-exposure (AE) algorithm, not - * manual control of {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime}
+ * manual control of {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime} + * This key is available on all devices. * * @see CaptureRequest#SENSOR_EXPOSURE_TIME */ @@ -640,8 +662,13 @@ public class CaptureResult extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* * @see CaptureResult#CONTROL_AE_STATE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #CONTROL_AE_PRECAPTURE_TRIGGER_IDLE * @see #CONTROL_AE_PRECAPTURE_TRIGGER_START */ @@ -831,12 +858,17 @@ public class CaptureResult extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* * @see CaptureRequest#CONTROL_AE_LOCK * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER * @see CaptureRequest#CONTROL_MODE * @see CaptureRequest#CONTROL_SCENE_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #CONTROL_AE_STATE_INACTIVE * @see #CONTROL_AE_STATE_SEARCHING * @see #CONTROL_AE_STATE_CONVERGED @@ -855,7 +887,8 @@ public class CaptureResult extends CameraMetadata{@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance} > 0).
* If the lens is controlled by the camera device auto-focus algorithm, * the camera device will report the current AF status in {@link CaptureResult#CONTROL_AF_STATE android.control.afState} - * in result metadata.
+ * in result metadata. + * This key is available on all devices. * * @see CaptureResult#CONTROL_AF_STATE * @see CaptureRequest#CONTROL_MODE @@ -914,6 +947,7 @@ public class CaptureResult extends CameraMetadataSee {@link CaptureResult#CONTROL_AF_STATE android.control.afState} for what the trigger means for each AF mode.
+ *This key is available on all devices.
* * @see CaptureResult#CONTROL_AF_STATE * @see #CONTROL_AF_TRIGGER_IDLE @@ -1306,6 +1340,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_AF_MODE * @see CaptureRequest#CONTROL_MODE @@ -1328,6 +1363,8 @@ public class CaptureResult extends CameraMetadataNote that AWB lock is only meaningful when * {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode} is in the AUTO mode; in other modes, * AWB is already fixed to a specific setting.
+ *Some LEGACY devices may not support ON; the value is then overridden to OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AWB_MODE */ @@ -1355,6 +1392,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#COLOR_CORRECTION_GAINS * @see CaptureRequest#COLOR_CORRECTION_MODE @@ -1413,7 +1451,8 @@ public class CaptureResult extends CameraMetadata{@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF and any 3A routine is active.
* ZERO_SHUTTER_LAG will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} * contains ZSL. MANUAL will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} - * contains MANUAL_SENSOR.
+ * contains MANUAL_SENSOR. + * This key is available on all devices. * * @see CaptureRequest#CONTROL_MODE * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES @@ -1546,11 +1585,16 @@ public class CaptureResult extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* * @see CaptureRequest#CONTROL_AWB_LOCK * @see CaptureRequest#CONTROL_AWB_MODE * @see CaptureRequest#CONTROL_MODE * @see CaptureRequest#CONTROL_SCENE_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #CONTROL_AWB_STATE_INACTIVE * @see #CONTROL_AWB_STATE_SEARCHING * @see #CONTROL_AWB_STATE_CONVERGED @@ -1570,6 +1614,7 @@ public class CaptureResult extends CameraMetadataA color effect will only be applied if * {@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_MODE * @see #CONTROL_EFFECT_MODE_OFF @@ -1604,6 +1649,10 @@ public class CaptureResult extends CameraMetadataLEGACY mode devices will only support AUTO and USE_SCENE_MODE modes. + * LIMITED mode devices will only support OFF and OFF_KEEP_STATE if they + * support the MANUAL_SENSOR capability.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AF_MODE * @see #CONTROL_MODE_OFF @@ -1628,6 +1677,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_AF_MODE @@ -1672,6 +1722,9 @@ public class CaptureResult extends CameraMetadataIf a camera device supports both this mode and OIS ({@link CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE android.lens.opticalStabilizationMode}), * turning both modes on may produce undesirable interaction, so it is recommended not to * enable both at the same time.
+ *Some LEGACY camera devices will not support changing video stabilization + * mode; in this case the value will always override to OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE * @see CaptureRequest#SCALER_CROP_REGION @@ -1693,8 +1746,13 @@ public class CaptureResult extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CameraCharacteristics#EDGE_AVAILABLE_EDGE_MODES + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #EDGE_MODE_OFF * @see #EDGE_MODE_FAST * @see #EDGE_MODE_HIGH_QUALITY @@ -1718,6 +1776,7 @@ public class CaptureResult extends CameraMetadataWhen set to TORCH, the flash will be on continuously. This mode can be used * for use cases such as preview, auto-focus assist, still capture, or video recording.
*The flash status will be reported by {@link CaptureResult#FLASH_STATE android.flash.state} in the capture result metadata.
+ *This key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER @@ -1737,8 +1796,25 @@ public class CaptureResult extends CameraMetadataWhen the camera device doesn't have flash unit
* (i.e. {@link CameraCharacteristics#FLASH_INFO_AVAILABLE android.flash.info.available} == false), this state will always be UNAVAILABLE.
* Other states indicate the current flash status.
In certain conditions, this will be available on LEGACY devices:
+ *== ON_ALWAYS_FLASH
+ * will always return FIRED.== TORCH
+ * will always return FIRED.In all other conditions the state will not be available on
+ * LEGACY devices (i.e. it will be null).
Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* + * @see CaptureRequest#CONTROL_AE_MODE * @see CameraCharacteristics#FLASH_INFO_AVAILABLE + * @see CaptureRequest#FLASH_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #FLASH_STATE_UNAVAILABLE * @see #FLASH_STATE_CHARGING * @see #FLASH_STATE_READY @@ -1756,6 +1832,7 @@ public class CaptureResult extends CameraMetadataHotpixel correction interpolates out, or otherwise removes, pixels * that do not accurately encode the incoming light (i.e. pixels that * are stuck at an arbitrary value).
+ *Optional - This value may be {@code null} on some devices.
* * @see CameraCharacteristics#HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES * @see #HOT_PIXEL_MODE_OFF @@ -1768,6 +1845,7 @@ public class CaptureResult extends CameraMetadataA location object to use when generating image GPS metadata.
+ *This key is available on all devices.
*/ @PublicKey @SyntheticKey @@ -1777,6 +1855,7 @@ public class CaptureResult extends CameraMetadataGPS coordinates to include in output JPEG * EXIF
+ *This key is available on all devices.
* @hide */ public static final Key32 characters describing GPS algorithm to * include in EXIF
+ *This key is available on all devices.
* @hide */ public static final KeyTime GPS fix was made to include in * EXIF
+ *This key is available on all devices.
* @hide */ public static final KeyOrientation of JPEG image to * write
+ *This key is available on all devices.
*/ @PublicKey public static final KeyCompression quality of the final JPEG * image.
*85-95 is typical usage range.
+ *This key is available on all devices.
*/ @PublicKey public static final KeyCompression quality of JPEG * thumbnail.
+ *This key is available on all devices.
*/ @PublicKey public static final KeyThis key is available on all devices.
*/ @PublicKey public static final KeyOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#CONTROL_AE_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES * @see CaptureResult#LENS_STATE * @see CaptureRequest#SENSOR_EXPOSURE_TIME @@ -1886,7 +1976,12 @@ public class CaptureResult extends CameraMetadataIt may take several frames before the lens filter density changes * to the requested value. While the filter density is still changing, * {@link CaptureResult#LENS_STATE android.lens.state} will be set to MOVING.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#LENS_INFO_AVAILABLE_FILTER_DENSITIES * @see CaptureResult#LENS_STATE */ @@ -1905,6 +2000,7 @@ public class CaptureResult extends CameraMetadataThis is expected not to be supported on most devices.
+ *This key is available on all devices.
* * @see CaptureRequest#LENS_APERTURE * @see CaptureRequest#LENS_FOCUS_DISTANCE @@ -1918,6 +2014,12 @@ public class CaptureResult extends CameraMetadataDistance to plane of sharpest focus, * measured from frontmost surface of the lens.
*Should be zero for fixed-focus cameras
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyIf variable focus not supported, can still report * fixed depth of field range
+ *Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyNot all devices will support OIS; see * {@link CameraCharacteristics#LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION android.lens.info.availableOpticalStabilization} for * available controls.
+ *Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* * @see CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION * @see #LENS_OPTICAL_STABILIZATION_MODE_OFF * @see #LENS_OPTICAL_STABILIZATION_MODE_ON @@ -1984,7 +2097,12 @@ public class CaptureResult extends CameraMetadataThen this state will always be STATIONARY.
*When the state is MOVING, it indicates that at least one of the lens parameters * is changing.
+ *Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#LENS_APERTURE * @see CaptureRequest#LENS_FILTER_DENSITY * @see CaptureRequest#LENS_FOCAL_LENGTH @@ -2011,7 +2129,12 @@ public class CaptureResult extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES * @see #NOISE_REDUCTION_MODE_OFF * @see #NOISE_REDUCTION_MODE_FAST @@ -2048,6 +2171,7 @@ public class CaptureResult extends CameraMetadataReset on release()
+ *Optional - This value may be {@code null} on some devices.
* @deprecated * @hide */ @@ -2059,6 +2183,7 @@ public class CaptureResult extends CameraMetadataAn application-specified ID for the current * request. Must be maintained unchanged in output * frame
+ *Optional - This value may be {@code null} on some devices.
* @hide */ public static final KeySee {@link CameraCharacteristics#REQUEST_PIPELINE_MAX_DEPTH android.request.pipelineMaxDepth} for more details.
+ *This key is available on all devices.
* * @see CameraCharacteristics#REQUEST_PIPELINE_MAX_DEPTH */ @@ -2110,6 +2236,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE @@ -2123,6 +2250,12 @@ public class CaptureResult extends CameraMetadataIf the sensor can't expose this exact duration, it should shorten the * duration exposed to the nearest possible value (rather than expose longer).
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyFor more details about stalling, see * StreamConfigurationMap#getOutputStallDuration(int,Size).
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP */ @PublicKey @@ -2219,7 +2357,12 @@ public class CaptureResult extends CameraMetadataOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE * @see CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY */ @@ -2243,6 +2386,7 @@ public class CaptureResult extends CameraMetadataThis key is available on all devices.
* * @see CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE */ @@ -2376,7 +2520,12 @@ public class CaptureResult extends CameraMetadataFor typical camera sensors that use rolling shutters, this is also equivalent * to the frame readout time.
+ *Optional - This value may be {@code null} on some devices.
+ *Limited capability - + * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the + * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE */ @PublicKey @@ -2410,9 +2559,14 @@ public class CaptureResult extends CameraMetadata!= OFF and {@link CaptureRequest#CONTROL_AWB_MODE android.control.awbMode} != OFF),
* to get best results, it is recommended that the applications wait for the AE and AWB to
* be converged before using the returned shading map data.
+ * Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_AWB_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE * @see #SHADING_MODE_OFF * @see #SHADING_MODE_FAST @@ -2428,7 +2582,8 @@ public class CaptureResult extends CameraMetadataWhether face detection is enabled, and whether it * should output just the basic fields or the full set of * fields. Value must be one of the - * {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES android.statistics.info.availableFaceDetectModes}.
+ * {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES android.statistics.info.availableFaceDetectModes}. + * This key is available on all devices. * * @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES * @see #STATISTICS_FACE_DETECT_MODE_OFF @@ -2444,7 +2599,8 @@ public class CaptureResult extends CameraMetadataEach detected face is given a unique ID that is valid for as long as the face is visible * to the camera device. A face that leaves the field of view and later returns may be * assigned a new ID.
- *Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} == FULL
+ *Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} == FULL + * This key is available on all devices.
* * @see CaptureRequest#STATISTICS_FACE_DETECT_MODE * @hide @@ -2457,7 +2613,8 @@ public class CaptureResult extends CameraMetadataThe coordinate system is that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
* (0, 0) being the top-left pixel of the active array.
Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} == FULL
+ *Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} == FULL + * This key is available on all devices.
* * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CaptureRequest#STATISTICS_FACE_DETECT_MODE @@ -2471,7 +2628,8 @@ public class CaptureResult extends CameraMetadataThe coordinate system is that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
* (0, 0) being the top-left pixel of the active array.
Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} != OFF
+ *Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} != OFF + * This key is available on all devices.
* * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CaptureRequest#STATISTICS_FACE_DETECT_MODE @@ -2484,6 +2642,7 @@ public class CaptureResult extends CameraMetadataList of the face confidence scores for * detected faces
*Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} != OFF.
+ *This key is available on all devices.
* * @see CaptureRequest#STATISTICS_FACE_DETECT_MODE * @hide @@ -2495,6 +2654,7 @@ public class CaptureResult extends CameraMetadataList of the faces detected through camera face detection * in this result.
*Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} != OFF.
This key is available on all devices.
* * @see CaptureRequest#STATISTICS_FACE_DETECT_MODE */ @@ -2543,8 +2703,13 @@ public class CaptureResult extends CameraMetadataAs a visualization only, inverting the full-color map to recover an * image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:
*
Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyAs a visualization only, inverting the full-color map to recover an * image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:
*
Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#COLOR_CORRECTION_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @hide */ public static final KeyReports NONE if there doesn't appear to be flickering illumination.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#CONTROL_AE_ANTIBANDING_MODE * @see CaptureRequest#CONTROL_AE_MODE * @see CaptureRequest#CONTROL_MODE + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #STATISTICS_SCENE_FLICKER_NONE * @see #STATISTICS_SCENE_FLICKER_50HZ * @see #STATISTICS_SCENE_FLICKER_60HZ @@ -2676,6 +2851,7 @@ public class CaptureResult extends CameraMetadataIf set to ON, a hotpixel map is returned in {@link CaptureResult#STATISTICS_HOT_PIXEL_MAP android.statistics.hotPixelMap}. * If set to OFF, no hotpixel map will be returned.
*This must be set to a valid mode from {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES android.statistics.info.availableHotPixelMapModes}.
+ *Optional - This value may be {@code null} on some devices.
* * @see CaptureResult#STATISTICS_HOT_PIXEL_MAP * @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES @@ -2692,6 +2868,7 @@ public class CaptureResult extends CameraMetadataOptional - This value may be {@code null} on some devices.
* * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE @@ -2706,6 +2883,13 @@ public class CaptureResult extends CameraMetadataWhen set to ON, * android.statistics.lensShadingMap will be provided in * the output result metadata.
+ *Required for devices with the RAW capability.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
+ * + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see #STATISTICS_LENS_SHADING_MAP_MODE_OFF * @see #STATISTICS_LENS_SHADING_MAP_MODE_ON */ @@ -2718,7 +2902,12 @@ public class CaptureResult extends CameraMetadataSee android.tonemap.curveRed for more details.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#TONEMAP_MODE * @hide */ @@ -2730,7 +2919,12 @@ public class CaptureResult extends CameraMetadataSee android.tonemap.curveRed for more details.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CaptureRequest#TONEMAP_MODE * @hide */ @@ -2781,7 +2975,12 @@ public class CaptureResult extends CameraMetadata
Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#TONEMAP_MAX_CURVE_POINTS * @see CaptureRequest#TONEMAP_MODE * @hide @@ -2835,7 +3034,12 @@ public class CaptureResult extends CameraMetadata
Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#TONEMAP_MAX_CURVE_POINTS * @see CaptureRequest#TONEMAP_MODE */ @@ -2866,7 +3070,12 @@ public class CaptureResult extends CameraMetadataIf a request is sent with CONTRAST_CURVE with the camera device's * provided curve in FAST or HIGH_QUALITY, the image's tonemap will be * roughly the same.
+ *Optional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL * @see CameraCharacteristics#TONEMAP_AVAILABLE_TONE_MAP_MODES * @see CaptureRequest#TONEMAP_CURVE * @see CaptureRequest#TONEMAP_MODE @@ -2889,6 +3098,7 @@ public class CaptureResult extends CameraMetadataThe LED may be off if a trusted application is using the data that * doesn't violate the above rules.
+ *Optional - This value may be {@code null} on some devices.
* @hide */ public static final KeyOptional - This value may be {@code null} on some devices.
+ *Full capability - + * 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
* * @see CaptureRequest#BLACK_LEVEL_LOCK + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL */ @PublicKey public static final KeyIn other words, results for this current request and up to * {@link CameraCharacteristics#REQUEST_PIPELINE_MAX_DEPTH android.request.pipelineMaxDepth} prior requests may have their * android.sync.frameNumber change to CONVERGING.
+ *This key is available on all devices.
* * @see CameraCharacteristics#REQUEST_PIPELINE_MAX_DEPTH * @see #SYNC_FRAME_NUMBER_CONVERGING @@ -2973,4 +3189,6 @@ public class CaptureResult extends CameraMetadataThis metadata lists the valid modes for {@link CaptureRequest#COLOR_CORRECTION_ABERRATION_MODE android.colorCorrection.aberrationMode}. - * If no aberration correction modes are available for a device, this list will solely include + *
List of aberration correction modes for {@link CaptureRequest#COLOR_CORRECTION_ABERRATION_MODE android.colorCorrection.aberrationMode} that are + * supported by this camera device.
+ *This key lists the valid modes for {@link CaptureRequest#COLOR_CORRECTION_ABERRATION_MODE android.colorCorrection.aberrationMode}. If no + * aberration correction modes are available for a device, this list will solely include * OFF mode.
- *For FULL capability device ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == FULL), OFF must be
- * included.
For FULL capability device ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == FULL), OFF is
+ * always included.
LEGACY devices will always only support FAST mode.
+ *Range of valid values:
+ * Any value listed in {@link CaptureRequest#COLOR_CORRECTION_ABERRATION_MODE android.colorCorrection.aberrationMode}
This key is available on all devices.
* * @see CaptureRequest#COLOR_CORRECTION_ABERRATION_MODE @@ -329,21 +331,27 @@ public final class CameraCharacteristics extends CameraMetadataThe set of auto-exposure antibanding modes that are + *
List of auto-exposure antibanding modes for {@link CaptureRequest#CONTROL_AE_ANTIBANDING_MODE android.control.aeAntibandingMode} that are * supported by this camera device.
*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.
+ * for this camera device with the + * {@link CaptureRequest#CONTROL_AE_ANTIBANDING_MODE android.control.aeAntibandingMode} control. This list + * always includes AUTO. + *Range of valid values:
+ * Any value listed in {@link CaptureRequest#CONTROL_AE_ANTIBANDING_MODE android.control.aeAntibandingMode}
This key is available on all devices.
+ * + * @see CaptureRequest#CONTROL_AE_ANTIBANDING_MODE */ @PublicKey public static final KeyThe set of auto-exposure modes that are supported by this - * camera device.
+ *List of auto-exposure modes for {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} that are supported by this camera + * device.
*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
@@ -356,6 +364,8 @@ public final class CameraCharacteristics extends CameraMetadata
Range of valid values:
+ * Any value listed in {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}
This key is available on all devices.
* * @see CaptureRequest#CONTROL_AE_MODE @@ -365,38 +375,55 @@ public final class CameraCharacteristics extends CameraMetadataList of frame rate ranges supported by the - * auto-exposure (AE) algorithm/hardware
+ *List of frame rate ranges for {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange} supported by + * this camera device.
+ *For devices at the LIMITED level or above, this list will include at least (30, 30) for + * constant-framerate recording.
+ *Units: Frames per second (FPS)
*This key is available on all devices.
+ * + * @see CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE */ @PublicKey public static final Key