Merge changes from topic "b113052379-cp-from-pi-dev-p1"
* changes: Camera: hardware level related doc update Camera: codegen doc update
This commit is contained in:
@@ -2371,13 +2371,25 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
|||||||
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}, is defined relative to the active array rectangle given in
|
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}, is defined relative to the active array rectangle given in
|
||||||
* this field, with <code>(0, 0)</code> being the top-left of this rectangle.</p>
|
* this field, with <code>(0, 0)</code> being the top-left of this rectangle.</p>
|
||||||
* <p>The active array may be smaller than the full pixel array, since the full array may
|
* <p>The active array may be smaller than the full pixel array, since the full array may
|
||||||
* include black calibration pixels or other inactive regions, and geometric correction
|
* include black calibration pixels or other inactive regions.</p>
|
||||||
* resulting in scaling or cropping may have been applied.</p>
|
* <p>For devices that do not support {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the active
|
||||||
|
* array must be the same as {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.</p>
|
||||||
|
* <p>For devices that support {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the active array must
|
||||||
|
* be enclosed by {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}. The difference between
|
||||||
|
* pre-correction active array and active array accounts for scaling or cropping caused
|
||||||
|
* by lens geometric distortion correction.</p>
|
||||||
|
* <p>In general, application should always refer to active array size for controls like
|
||||||
|
* metering regions or crop region. Two exceptions are when the application is dealing with
|
||||||
|
* RAW image buffers (RAW_SENSOR, RAW10, RAW12 etc), or when application explicitly set
|
||||||
|
* {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} to OFF. In these cases, application should refer
|
||||||
|
* to {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates on the image sensor</p>
|
* <p><b>Units</b>: Pixel coordinates on the image sensor</p>
|
||||||
* <p>This key is available on all devices.</p>
|
* <p>This key is available on all devices.</p>
|
||||||
*
|
*
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CaptureRequest#SCALER_CROP_REGION
|
* @see CaptureRequest#SCALER_CROP_REGION
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE =
|
public static final Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE =
|
||||||
@@ -2622,9 +2634,9 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
|||||||
* <ol>
|
* <ol>
|
||||||
* <li>{@link CameraCharacteristics#LENS_DISTORTION android.lens.distortion}.</li>
|
* <li>{@link CameraCharacteristics#LENS_DISTORTION android.lens.distortion}.</li>
|
||||||
* </ol>
|
* </ol>
|
||||||
* <p>If all of the geometric distortion fields are no-ops, this rectangle will be the same
|
* <p>If the camera device doesn't support geometric distortion correction, or all of the
|
||||||
* as the post-distortion-corrected rectangle given in
|
* geometric distortion fields are no-ops, this rectangle will be the same as the
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p>
|
* post-distortion-corrected rectangle given in {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p>
|
||||||
* <p>This rectangle is defined relative to the full pixel array; (0,0) is the top-left of
|
* <p>This rectangle is defined relative to the full pixel array; (0,0) is the top-left of
|
||||||
* the full pixel array, and the size of the full pixel array is given by
|
* the full pixel array, and the size of the full pixel array is given by
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE android.sensor.info.pixelArraySize}.</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE android.sensor.info.pixelArraySize}.</p>
|
||||||
@@ -3130,12 +3142,26 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
|||||||
* the following code snippet can be used:</p>
|
* the following code snippet can be used:</p>
|
||||||
* <pre><code>// Returns true if the device supports the required hardware level, or better.
|
* <pre><code>// Returns true if the device supports the required hardware level, or better.
|
||||||
* boolean isHardwareLevelSupported(CameraCharacteristics c, int requiredLevel) {
|
* boolean isHardwareLevelSupported(CameraCharacteristics c, int requiredLevel) {
|
||||||
|
* final int[] sortedHwLevels = {
|
||||||
|
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY,
|
||||||
|
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL,
|
||||||
|
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED,
|
||||||
|
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL,
|
||||||
|
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_3
|
||||||
|
* };
|
||||||
* int deviceLevel = c.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
|
* int deviceLevel = c.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
|
||||||
* if (deviceLevel == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) {
|
* if (requiredLevel == deviceLevel) {
|
||||||
* return requiredLevel == deviceLevel;
|
* return true;
|
||||||
* }
|
* }
|
||||||
* // deviceLevel is not LEGACY, can use numerical sort
|
*
|
||||||
* return requiredLevel <= deviceLevel;
|
* for (int sortedlevel : sortedHwLevels) {
|
||||||
|
* if (sortedlevel == requiredLevel) {
|
||||||
|
* return true;
|
||||||
|
* } else if (sortedlevel == deviceLevel) {
|
||||||
|
* return false;
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* return false; // Should never reach here
|
||||||
* }
|
* }
|
||||||
* </code></pre>
|
* </code></pre>
|
||||||
* <p>At a high level, the levels are:</p>
|
* <p>At a high level, the levels are:</p>
|
||||||
@@ -3149,6 +3175,8 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
|||||||
* post-processing settings, and image capture at a high rate.</li>
|
* post-processing settings, and image capture at a high rate.</li>
|
||||||
* <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along
|
* <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along
|
||||||
* with additional output stream configurations.</li>
|
* with additional output stream configurations.</li>
|
||||||
|
* <li><code>EXTERNAL</code> devices are similar to <code>LIMITED</code> devices with exceptions like some sensor or
|
||||||
|
* lens information not reorted or less stable framerates.</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
* <p>See the individual level enums for full descriptions of the supported capabilities. The
|
* <p>See the individual level enums for full descriptions of the supported capabilities. The
|
||||||
* {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} entry describes the device's capabilities at a
|
* {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} entry describes the device's capabilities at a
|
||||||
|
|||||||
@@ -44,19 +44,27 @@ import java.lang.annotation.RetentionPolicy;
|
|||||||
* {@link android.Manifest.permission#CAMERA Camera} permission in its manifest
|
* {@link android.Manifest.permission#CAMERA Camera} permission in its manifest
|
||||||
* in order to access camera devices.</p>
|
* in order to access camera devices.</p>
|
||||||
*
|
*
|
||||||
* <p>A given camera device may provide support at one of two levels: limited or
|
* <p>A given camera device may provide support at one of several levels defined
|
||||||
* full. If a device only supports the limited level, then Camera2 exposes a
|
* in {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL}.
|
||||||
* feature set that is roughly equivalent to the older
|
* If a device supports {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY} level,
|
||||||
|
* the camera device is running in backward compatibility mode and has minimum camera2 API support.
|
||||||
|
* If a device supports the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED}
|
||||||
|
* level, then Camera2 exposes a feature set that is roughly equivalent to the older
|
||||||
* {@link android.hardware.Camera Camera} API, although with a cleaner and more
|
* {@link android.hardware.Camera Camera} API, although with a cleaner and more
|
||||||
* efficient interface. Devices that implement the full level of support
|
* efficient interface.
|
||||||
|
* If a device supports the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL EXTERNAL}
|
||||||
|
* level, then the device is a removable camera that provides similar but slightly less features
|
||||||
|
* as the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED} level.
|
||||||
|
* Devices that implement the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL} or
|
||||||
|
* {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL3} level of support
|
||||||
* provide substantially improved capabilities over the older camera
|
* provide substantially improved capabilities over the older camera
|
||||||
* API. Applications that target the limited level devices will run unchanged on
|
* API. If your application requires a full-level device for
|
||||||
* the full-level devices; if your application requires a full-level device for
|
|
||||||
* proper operation, declare the "android.hardware.camera.level.full" feature in your
|
* proper operation, declare the "android.hardware.camera.level.full" feature in your
|
||||||
* manifest.</p>
|
* manifest.</p>
|
||||||
*
|
*
|
||||||
* @see CameraManager#openCamera
|
* @see CameraManager#openCamera
|
||||||
* @see android.Manifest.permission#CAMERA
|
* @see android.Manifest.permission#CAMERA
|
||||||
|
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
|
||||||
*/
|
*/
|
||||||
public abstract class CameraDevice implements AutoCloseable {
|
public abstract class CameraDevice implements AutoCloseable {
|
||||||
|
|
||||||
|
|||||||
@@ -1277,11 +1277,26 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* Otherwise will always be present.</p>
|
* Otherwise will always be present.</p>
|
||||||
* <p>The maximum number of regions supported by the device is determined by the value
|
* <p>The maximum number of regions supported by the device is determined by the value
|
||||||
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AE android.control.maxRegionsAe}.</p>
|
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AE android.control.maxRegionsAe}.</p>
|
||||||
* <p>The coordinate system is based on the active pixel array,
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* with (0,0) being the top-left pixel in the active pixel array, and
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with (0,0) being
|
||||||
|
* the top-left pixel in the active pixel array, and
|
||||||
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
* bottom-right pixel in the active pixel array.</p>
|
* active pixel array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.height - 1) being the bottom-right
|
||||||
|
* pixel in the pre-correction active pixel array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
|
* active pixel array.</p>
|
||||||
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
||||||
* for every pixel in the area. This means that a large metering area
|
* for every pixel in the area. This means that a large metering area
|
||||||
* with the same weight as a smaller area will have more effect in
|
* with the same weight as a smaller area will have more effect in
|
||||||
@@ -1297,15 +1312,20 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* region and output only the intersection rectangle as the metering region in the result
|
* region and output only the intersection rectangle as the metering region in the result
|
||||||
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
||||||
* not reported in the result metadata.</p>
|
* not reported in the result metadata.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on
|
||||||
|
* distortion correction capability and mode</p>
|
||||||
* <p><b>Range of valid values:</b><br>
|
* <p><b>Range of valid values:</b><br>
|
||||||
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
|
||||||
|
* depending on distortion correction capability and mode</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AE
|
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AE
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CaptureRequest#SCALER_CROP_REGION
|
* @see CaptureRequest#SCALER_CROP_REGION
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS =
|
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS =
|
||||||
@@ -1451,11 +1471,26 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* Otherwise will always be present.</p>
|
* Otherwise will always be present.</p>
|
||||||
* <p>The maximum number of focus areas supported by the device is determined by the value
|
* <p>The maximum number of focus areas supported by the device is determined by the value
|
||||||
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AF android.control.maxRegionsAf}.</p>
|
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AF android.control.maxRegionsAf}.</p>
|
||||||
* <p>The coordinate system is based on the active pixel array,
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* with (0,0) being the top-left pixel in the active pixel array, and
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with (0,0) being
|
||||||
|
* the top-left pixel in the active pixel array, and
|
||||||
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
* bottom-right pixel in the active pixel array.</p>
|
* active pixel array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.height - 1) being the bottom-right
|
||||||
|
* pixel in the pre-correction active pixel array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
|
* active pixel array.</p>
|
||||||
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
||||||
* for every pixel in the area. This means that a large metering area
|
* for every pixel in the area. This means that a large metering area
|
||||||
* with the same weight as a smaller area will have more effect in
|
* with the same weight as a smaller area will have more effect in
|
||||||
@@ -1472,15 +1507,20 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* region and output only the intersection rectangle as the metering region in the result
|
* region and output only the intersection rectangle as the metering region in the result
|
||||||
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
||||||
* not reported in the result metadata.</p>
|
* not reported in the result metadata.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on
|
||||||
|
* distortion correction capability and mode</p>
|
||||||
* <p><b>Range of valid values:</b><br>
|
* <p><b>Range of valid values:</b><br>
|
||||||
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
|
||||||
|
* depending on distortion correction capability and mode</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AF
|
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AF
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CaptureRequest#SCALER_CROP_REGION
|
* @see CaptureRequest#SCALER_CROP_REGION
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS =
|
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS =
|
||||||
@@ -1620,11 +1660,26 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* Otherwise will always be present.</p>
|
* Otherwise will always be present.</p>
|
||||||
* <p>The maximum number of regions supported by the device is determined by the value
|
* <p>The maximum number of regions supported by the device is determined by the value
|
||||||
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AWB android.control.maxRegionsAwb}.</p>
|
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AWB android.control.maxRegionsAwb}.</p>
|
||||||
* <p>The coordinate system is based on the active pixel array,
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* with (0,0) being the top-left pixel in the active pixel array, and
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with (0,0) being
|
||||||
|
* the top-left pixel in the active pixel array, and
|
||||||
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
* bottom-right pixel in the active pixel array.</p>
|
* active pixel array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.height - 1) being the bottom-right
|
||||||
|
* pixel in the pre-correction active pixel array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
|
* active pixel array.</p>
|
||||||
* <p>The weight must range from 0 to 1000, and represents a weight
|
* <p>The weight must range from 0 to 1000, and represents a weight
|
||||||
* for every pixel in the area. This means that a large metering area
|
* for every pixel in the area. This means that a large metering area
|
||||||
* with the same weight as a smaller area will have more effect in
|
* with the same weight as a smaller area will have more effect in
|
||||||
@@ -1640,15 +1695,20 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* region and output only the intersection rectangle as the metering region in the result
|
* region and output only the intersection rectangle as the metering region in the result
|
||||||
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
||||||
* not reported in the result metadata.</p>
|
* not reported in the result metadata.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on
|
||||||
|
* distortion correction capability and mode</p>
|
||||||
* <p><b>Range of valid values:</b><br>
|
* <p><b>Range of valid values:</b><br>
|
||||||
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
|
||||||
|
* depending on distortion correction capability and mode</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
|
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CaptureRequest#SCALER_CROP_REGION
|
* @see CaptureRequest#SCALER_CROP_REGION
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS =
|
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS =
|
||||||
@@ -2441,9 +2501,17 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
/**
|
/**
|
||||||
* <p>The desired region of the sensor to read out for this capture.</p>
|
* <p>The desired region of the sensor to read out for this capture.</p>
|
||||||
* <p>This control can be used to implement digital zoom.</p>
|
* <p>This control can be used to implement digital zoom.</p>
|
||||||
* <p>The crop region coordinate system is based off
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with <code>(0, 0)</code> being the
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with <code>(0, 0)</code> being
|
||||||
* top-left corner of the sensor active array.</p>
|
* the top-left pixel of the active array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array.</p>
|
||||||
* <p>Output streams use this rectangle to produce their output,
|
* <p>Output streams use this rectangle to produce their output,
|
||||||
* cropping to a smaller region if necessary to maintain the
|
* cropping to a smaller region if necessary to maintain the
|
||||||
* stream's aspect ratio, then scaling the sensor input to
|
* stream's aspect ratio, then scaling the sensor input to
|
||||||
@@ -2462,20 +2530,30 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* outputs will crop horizontally (pillarbox), and 16:9
|
* outputs will crop horizontally (pillarbox), and 16:9
|
||||||
* streams will match exactly. These additional crops will
|
* streams will match exactly. These additional crops will
|
||||||
* be centered within the crop region.</p>
|
* be centered within the crop region.</p>
|
||||||
* <p>The width and height of the crop region cannot
|
* <p>If the coordinate system is android.sensor.info.activeArraysSize, the width and height
|
||||||
* be set to be smaller than
|
* of the crop region cannot be set to be smaller than
|
||||||
* <code>floor( activeArraySize.width / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code> and
|
* <code>floor( activeArraySize.width / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code> and
|
||||||
* <code>floor( activeArraySize.height / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>, respectively.</p>
|
* <code>floor( activeArraySize.height / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>, respectively.</p>
|
||||||
|
* <p>If the coordinate system is {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, the width
|
||||||
|
* and height of the crop region cannot be set to be smaller than
|
||||||
|
* <code>floor( preCorrectionActiveArraySize.width / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>
|
||||||
|
* and
|
||||||
|
* <code>floor( preCorrectionActiveArraySize.height / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>,
|
||||||
|
* respectively.</p>
|
||||||
* <p>The camera device may adjust the crop region to account
|
* <p>The camera device may adjust the crop region to account
|
||||||
* for rounding and other hardware requirements; the final
|
* for rounding and other hardware requirements; the final
|
||||||
* crop region used will be included in the output capture
|
* crop region used will be included in the output capture
|
||||||
* result.</p>
|
* result.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates relative to
|
* <p><b>Units</b>: Pixel coordinates relative to
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on distortion correction
|
||||||
|
* capability and mode</p>
|
||||||
* <p>This key is available on all devices.</p>
|
* <p>This key is available on all devices.</p>
|
||||||
*
|
*
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM
|
* @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
|
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
|
||||||
@@ -3196,13 +3274,12 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* <p>The correction only applies to processed outputs such as YUV, JPEG, or DEPTH16; it is not
|
* <p>The correction only applies to processed outputs such as YUV, JPEG, or DEPTH16; it is not
|
||||||
* applied to any RAW output. Metadata coordinates such as face rectangles or metering
|
* applied to any RAW output. Metadata coordinates such as face rectangles or metering
|
||||||
* regions are also not affected by correction.</p>
|
* regions are also not affected by correction.</p>
|
||||||
* <p>Applications enabling distortion correction need to pay extra attention when converting
|
* <p>This control will be on by default on devices that support this control. Applications
|
||||||
* image coordinates between corrected output buffers and the sensor array. For example, if
|
* disabling distortion correction need to pay extra attention with the coordinate system of
|
||||||
* the app supports tap-to-focus and enables correction, it then has to apply the distortion
|
* metering regions, crop region, and face rectangles. When distortion correction is OFF,
|
||||||
* model described in {@link CameraCharacteristics#LENS_DISTORTION android.lens.distortion} to the image buffer tap coordinates to properly
|
* metadata coordinates follow the coordinate system of
|
||||||
* calculate the tap position on the sensor active array to be used with
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}. When distortion is not OFF, metadata
|
||||||
* {@link CaptureRequest#CONTROL_AF_REGIONS android.control.afRegions}. The same applies in reverse to detected face rectangles if
|
* coordinates follow the coordinate system of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p>
|
||||||
* they need to be drawn on top of the corrected output buffers.</p>
|
|
||||||
* <p><b>Possible values:</b>
|
* <p><b>Possible values:</b>
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link #DISTORTION_CORRECTION_MODE_OFF OFF}</li>
|
* <li>{@link #DISTORTION_CORRECTION_MODE_OFF OFF}</li>
|
||||||
@@ -3213,9 +3290,10 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
|||||||
* {@link CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES android.distortionCorrection.availableModes}</p>
|
* {@link CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES android.distortionCorrection.availableModes}</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CaptureRequest#CONTROL_AF_REGIONS
|
|
||||||
* @see CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES
|
* @see CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES
|
||||||
* @see CameraCharacteristics#LENS_DISTORTION
|
* @see CameraCharacteristics#LENS_DISTORTION
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
* @see #DISTORTION_CORRECTION_MODE_OFF
|
* @see #DISTORTION_CORRECTION_MODE_OFF
|
||||||
* @see #DISTORTION_CORRECTION_MODE_FAST
|
* @see #DISTORTION_CORRECTION_MODE_FAST
|
||||||
* @see #DISTORTION_CORRECTION_MODE_HIGH_QUALITY
|
* @see #DISTORTION_CORRECTION_MODE_HIGH_QUALITY
|
||||||
|
|||||||
@@ -736,11 +736,26 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* Otherwise will always be present.</p>
|
* Otherwise will always be present.</p>
|
||||||
* <p>The maximum number of regions supported by the device is determined by the value
|
* <p>The maximum number of regions supported by the device is determined by the value
|
||||||
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AE android.control.maxRegionsAe}.</p>
|
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AE android.control.maxRegionsAe}.</p>
|
||||||
* <p>The coordinate system is based on the active pixel array,
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* with (0,0) being the top-left pixel in the active pixel array, and
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with (0,0) being
|
||||||
|
* the top-left pixel in the active pixel array, and
|
||||||
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
* bottom-right pixel in the active pixel array.</p>
|
* active pixel array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.height - 1) being the bottom-right
|
||||||
|
* pixel in the pre-correction active pixel array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
|
* active pixel array.</p>
|
||||||
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
||||||
* for every pixel in the area. This means that a large metering area
|
* for every pixel in the area. This means that a large metering area
|
||||||
* with the same weight as a smaller area will have more effect in
|
* with the same weight as a smaller area will have more effect in
|
||||||
@@ -756,15 +771,20 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* region and output only the intersection rectangle as the metering region in the result
|
* region and output only the intersection rectangle as the metering region in the result
|
||||||
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
||||||
* not reported in the result metadata.</p>
|
* not reported in the result metadata.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on
|
||||||
|
* distortion correction capability and mode</p>
|
||||||
* <p><b>Range of valid values:</b><br>
|
* <p><b>Range of valid values:</b><br>
|
||||||
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
|
||||||
|
* depending on distortion correction capability and mode</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AE
|
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AE
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CaptureRequest#SCALER_CROP_REGION
|
* @see CaptureRequest#SCALER_CROP_REGION
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS =
|
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS =
|
||||||
@@ -1158,11 +1178,26 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* Otherwise will always be present.</p>
|
* Otherwise will always be present.</p>
|
||||||
* <p>The maximum number of focus areas supported by the device is determined by the value
|
* <p>The maximum number of focus areas supported by the device is determined by the value
|
||||||
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AF android.control.maxRegionsAf}.</p>
|
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AF android.control.maxRegionsAf}.</p>
|
||||||
* <p>The coordinate system is based on the active pixel array,
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* with (0,0) being the top-left pixel in the active pixel array, and
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with (0,0) being
|
||||||
|
* the top-left pixel in the active pixel array, and
|
||||||
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
* bottom-right pixel in the active pixel array.</p>
|
* active pixel array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.height - 1) being the bottom-right
|
||||||
|
* pixel in the pre-correction active pixel array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
|
* active pixel array.</p>
|
||||||
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
* <p>The weight must be within <code>[0, 1000]</code>, and represents a weight
|
||||||
* for every pixel in the area. This means that a large metering area
|
* for every pixel in the area. This means that a large metering area
|
||||||
* with the same weight as a smaller area will have more effect in
|
* with the same weight as a smaller area will have more effect in
|
||||||
@@ -1179,15 +1214,20 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* region and output only the intersection rectangle as the metering region in the result
|
* region and output only the intersection rectangle as the metering region in the result
|
||||||
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
||||||
* not reported in the result metadata.</p>
|
* not reported in the result metadata.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on
|
||||||
|
* distortion correction capability and mode</p>
|
||||||
* <p><b>Range of valid values:</b><br>
|
* <p><b>Range of valid values:</b><br>
|
||||||
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
|
||||||
|
* depending on distortion correction capability and mode</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AF
|
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AF
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CaptureRequest#SCALER_CROP_REGION
|
* @see CaptureRequest#SCALER_CROP_REGION
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS =
|
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS =
|
||||||
@@ -1736,11 +1776,26 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* Otherwise will always be present.</p>
|
* Otherwise will always be present.</p>
|
||||||
* <p>The maximum number of regions supported by the device is determined by the value
|
* <p>The maximum number of regions supported by the device is determined by the value
|
||||||
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AWB android.control.maxRegionsAwb}.</p>
|
* of {@link CameraCharacteristics#CONTROL_MAX_REGIONS_AWB android.control.maxRegionsAwb}.</p>
|
||||||
* <p>The coordinate system is based on the active pixel array,
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* with (0,0) being the top-left pixel in the active pixel array, and
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with (0,0) being
|
||||||
|
* the top-left pixel in the active pixel array, and
|
||||||
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
* bottom-right pixel in the active pixel array.</p>
|
* active pixel array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.height - 1) being the bottom-right
|
||||||
|
* pixel in the pre-correction active pixel array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array, and
|
||||||
|
* ({@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.width - 1,
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.height - 1) being the bottom-right pixel in the
|
||||||
|
* active pixel array.</p>
|
||||||
* <p>The weight must range from 0 to 1000, and represents a weight
|
* <p>The weight must range from 0 to 1000, and represents a weight
|
||||||
* for every pixel in the area. This means that a large metering area
|
* for every pixel in the area. This means that a large metering area
|
||||||
* with the same weight as a smaller area will have more effect in
|
* with the same weight as a smaller area will have more effect in
|
||||||
@@ -1756,15 +1811,20 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* region and output only the intersection rectangle as the metering region in the result
|
* region and output only the intersection rectangle as the metering region in the result
|
||||||
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
* metadata. If the region is entirely outside the crop region, it will be ignored and
|
||||||
* not reported in the result metadata.</p>
|
* not reported in the result metadata.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* <p><b>Units</b>: Pixel coordinates within {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on
|
||||||
|
* distortion correction capability and mode</p>
|
||||||
* <p><b>Range of valid values:</b><br>
|
* <p><b>Range of valid values:</b><br>
|
||||||
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
* Coordinates must be between <code>[(0,0), (width, height))</code> of
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
|
||||||
|
* depending on distortion correction capability and mode</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
|
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CaptureRequest#SCALER_CROP_REGION
|
* @see CaptureRequest#SCALER_CROP_REGION
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS =
|
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS =
|
||||||
@@ -3105,9 +3165,17 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
/**
|
/**
|
||||||
* <p>The desired region of the sensor to read out for this capture.</p>
|
* <p>The desired region of the sensor to read out for this capture.</p>
|
||||||
* <p>This control can be used to implement digital zoom.</p>
|
* <p>This control can be used to implement digital zoom.</p>
|
||||||
* <p>The crop region coordinate system is based off
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with <code>(0, 0)</code> being the
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with <code>(0, 0)</code> being
|
||||||
* top-left corner of the sensor active array.</p>
|
* the top-left pixel of the active array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the active array.</p>
|
||||||
* <p>Output streams use this rectangle to produce their output,
|
* <p>Output streams use this rectangle to produce their output,
|
||||||
* cropping to a smaller region if necessary to maintain the
|
* cropping to a smaller region if necessary to maintain the
|
||||||
* stream's aspect ratio, then scaling the sensor input to
|
* stream's aspect ratio, then scaling the sensor input to
|
||||||
@@ -3126,20 +3194,30 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* outputs will crop horizontally (pillarbox), and 16:9
|
* outputs will crop horizontally (pillarbox), and 16:9
|
||||||
* streams will match exactly. These additional crops will
|
* streams will match exactly. These additional crops will
|
||||||
* be centered within the crop region.</p>
|
* be centered within the crop region.</p>
|
||||||
* <p>The width and height of the crop region cannot
|
* <p>If the coordinate system is android.sensor.info.activeArraysSize, the width and height
|
||||||
* be set to be smaller than
|
* of the crop region cannot be set to be smaller than
|
||||||
* <code>floor( activeArraySize.width / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code> and
|
* <code>floor( activeArraySize.width / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code> and
|
||||||
* <code>floor( activeArraySize.height / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>, respectively.</p>
|
* <code>floor( activeArraySize.height / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>, respectively.</p>
|
||||||
|
* <p>If the coordinate system is {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, the width
|
||||||
|
* and height of the crop region cannot be set to be smaller than
|
||||||
|
* <code>floor( preCorrectionActiveArraySize.width / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>
|
||||||
|
* and
|
||||||
|
* <code>floor( preCorrectionActiveArraySize.height / {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM android.scaler.availableMaxDigitalZoom} )</code>,
|
||||||
|
* respectively.</p>
|
||||||
* <p>The camera device may adjust the crop region to account
|
* <p>The camera device may adjust the crop region to account
|
||||||
* for rounding and other hardware requirements; the final
|
* for rounding and other hardware requirements; the final
|
||||||
* crop region used will be included in the output capture
|
* crop region used will be included in the output capture
|
||||||
* result.</p>
|
* result.</p>
|
||||||
* <p><b>Units</b>: Pixel coordinates relative to
|
* <p><b>Units</b>: Pixel coordinates relative to
|
||||||
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</p>
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize} depending on distortion correction
|
||||||
|
* capability and mode</p>
|
||||||
* <p>This key is available on all devices.</p>
|
* <p>This key is available on all devices.</p>
|
||||||
*
|
*
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM
|
* @see CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
*/
|
*/
|
||||||
@PublicKey
|
@PublicKey
|
||||||
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
|
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
|
||||||
@@ -3630,12 +3708,23 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
/**
|
/**
|
||||||
* <p>List of landmarks for detected
|
* <p>List of landmarks for detected
|
||||||
* faces.</p>
|
* faces.</p>
|
||||||
* <p>The coordinate system is that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with <code>(0, 0)</code> being
|
||||||
|
* the top-left pixel of the active array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
* <code>(0, 0)</code> being the top-left pixel of the active array.</p>
|
* <code>(0, 0)</code> being the top-left pixel of the active array.</p>
|
||||||
* <p>Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} == FULL
|
* <p>Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} == FULL
|
||||||
* This key is available on all devices.</p>
|
* This key is available on all devices.</p>
|
||||||
*
|
*
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
|
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@@ -3645,12 +3734,23 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
/**
|
/**
|
||||||
* <p>List of the bounding rectangles for detected
|
* <p>List of the bounding rectangles for detected
|
||||||
* faces.</p>
|
* faces.</p>
|
||||||
* <p>The coordinate system is that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
* <p>For devices not supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system always follows that of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with <code>(0, 0)</code> being
|
||||||
|
* the top-left pixel of the active array.</p>
|
||||||
|
* <p>For devices supporting {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode} control, the coordinate
|
||||||
|
* system depends on the mode being set.
|
||||||
|
* When the distortion correction mode is OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}, with
|
||||||
|
* <code>(0, 0)</code> being the top-left pixel of the pre-correction active array.
|
||||||
|
* When the distortion correction mode is not OFF, the coordinate system follows
|
||||||
|
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}, with
|
||||||
* <code>(0, 0)</code> being the top-left pixel of the active array.</p>
|
* <code>(0, 0)</code> being the top-left pixel of the active array.</p>
|
||||||
* <p>Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} != OFF
|
* <p>Only available if {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE android.statistics.faceDetectMode} != OFF
|
||||||
* This key is available on all devices.</p>
|
* This key is available on all devices.</p>
|
||||||
*
|
*
|
||||||
|
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
|
||||||
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
|
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@@ -4486,13 +4586,12 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* <p>The correction only applies to processed outputs such as YUV, JPEG, or DEPTH16; it is not
|
* <p>The correction only applies to processed outputs such as YUV, JPEG, or DEPTH16; it is not
|
||||||
* applied to any RAW output. Metadata coordinates such as face rectangles or metering
|
* applied to any RAW output. Metadata coordinates such as face rectangles or metering
|
||||||
* regions are also not affected by correction.</p>
|
* regions are also not affected by correction.</p>
|
||||||
* <p>Applications enabling distortion correction need to pay extra attention when converting
|
* <p>This control will be on by default on devices that support this control. Applications
|
||||||
* image coordinates between corrected output buffers and the sensor array. For example, if
|
* disabling distortion correction need to pay extra attention with the coordinate system of
|
||||||
* the app supports tap-to-focus and enables correction, it then has to apply the distortion
|
* metering regions, crop region, and face rectangles. When distortion correction is OFF,
|
||||||
* model described in {@link CameraCharacteristics#LENS_DISTORTION android.lens.distortion} to the image buffer tap coordinates to properly
|
* metadata coordinates follow the coordinate system of
|
||||||
* calculate the tap position on the sensor active array to be used with
|
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}. When distortion is not OFF, metadata
|
||||||
* {@link CaptureRequest#CONTROL_AF_REGIONS android.control.afRegions}. The same applies in reverse to detected face rectangles if
|
* coordinates follow the coordinate system of {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p>
|
||||||
* they need to be drawn on top of the corrected output buffers.</p>
|
|
||||||
* <p><b>Possible values:</b>
|
* <p><b>Possible values:</b>
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link #DISTORTION_CORRECTION_MODE_OFF OFF}</li>
|
* <li>{@link #DISTORTION_CORRECTION_MODE_OFF OFF}</li>
|
||||||
@@ -4503,9 +4602,10 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
|||||||
* {@link CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES android.distortionCorrection.availableModes}</p>
|
* {@link CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES android.distortionCorrection.availableModes}</p>
|
||||||
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
|
||||||
*
|
*
|
||||||
* @see CaptureRequest#CONTROL_AF_REGIONS
|
|
||||||
* @see CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES
|
* @see CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES
|
||||||
* @see CameraCharacteristics#LENS_DISTORTION
|
* @see CameraCharacteristics#LENS_DISTORTION
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
|
||||||
|
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
|
||||||
* @see #DISTORTION_CORRECTION_MODE_OFF
|
* @see #DISTORTION_CORRECTION_MODE_OFF
|
||||||
* @see #DISTORTION_CORRECTION_MODE_FAST
|
* @see #DISTORTION_CORRECTION_MODE_FAST
|
||||||
* @see #DISTORTION_CORRECTION_MODE_HIGH_QUALITY
|
* @see #DISTORTION_CORRECTION_MODE_HIGH_QUALITY
|
||||||
|
|||||||
Reference in New Issue
Block a user