Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a9ee22a authored by Jayant Chowdhary's avatar Jayant Chowdhary
Browse files

Camera VTS: Test only CROPPED_RAW use case for RAW_SENSOR streams



There are no mandatory stream combinations for RAW_SENSOR streams that
do not involve the CROPPED_RAW stream use case. So we don't need to test
stream non CROPPED_RAW stream use cases with the RAW_SENSOR format,
since we don't have a definite answer to whether they will be supported or not.

Bug: 317773720

Test: Camera VTS on cf
Test: Vendor testing

Merged-In: I0870e90ae68a5e35196f0ba0afaa6b8bf7fbfbd8
Change-Id: I0870e90ae68a5e35196f0ba0afaa6b8bf7fbfbd8
Signed-off-by: default avatarJayant Chowdhary <jchowdhary@google.com>
(cherry picked from commit 6847115a)
parent 990cb246
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -2212,18 +2212,20 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres
        ASSERT_NE(0u, outputPreviewStreams.size());
        ASSERT_NE(0u, outputPreviewStreams.size());


        // Combine valid and invalid stream use cases
        // Combine valid and invalid stream use cases
        std::vector<int64_t> useCases(kMandatoryUseCases);
        std::vector<int64_t> testedUseCases;
        useCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW + 1);
        testedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW + 1);


        std::vector<int64_t> supportedUseCases;
        std::vector<int64_t> supportedUseCases;
        if (threshold.format == static_cast<int32_t>(PixelFormat::RAW16)) {
        if (threshold.format == static_cast<int32_t>(PixelFormat::RAW16)) {
            // If the format is RAW16, supported use case is only CROPPED_RAW.
            // If the format is RAW16, supported use case is only CROPPED_RAW.
            // All others are unsupported for this format.
            // All others are unsupported for this format.
            useCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW);
            testedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW);
            supportedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW);
            supportedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW);
            supportedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT);
            supportedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT);
        } else {
        } else {
            camera_metadata_ro_entry entry;
            camera_metadata_ro_entry entry;
            testedUseCases.insert(testedUseCases.end(), kMandatoryUseCases.begin(),
                                  kMandatoryUseCases.end());
            auto retcode = find_camera_metadata_ro_entry(
            auto retcode = find_camera_metadata_ro_entry(
                    staticMeta, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, &entry);
                    staticMeta, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, &entry);
            if ((0 == retcode) && (entry.count > 0)) {
            if ((0 == retcode) && (entry.count > 0)) {
@@ -2264,7 +2266,7 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres
        ASSERT_TRUE(ret.isOk());
        ASSERT_TRUE(ret.isOk());
        config.sessionParams = req;
        config.sessionParams = req;


        for (int64_t useCase : useCases) {
        for (int64_t useCase : testedUseCases) {
            bool useCaseSupported = std::find(supportedUseCases.begin(), supportedUseCases.end(),
            bool useCaseSupported = std::find(supportedUseCases.begin(), supportedUseCases.end(),
                                              useCase) != supportedUseCases.end();
                                              useCase) != supportedUseCases.end();