diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java
index 9a719ca9ab9804180c7bfd0e3e7a9ce4c96d87c0..dac55ae084489d4e9c81527669ec26ac0d7243a6 100644
--- a/core/java/android/hardware/camera2/CameraCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraCharacteristics.java
@@ -2356,10 +2356,11 @@ public final class CameraCharacteristics extends CameraMetadata
This is a subset of android.request.availableRequestKeys which contains a list - * of keys that can be overridden using {@link CaptureRequest.Builder#setPhysicalCameraKey }. + * of keys that can be overridden using + * {@link android.hardware.camera2.CaptureRequest.Builder#setPhysicalCameraKey }. * The respective value of such request key can be obtained by calling - * {@link CaptureRequest.Builder#getPhysicalCameraKey }. Capture requests that contain - * individual physical device requests must be built via + * {@link android.hardware.camera2.CaptureRequest.Builder#getPhysicalCameraKey }. + * Capture requests that contain individual physical device requests must be built via * {@link android.hardware.camera2.CameraDevice#createCaptureRequest(int, Set)}.
*Optional - The value for this key may be {@code null} on some devices.
*Limited capability -
@@ -2759,7 +2760,7 @@ public final class CameraCharacteristics extends CameraMetadata For applications targeting SDK version 31 or newer, if the mobile device declares to be
* media performance class 12 or higher by setting
- * {@link android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
+ * {@link android.os.Build.VERSION#MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
* the primary camera devices (first rear/front camera in the camera ID list) will not
* support JPEG sizes smaller than 1080p. If the application configures a JPEG stream
* smaller than 1080p, the camera device will round up the JPEG image size to at least
@@ -2833,7 +2834,7 @@ public final class CameraCharacteristics extends CameraMetadata For applications targeting SDK version 31 or newer, if the mobile device doesn't declare
* to be media performance class 12 or better by setting
- * {@link android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
+ * {@link android.os.Build.VERSION#MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
* or if the camera device isn't a primary rear/front camera, the minimum required output
* stream configurations are the same as for applications targeting SDK version older than
* 31. Please reference the documentation for the image data destination to
* check if it limits the maximum size for image data. The following table describes the minimum required output stream
- * configurations based on the hardware level
- * ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel}): For applications targeting SDK version older than 31, the following table
+ * describes the minimum required output stream configurations based on the
+ * hardware level ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel}):
+ * Format | Size | Hardware Level | Notes
+ * :-------------------------------------------------:|:--------------------------------------------:|:--------------:|:--------------:
+ * {@link android.graphics.ImageFormat#JPEG } | {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} (*1) | Any |
+ * {@link android.graphics.ImageFormat#JPEG } | 1920x1080 (1080p) | Any | if 1080p <= activeArraySize
+ * {@link android.graphics.ImageFormat#JPEG } | 1280x720 (720p) | Any | if 720p <= activeArraySize
+ * {@link android.graphics.ImageFormat#JPEG } | 640x480 (480p) | Any | if 480p <= activeArraySize
+ * {@link android.graphics.ImageFormat#JPEG } | 320x240 (240p) | Any | if 240p <= activeArraySize
+ * {@link android.graphics.ImageFormat#YUV_420_888 } | all output sizes available for JPEG | FULL |
+ * {@link android.graphics.ImageFormat#YUV_420_888 } | all output sizes available for JPEG, up to the maximum video size | LIMITED |
+ * {@link android.graphics.ImageFormat#PRIVATE } | same as YUV_420_888 | Any | For applications targeting SDK version 31 or newer, if the mobile device declares to be
+ * media performance class 12 or higher by setting
+ * {@link android.os.Build.VERSION#MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
+ * the primary camera devices (first rear/front camera in the camera ID list) will not
+ * support JPEG sizes smaller than 1080p. If the application configures a JPEG stream
+ * smaller than 1080p, the camera device will round up the JPEG image size to at least
+ * 1080p. The requirements for IMPLEMENTATION_DEFINED and YUV_420_888 stay the same.
+ * This new minimum required output stream configurations are illustrated by the table below: For applications targeting SDK version 31 or newer, if the mobile device doesn't declare
+ * to be media performance class 12 or better by setting
+ * {@link android.os.Build.VERSION#MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
+ * or if the camera device isn't a primary rear/front camera, the minimum required output
+ * stream configurations are the same as for applications targeting SDK version older than
+ * 31. Refer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} and {@link android.hardware.camera2.CameraDevice#createCaptureSession } for additional mandatory
* stream configurations on a per-capability basis. *1: For JPEG format, the sizes may be restricted by below conditions:
*
*
+ *
@@ -2984,32 +3003,38 @@ public final class CameraCharacteristics extends CameraMetadata
*
- *
+ * {@link android.graphics.ImageFormat#JPEG }
- * 1280x720 (720p)
- * Any
+ * {@link android.graphics.ImageFormat#YUV_420_888 }
+ * {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}
+ * FULL
+ *
+ *
+ *
+ * {@link android.graphics.ImageFormat#YUV_420_888 }
+ * 1920x1080 (1080p)
+ * FULL
+ * if 1080p <= activeArraySize
+ *
+ *
* {@link android.graphics.ImageFormat#YUV_420_888 }
+ * 1280x720 (720)
+ * FULL
* if 720p <= activeArraySize
*
- *
* {@link android.graphics.ImageFormat#JPEG }
+ * {@link android.graphics.ImageFormat#YUV_420_888 }
* 640x480 (480p)
- * Any
+ * FULL
* if 480p <= activeArraySize
*
- *
- * {@link android.graphics.ImageFormat#JPEG }
- * 320x240 (240p)
- * Any
- * if 240p <= activeArraySize
- *
*
* {@link android.graphics.ImageFormat#YUV_420_888 }
- * all output sizes available for JPEG
+ * 320x240 (240p)
* FULL
- *
+ * if 240p <= activeArraySize
*
*
@@ -3021,6 +3046,12 @@ public final class CameraCharacteristics extends CameraMetadata{@link android.graphics.ImageFormat#YUV_420_888 }
- * all output sizes available for JPEG, up to the maximum video size
+ * all output sizes available for FULL hardware level, up to the maximum video size
* LIMITED
*
*