diff options
author | Jayant Chowdhary <jchowdhary@google.com> | 2022-07-19 02:38:02 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-07-19 02:38:02 +0000 |
commit | e37729a75198fb1f2147df818beddc131a23e009 (patch) | |
tree | 2a10f9c2242b4faca1e889eefde2801ae5d9441d | |
parent | 567d749ffa6c4d5924b58e9c024bf38ddec9a9a0 (diff) | |
parent | 749c93e62c6f990ec3f41a93169a9bb0c67bda33 (diff) | |
download | cts-e37729a75198fb1f2147df818beddc131a23e009.tar.gz |
Merge changes from topic "its-preview-stab-size" into stage-aosp-tm-ts-dev am: 749c93e62c
Original change: https://googleplex-android-review.googlesource.com/c/platform/cts/+/19245653
Change-Id: If0cc6be84ed757d601a8ddf6032c089bf0f87224
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | apps/CameraITS/tests/scene4/test_preview_stabilization_fov.py | 29 | ||||
-rw-r--r-- | apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java | 4 |
2 files changed, 17 insertions, 16 deletions
diff --git a/apps/CameraITS/tests/scene4/test_preview_stabilization_fov.py b/apps/CameraITS/tests/scene4/test_preview_stabilization_fov.py index 6fdfd11caf4..2781f18805e 100644 --- a/apps/CameraITS/tests/scene4/test_preview_stabilization_fov.py +++ b/apps/CameraITS/tests/scene4/test_preview_stabilization_fov.py @@ -35,9 +35,9 @@ _MAX_STABILIZED_RADIUS_RATIO = 1.2 # radius of circle in stabilized preview _ROUNDESS_DELTA_THRESHOLD = 0.05 _MAX_CENTER_THRESHOLD_PERCENT = 0.075 -_MAX_DIMENSION_SIZE = (1920, 1440) # max mandatory preview stream resolution +_MAX_AREA = 1920 * 1440 # max mandatory preview stream resolution _MIN_CENTER_THRESHOLD_PERCENT = 0.02 -_MIN_DIMENSION_SIZE = (176, 144) # assume QCIF to be min preview size +_MIN_AREA = 176 * 144 # assume QCIF to be min preview size def _collect_data(cam, video_size, stabilize): @@ -93,23 +93,19 @@ def _calculate_center_offset_threshold(image_size): threshold value ratio between which the circle centers can differ """ - max_diagonal = _point_distance(0, 0, - _MAX_DIMENSION_SIZE[0], _MAX_DIMENSION_SIZE[1]) - min_diagonal = _point_distance(0, 0, - _MIN_DIMENSION_SIZE[0], _MIN_DIMENSION_SIZE[1]) + img_area = image_size[0] * image_size[1] - img_diagonal = _point_distance(0, 0, image_size[0], image_size[1]) + normalized_area = ((img_area - _MIN_AREA) / + (_MAX_AREA - _MIN_AREA)) - normalized_diagonal = ((img_diagonal - min_diagonal) / - (max_diagonal - min_diagonal)) - - if normalized_diagonal > 1 or normalized_diagonal < 0: - raise AssertionError(f'normalized diagonal > 1 or < 0!' - f' img_diag: {img_diagonal}, ' - f' normalized_diagonal: {normalized_diagonal}') + if normalized_area > 1 or normalized_area < 0: + raise AssertionError(f'normalized area > 1 or < 0! ' + f'image_size[0]: {image_size[0]}, ' + f'image_size[1]: {image_size[1]}, ' + f'normalized_area: {normalized_area}') # Threshold should be larger for images with smaller resolution - normalized_threshold_percent = ((1 - normalized_diagonal) * + normalized_threshold_percent = ((1 - normalized_area) * (_MAX_CENTER_THRESHOLD_PERCENT - _MIN_CENTER_THRESHOLD_PERCENT)) @@ -253,7 +249,8 @@ class PreviewStabilizationFoVTest(its_base_test.ItsBaseTest): f'{_ROUNDESS_DELTA_THRESHOLD}, ' f'actual ratio difference: {roundness_diff}. ') - # Distance between centers + # Distance between centers, x_offset and y_offset are relative to the + # radius of the circle, so they're normalized. Not pixel values. unstab_center = (ustab_circle['x_offset'], ustab_circle['y_offset']) logging.debug('unstabilized center: %s', unstab_center) stab_center = (stab_circle['x_offset'], stab_circle['y_offset']) diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java index 861c6f68810..212f988d205 100644 --- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java +++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java @@ -1847,6 +1847,8 @@ public class ItsService extends Service implements SensorEventListener { // s1440p which is the max supported stream size in a combination, when preview // stabilization is on. Size maxPreviewSize = new Size(1920, 1440); + // QCIF, we test only sizes >= this. + Size minPreviewSize = new Size(176, 144); Size[] outputSizes = configMap.getOutputSizes(ImageFormat.YUV_420_888); if (outputSizes == null) { mSocketRunnableObj.sendResponse("supportedPreviewSizes", ""); @@ -1857,6 +1859,8 @@ public class ItsService extends Service implements SensorEventListener { .distinct() .filter(s -> s.getWidth() * s.getHeight() <= maxPreviewSize.getWidth() * maxPreviewSize.getHeight()) + .filter(s -> s.getWidth() * s.getHeight() + >= minPreviewSize.getWidth() * minPreviewSize.getHeight()) .sorted(Comparator.comparingInt(s -> s.getWidth() * s.getHeight())) .map(Size::toString) .collect(Collectors.joining(";")); |