Starting March 27, 2025, we recommend using android-latest-release
instead of aosp-main
to build and contribute to AOSP. For more information, see Changes to AOSP.
Android 14 Camera Image Test Suite Release Notes
Stay organized with collections
Save and categorize content based on your preferences.
The Android 14 release includes a number of changes to
Camera ITS.
This page summarizes the Camera ITS changes for Android
14. The changes fall into five broad categories:
Python and package versions
Android 14 supports the following Python versions in
addition to the Python versions and libraries supported in Android
12 and 13:
Increased LIMITED camera testing
In Android 14, the following tests are refactored
to enable testing of LIMITED cameras with existing tests.
Scene |
Test name |
Description |
1_1 |
test_jpeg |
Refactored to eliminate the manual_capture() method. |
1_2 |
test_yuv_jpeg_all |
Refactored to eliminate the manual_capture() method. |
1_2 |
test_yuv_plus_jpeg |
Refactored to eliminate the manual_capture() method. |
1_2 |
test_yuv_plus_raw |
Refactored to the manual_capture() method.
RAW/RAW10/RAW12 testing merged to a single test. |
4 |
test_multi_camera_alignment |
Refactored to the manual_capture() method. |
In Android 14, the following face detection
tests are refactored.
Scene |
Test name |
Description |
2 |
test_num_faces |
New faces for increased face diversity. Face locations confirmed. |
Other test changes
In Android 14, the following tests are refactored to
increase test coverage.
Scene |
Test name |
Description |
0 |
test_read_write |
Refactored to flag capture metadata values for sensitivity that fall outside
of android.sensor.sensitivityRange . |
1_1 |
test_burst_sameness_manual |
Refactored to do two bursts of 50 frames rather than five bursts of 50
frames. |
1_2 |
test_yuv_jpeg_all |
Refactored to use the STILL_CAPTURE use case if available. |
1_2 |
test_yuv_plus_jpeg |
Refactored to use the STILL_CAPTURE use case if available. |
4 |
test_multi_camera_alignment |
Refactored to add YUV captures and to add 640x360 captures to the
existing 640x480 captures. |
New tests
Android 14 includes the following new tests.
Scene |
Test name |
Description |
2_a |
test_autoframing |
Verifies that autoframing can adjust the FoV to include all faces with
different skin tones regardless of the zoom ratio set. |
2_a |
test_display_p3 |
Verifies P3 JPEG output is correct. |
2_a |
test_preview_min_frame_rate |
Verifies that preview FPS reaches minimum defined by camera properties under
low light conditions. |
3 |
test_landscape_to_portrait |
Verifies landscape to portrait override rotates image properly. |
4 |
test_preview_aspect_ratio_and_crop |
Verifies Preview stream aspect ratio, crop, and FoV are
appropriate for supported formats. |
6 |
test_in_sensor_zoom |
Verifies the camera in-sensor zoom behavior. |
6 |
test_low_latency_zoom |
Verifies zoom ratio scales correctly if settings override zoom is set. |
6 |
test_preview_video_zoom_match |
Verifies that zoom behaves the same in Preview and Video streams. |
extensions |
test_hdr_extension |
Verifies HDR extension activates correctly when requested. |
extensions |
test_night_extension |
Verifies Night extension activates correctly when requested. |
sensor_fusion |
test_led_snapshot |
Verifies LED snapshots don't saturate or tint image. |
Parallel DUT testing
Android 14 supports parallel DUT testing, which lets
you test DUTs in parallel with multiple rigs to speed up overall testing. For
example, parallel testing lets you test camera 0 in one rig and camera 1 in
another rig at the same time.
For more details, see
Parallel DUT testing.
Test requirements
Figure 1 shows the Android 14 ITS secret
decoder ring. The secret decoder ring shows what test settings individual
tests are gated by. Test settings gated by
android.request.availableCapabilities
are in uppercase letters.
The main gating items are:
MANUAL_SENSOR
READ_3A
PER_FRAME_CONTROL
RAW
faceDetectModes
timestampSource
flash.info.available
Figure 1. Android 14 ITS secret decoder ring
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-29 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[],[],null,["# Android 14 Camera Image Test Suite Release Notes\n\nThe Android 14 release includes a number of changes to\n[Camera ITS](/docs/compatibility/cts/camera-hal#its_tests).\n\nThis page summarizes the Camera ITS changes for Android\n14. The changes fall into five broad categories:\n\n- [Python and package versions](#package-versions)\n- [Increased LIMITED camera testing](#increased-limited-camera-testing)\n- [Increased face-related testing](#increased-face-related-testing)\n- [Other test changes](#other-test-changes)\n- [New tests](#new-tests)\n- [Parallel DUT testing](#parallel-dut-testing)\n\nPython and package versions\n---------------------------\n\nAndroid 14 supports the following Python versions in\naddition to the Python versions and libraries supported in Android\n12 and 13:\n\n- [Python 3.9.2](https://www.python.org/downloads/)\n- [OpenCV 4.2.0](https://opencv.org/)\n- [Numpy 1.20.3](https://numpy.org/)\n- [Matplotlib 3.4.1](https://matplotlib.org/)\n- [Scipy 1.6.2](https://docs.scipy.org/doc/)\n- [pySerial 3.5](https://pyserial.readthedocs.io/)\n- [Pillow 8.3.1](https://pypi.org/project/Pillow/)\n- [PyYAML 5.4.1](https://pypi.org/project/PyYAML/)\n- [Mobly 1.11](https://github.com/google/mobly)\n- [FFmpeg 4.4.1](https://ffmpeg.org/)\n- (For Display P3 tests only) [Colour-science 0.4.2](https://pypi.org/project/colour-science/)\n\nIncreased LIMITED camera testing\n--------------------------------\n\nIn Android 14, the following tests are refactored\nto enable testing of LIMITED cameras with existing tests.\n\n| **Scene** | **Test name** | **Description** |\n|-----------|-----------------------------|-----------------------------------------------------------------------------------------------|\n| 1_1 | test_jpeg | Refactored to eliminate the `manual_capture()` method. |\n| 1_2 | test_yuv_jpeg_all | Refactored to eliminate the `manual_capture()` method. |\n| 1_2 | test_yuv_plus_jpeg | Refactored to eliminate the `manual_capture()` method. |\n| 1_2 | test_yuv_plus_raw | Refactored to the `manual_capture()` method. RAW/RAW10/RAW12 testing merged to a single test. |\n| 4 | test_multi_camera_alignment | Refactored to the `manual_capture()` method. |\n\nIncreased face-related testing\n------------------------------\n\nIn Android 14, the following face detection\ntests are refactored.\n\n| **Scene** | **Test name** | **Description** |\n|-----------|----------------|-------------------------------------------------------------------|\n| 2 | test_num_faces | New faces for increased face diversity. Face locations confirmed. |\n\n\u003cbr /\u003e\n\nOther test changes\n------------------\n\nIn Android 14, the following tests are refactored to\nincrease test coverage.\n\n| **Scene** | **Test name** | **Description** |\n|-----------|-----------------------------|--------------------------------------------------------------------------------------------------------------------|\n| 0 | test_read_write | Refactored to flag capture metadata values for sensitivity that fall outside of `android.sensor.sensitivityRange`. |\n| 1_1 | test_burst_sameness_manual | Refactored to do two bursts of 50 frames rather than five bursts of 50 frames. |\n| 1_2 | test_yuv_jpeg_all | Refactored to use the `STILL_CAPTURE` use case if available. |\n| 1_2 | test_yuv_plus_jpeg | Refactored to use the `STILL_CAPTURE` use case if available. |\n| 4 | test_multi_camera_alignment | Refactored to add YUV captures and to add `640x360` captures to the existing `640x480` captures. |\n\n\u003cbr /\u003e\n\nNew tests\n---------\n\nAndroid 14 includes the following new tests.\n\n| **Scene** | **Test name** | **Description** |\n|---------------|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|\n| 2_a | test_autoframing | Verifies that autoframing can adjust the FoV to include all faces with different skin tones regardless of the zoom ratio set. |\n| 2_a | test_display_p3 | Verifies `P3 JPEG` output is correct. |\n| 2_a | test_preview_min_frame_rate | Verifies that preview FPS reaches minimum defined by camera properties under low light conditions. |\n| 3 | test_landscape_to_portrait | Verifies landscape to portrait override rotates image properly. |\n| 4 | test_preview_aspect_ratio_and_crop | Verifies `Preview` stream aspect ratio, crop, and FoV are appropriate for supported formats. |\n| 6 | test_in_sensor_zoom | Verifies the camera in-sensor zoom behavior. |\n| 6 | test_low_latency_zoom | Verifies zoom ratio scales correctly if settings override zoom is set. |\n| 6 | test_preview_video_zoom_match | Verifies that zoom behaves the same in `Preview` and `Video` streams. |\n| extensions | test_hdr_extension | Verifies `HDR` extension activates correctly when requested. |\n| extensions | test_night_extension | Verifies `Night` extension activates correctly when requested. |\n| sensor_fusion | test_led_snapshot | Verifies LED snapshots don't saturate or tint image. |\n\nParallel DUT testing\n--------------------\n\nAndroid 14 supports parallel DUT testing, which lets\nyou test DUTs in parallel with multiple rigs to speed up overall testing. For\nexample, parallel testing lets you test camera 0 in one rig and camera 1 in\nanother rig at the same time.\n\nFor more details, see\n[Parallel DUT testing](/docs/compatibility/cts/camera-its#parallel-dut-testing).\n\nTest requirements\n-----------------\n\nFigure 1 shows the Android 14 ITS *secret\ndecoder ring* . The secret decoder ring shows what test settings individual\ntests are gated by. Test settings gated by\n`android.request.availableCapabilities` are in uppercase letters.\nThe main gating items are:\n\n- `MANUAL_SENSOR`\n- `READ_3A`\n- `PER_FRAME_CONTROL`\n- `RAW`\n- `faceDetectModes`\n- `timestampSource`\n- `flash.info.available`\n\n**Figure 1.** Android 14 ITS secret decoder ring"]]