Camera ITS: select smaller image if size is > 12M

Bug: 33481457
Change-Id: I40d2e55e74c6a6fc85334411c00df450ee263b0e
diff --git a/apps/CameraITS/tests/scene2/test_faces.py b/apps/CameraITS/tests/scene2/test_faces.py
index ba4f317..a8dcdb3 100644
--- a/apps/CameraITS/tests/scene2/test_faces.py
+++ b/apps/CameraITS/tests/scene2/test_faces.py
@@ -42,7 +42,19 @@
             assert(FD_MODE_OFF <= fd_mode <= FD_MODE_FULL)
             req = its.objects.auto_capture_request()
             req['android.statistics.faceDetectMode'] = fd_mode
-            caps = cam.do_capture([req]*NUM_TEST_FRAMES)
+            max_img_size = its.objects.get_available_output_sizes("yuv", props)[0]
+            w = max_img_size[0]
+            h = max_img_size[1]
+            out_surf=None
+            if w * h > 12 * 1024 * 1024:
+                size_to_use = its.objects.get_available_output_sizes("yuv",
+                    props, max_size=(4000, 3000), match_ar_size=(w, h))[0]
+                out_surf = {
+                   "width": size_to_use[0],
+                   "height": size_to_use[1],
+                   "format": "yuv",
+                }
+            caps = cam.do_capture([req]*NUM_TEST_FRAMES, out_surfaces=out_surf)
             for i,cap in enumerate(caps):
                 md = cap['metadata']
                 assert(md['android.statistics.faceDetectMode'] == fd_mode)