Camera: Improve documentation for 3A regions

Clarify that 3A regions need to consider additional crop for preview
stream due to aspect ratio mismatch.

Test: Build
Bug: 226939029
Change-Id: I660e83bb4aae088dc231827bd9a075879c573538
This commit is contained in:
Shuzhen Wang
2022-03-28 13:05:29 -07:00
parent fad9dab6a6
commit 9393a69a5f
2 changed files with 48 additions and 0 deletions

View File

@@ -1382,6 +1382,14 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
* 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
* not reported in the result metadata.</p>
* <p>When setting the AE metering regions, the application must consider the additional
* crop resulted from the aspect ratio differences between the preview stream and
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
* active array size with 4:3 aspect ratio, and the preview stream is 16:9,
* the boundary of AE regions will be [0, y_crop] and
* [active_width, active_height - 2 * y_crop] rather than [0, 0] and
* [active_width, active_height], where y_crop is the additional crop due to aspect ratio
* mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same aeRegions values at different
@@ -1604,6 +1612,14 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
* 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
* not reported in the result metadata.</p>
* <p>When setting the AF metering regions, the application must consider the additional
* crop resulted from the aspect ratio differences between the preview stream and
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
* active array size with 4:3 aspect ratio, and the preview stream is 16:9,
* the boundary of AF regions will be [0, y_crop] and
* [active_width, active_height - 2 * y_crop] rather than [0, 0] and
* [active_width, active_height], where y_crop is the additional crop due to aspect ratio
* mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same afRegions values at different
@@ -1818,6 +1834,14 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
* 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
* not reported in the result metadata.</p>
* <p>When setting the AWB metering regions, the application must consider the additional
* crop resulted from the aspect ratio differences between the preview stream and
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
* active array size with 4:3 aspect ratio, and the preview stream is 16:9,
* the boundary of AWB regions will be [0, y_crop] and
* [active_width, active_height - 2 * y_crop] rather than [0, 0] and
* [active_width, active_height], where y_crop is the additional crop due to aspect ratio
* mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same awbRegions values at different

View File

@@ -829,6 +829,14 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* 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
* not reported in the result metadata.</p>
* <p>When setting the AE metering regions, the application must consider the additional
* crop resulted from the aspect ratio differences between the preview stream and
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
* active array size with 4:3 aspect ratio, and the preview stream is 16:9,
* the boundary of AE regions will be [0, y_crop] and
* [active_width, active_height - 2 * y_crop] rather than [0, 0] and
* [active_width, active_height], where y_crop is the additional crop due to aspect ratio
* mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same aeRegions values at different
@@ -1301,6 +1309,14 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* 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
* not reported in the result metadata.</p>
* <p>When setting the AF metering regions, the application must consider the additional
* crop resulted from the aspect ratio differences between the preview stream and
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
* active array size with 4:3 aspect ratio, and the preview stream is 16:9,
* the boundary of AF regions will be [0, y_crop] and
* [active_width, active_height - 2 * y_crop] rather than [0, 0] and
* [active_width, active_height], where y_crop is the additional crop due to aspect ratio
* mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same afRegions values at different
@@ -1926,6 +1942,14 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* 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
* not reported in the result metadata.</p>
* <p>When setting the AWB metering regions, the application must consider the additional
* crop resulted from the aspect ratio differences between the preview stream and
* {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
* active array size with 4:3 aspect ratio, and the preview stream is 16:9,
* the boundary of AWB regions will be [0, y_crop] and
* [active_width, active_height - 2 * y_crop] rather than [0, 0] and
* [active_width, active_height], where y_crop is the additional crop due to aspect ratio
* mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same awbRegions values at different