Loading camera/provider/aidl/vts/camera_aidl_test.cpp +20 −12 Original line number Diff line number Diff line Loading @@ -319,14 +319,7 @@ void CameraAidlTest::verifyStreamUseCaseCharacteristics(const camera_metadata_t* // Check capabilities int retcode = find_camera_metadata_ro_entry(metadata, ANDROID_REQUEST_AVAILABLE_CAPABILITIES, &entry); bool hasStreamUseCaseCap = false; if ((0 == retcode) && (entry.count > 0)) { if (std::find(entry.data.u8, entry.data.u8 + entry.count, ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE) != entry.data.u8 + entry.count) { hasStreamUseCaseCap = true; } } bool hasStreamUseCaseCap = supportsStreamUseCaseCap(metadata); bool supportMandatoryUseCases = false; retcode = find_camera_metadata_ro_entry(metadata, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, Loading Loading @@ -2436,8 +2429,8 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres &cameraDevice /*out*/); camera_metadata_t* staticMeta = reinterpret_cast<camera_metadata_t*>(meta.metadata.data()); // Check if camera support depth only if (isDepthOnly(staticMeta) || // Check if camera support depth only or doesn't support stream use case capability if (isDepthOnly(staticMeta) || !supportsStreamUseCaseCap(staticMeta) || (threshold.format == static_cast<int32_t>(PixelFormat::RAW16) && !supportsCroppedRawUseCase(staticMeta))) { ndk::ScopedAStatus ret = mSession->close(); Loading Loading @@ -3508,6 +3501,21 @@ bool CameraAidlTest::supportsCroppedRawUseCase(const camera_metadata_t *staticMe return false; } bool CameraAidlTest::supportsStreamUseCaseCap(const camera_metadata_t* staticMeta) { camera_metadata_ro_entry entry; int retcode = find_camera_metadata_ro_entry(staticMeta, ANDROID_REQUEST_AVAILABLE_CAPABILITIES, &entry); bool hasStreamUseCaseCap = false; if ((0 == retcode) && (entry.count > 0)) { if (std::find(entry.data.u8, entry.data.u8 + entry.count, ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE) != entry.data.u8 + entry.count) { hasStreamUseCaseCap = true; } } return hasStreamUseCaseCap; } bool CameraAidlTest::isPerFrameControl(const camera_metadata_t* staticMeta) { camera_metadata_ro_entry syncLatencyEntry; int rc = find_camera_metadata_ro_entry(staticMeta, ANDROID_SYNC_MAX_LATENCY, Loading camera/provider/aidl/vts/camera_aidl_test.h +2 −1 Original line number Diff line number Diff line Loading @@ -439,7 +439,8 @@ class CameraAidlTest : public ::testing::TestWithParam<std::string> { int32_t frameCount, const bool *overrideSequence, const bool *expectedResults); bool supportZoomSettingsOverride(const camera_metadata_t* staticMeta); bool supportsCroppedRawUseCase(const camera_metadata_t *staticMeta); static bool supportsStreamUseCaseCap(const camera_metadata_t* staticMeta); static bool supportsCroppedRawUseCase(const camera_metadata_t* staticMeta); bool isPerFrameControl(const camera_metadata_t* staticMeta); void getSupportedSizes(const camera_metadata_t* ch, uint32_t tag, int32_t format, Loading Loading
camera/provider/aidl/vts/camera_aidl_test.cpp +20 −12 Original line number Diff line number Diff line Loading @@ -319,14 +319,7 @@ void CameraAidlTest::verifyStreamUseCaseCharacteristics(const camera_metadata_t* // Check capabilities int retcode = find_camera_metadata_ro_entry(metadata, ANDROID_REQUEST_AVAILABLE_CAPABILITIES, &entry); bool hasStreamUseCaseCap = false; if ((0 == retcode) && (entry.count > 0)) { if (std::find(entry.data.u8, entry.data.u8 + entry.count, ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE) != entry.data.u8 + entry.count) { hasStreamUseCaseCap = true; } } bool hasStreamUseCaseCap = supportsStreamUseCaseCap(metadata); bool supportMandatoryUseCases = false; retcode = find_camera_metadata_ro_entry(metadata, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, Loading Loading @@ -2436,8 +2429,8 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres &cameraDevice /*out*/); camera_metadata_t* staticMeta = reinterpret_cast<camera_metadata_t*>(meta.metadata.data()); // Check if camera support depth only if (isDepthOnly(staticMeta) || // Check if camera support depth only or doesn't support stream use case capability if (isDepthOnly(staticMeta) || !supportsStreamUseCaseCap(staticMeta) || (threshold.format == static_cast<int32_t>(PixelFormat::RAW16) && !supportsCroppedRawUseCase(staticMeta))) { ndk::ScopedAStatus ret = mSession->close(); Loading Loading @@ -3508,6 +3501,21 @@ bool CameraAidlTest::supportsCroppedRawUseCase(const camera_metadata_t *staticMe return false; } bool CameraAidlTest::supportsStreamUseCaseCap(const camera_metadata_t* staticMeta) { camera_metadata_ro_entry entry; int retcode = find_camera_metadata_ro_entry(staticMeta, ANDROID_REQUEST_AVAILABLE_CAPABILITIES, &entry); bool hasStreamUseCaseCap = false; if ((0 == retcode) && (entry.count > 0)) { if (std::find(entry.data.u8, entry.data.u8 + entry.count, ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE) != entry.data.u8 + entry.count) { hasStreamUseCaseCap = true; } } return hasStreamUseCaseCap; } bool CameraAidlTest::isPerFrameControl(const camera_metadata_t* staticMeta) { camera_metadata_ro_entry syncLatencyEntry; int rc = find_camera_metadata_ro_entry(staticMeta, ANDROID_SYNC_MAX_LATENCY, Loading
camera/provider/aidl/vts/camera_aidl_test.h +2 −1 Original line number Diff line number Diff line Loading @@ -439,7 +439,8 @@ class CameraAidlTest : public ::testing::TestWithParam<std::string> { int32_t frameCount, const bool *overrideSequence, const bool *expectedResults); bool supportZoomSettingsOverride(const camera_metadata_t* staticMeta); bool supportsCroppedRawUseCase(const camera_metadata_t *staticMeta); static bool supportsStreamUseCaseCap(const camera_metadata_t* staticMeta); static bool supportsCroppedRawUseCase(const camera_metadata_t* staticMeta); bool isPerFrameControl(const camera_metadata_t* staticMeta); void getSupportedSizes(const camera_metadata_t* ch, uint32_t tag, int32_t format, Loading