diff options
Diffstat (limited to 'automotive/evs/aidl/vts')
-rw-r--r-- | automotive/evs/aidl/vts/VtsHalEvsTargetTest.cpp | 91 |
1 files changed, 44 insertions, 47 deletions
diff --git a/automotive/evs/aidl/vts/VtsHalEvsTargetTest.cpp b/automotive/evs/aidl/vts/VtsHalEvsTargetTest.cpp index 9c6c573174..3cab204aec 100644 --- a/automotive/evs/aidl/vts/VtsHalEvsTargetTest.cpp +++ b/automotive/evs/aidl/vts/VtsHalEvsTargetTest.cpp @@ -231,8 +231,7 @@ class EvsAidlTest : public ::testing::TestWithParam<std::string> { // Stream configurations are found in metadata RawStreamConfig* ptr = reinterpret_cast<RawStreamConfig*>(streamCfgs.data.i32); for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) { - if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT && - ptr->format == HAL_PIXEL_FORMAT_RGBA_8888) { + if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT) { targetCfg.width = ptr->width; targetCfg.height = ptr->height; targetCfg.format = static_cast<PixelFormat>(ptr->format); @@ -601,21 +600,21 @@ TEST_P(EvsAidlTest, CameraToDisplayRoundTrip) { EXPECT_GT(displayIds.size(), 0); targetDisplayId = displayIds[0]; - // Request exclusive access to the first EVS display - std::shared_ptr<IEvsDisplay> pDisplay; - ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk()); - EXPECT_NE(pDisplay, nullptr); - LOG(INFO) << "Display " << static_cast<int>(targetDisplayId) << " is in use."; - - // Get the display descriptor - DisplayDesc displayDesc; - ASSERT_TRUE(pDisplay->getDisplayInfo(&displayDesc).isOk()); - LOG(INFO) << " Resolution: " << displayDesc.width << "x" << displayDesc.height; - ASSERT_GT(displayDesc.width, 0); - ASSERT_GT(displayDesc.height, 0); - // Test each reported camera for (auto&& cam : mCameraInfo) { + // Request exclusive access to the first EVS display + std::shared_ptr<IEvsDisplay> pDisplay; + ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk()); + EXPECT_NE(pDisplay, nullptr); + LOG(INFO) << "Display " << static_cast<int>(targetDisplayId) << " is in use."; + + // Get the display descriptor + DisplayDesc displayDesc; + ASSERT_TRUE(pDisplay->getDisplayInfo(&displayDesc).isOk()); + LOG(INFO) << " Resolution: " << displayDesc.width << "x" << displayDesc.height; + ASSERT_GT(displayDesc.width, 0); + ASSERT_GT(displayDesc.height, 0); + bool isLogicalCam = false; getPhysicalCameraIds(cam.id, isLogicalCam); if (mIsHwModule && isLogicalCam) { @@ -669,10 +668,10 @@ TEST_P(EvsAidlTest, CameraToDisplayRoundTrip) { // Explicitly release the camera ASSERT_TRUE(mEnumerator->closeCamera(pCam).isOk()); mActiveCameras.clear(); - } - // Explicitly release the display - ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk()); + // Explicitly release the display + ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk()); + } } /* @@ -1396,20 +1395,20 @@ TEST_P(EvsAidlTest, HighPriorityCameraClient) { // Get the camera list loadCameraList(); - // Request available display IDs - uint8_t targetDisplayId = 0; - std::vector<uint8_t> displayIds; - ASSERT_TRUE(mEnumerator->getDisplayIdList(&displayIds).isOk()); - EXPECT_GT(displayIds.size(), 0); - targetDisplayId = displayIds[0]; - - // Request exclusive access to the EVS display - std::shared_ptr<IEvsDisplay> pDisplay; - ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk()); - EXPECT_NE(pDisplay, nullptr); - // Test each reported camera for (auto&& cam : mCameraInfo) { + // Request available display IDs + uint8_t targetDisplayId = 0; + std::vector<uint8_t> displayIds; + ASSERT_TRUE(mEnumerator->getDisplayIdList(&displayIds).isOk()); + EXPECT_GT(displayIds.size(), 0); + targetDisplayId = displayIds[0]; + + // Request exclusive access to the EVS display + std::shared_ptr<IEvsDisplay> pDisplay; + ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk()); + EXPECT_NE(pDisplay, nullptr); + // Read a target resolution from the metadata Stream targetCfg = getFirstStreamConfiguration( reinterpret_cast<camera_metadata_t*>(cam.metadata.data())); @@ -1688,10 +1687,10 @@ TEST_P(EvsAidlTest, HighPriorityCameraClient) { ASSERT_TRUE(mEnumerator->closeCamera(pCam0).isOk()); ASSERT_TRUE(mEnumerator->closeCamera(pCam1).isOk()); mActiveCameras.clear(); - } - // Explicitly release the display - ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk()); + // Explicitly release the display + ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk()); + } } /* @@ -1713,13 +1712,13 @@ TEST_P(EvsAidlTest, CameraUseStreamConfigToDisplay) { EXPECT_GT(displayIds.size(), 0); targetDisplayId = displayIds[0]; - // Request exclusive access to the EVS display - std::shared_ptr<IEvsDisplay> pDisplay; - ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk()); - EXPECT_NE(pDisplay, nullptr); - // Test each reported camera for (auto&& cam : mCameraInfo) { + // Request exclusive access to the EVS display + std::shared_ptr<IEvsDisplay> pDisplay; + ASSERT_TRUE(mEnumerator->openDisplay(targetDisplayId, &pDisplay).isOk()); + EXPECT_NE(pDisplay, nullptr); + // choose a configuration that has a frame rate faster than minReqFps. Stream targetCfg = {}; const int32_t minReqFps = 15; @@ -1732,11 +1731,11 @@ TEST_P(EvsAidlTest, CameraUseStreamConfigToDisplay) { // Stream configurations are found in metadata RawStreamConfig* ptr = reinterpret_cast<RawStreamConfig*>(streamCfgs.data.i32); for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) { - if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT && - ptr->format == HAL_PIXEL_FORMAT_RGBA_8888) { + if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT) { if (ptr->width * ptr->height > maxArea && ptr->framerate >= minReqFps) { targetCfg.width = ptr->width; targetCfg.height = ptr->height; + targetCfg.format = static_cast<PixelFormat>(ptr->format); maxArea = ptr->width * ptr->height; foundCfg = true; @@ -1745,7 +1744,6 @@ TEST_P(EvsAidlTest, CameraUseStreamConfigToDisplay) { ++ptr; } } - targetCfg.format = static_cast<PixelFormat>(HAL_PIXEL_FORMAT_RGBA_8888); if (!foundCfg) { // Current EVS camera does not provide stream configurations in the @@ -1793,10 +1791,10 @@ TEST_P(EvsAidlTest, CameraUseStreamConfigToDisplay) { // Explicitly release the camera ASSERT_TRUE(mEnumerator->closeCamera(pCam).isOk()); mActiveCameras.clear(); - } - // Explicitly release the display - ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk()); + // Explicitly release the display + ASSERT_TRUE(mEnumerator->closeDisplay(pDisplay).isOk()); + } } /* @@ -1829,11 +1827,11 @@ TEST_P(EvsAidlTest, MultiCameraStreamUseConfig) { // Stream configurations are found in metadata RawStreamConfig* ptr = reinterpret_cast<RawStreamConfig*>(streamCfgs.data.i32); for (unsigned offset = 0; offset < streamCfgs.count; offset += kStreamCfgSz) { - if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT && - ptr->format == HAL_PIXEL_FORMAT_RGBA_8888) { + if (ptr->direction == ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT) { if (ptr->width * ptr->height > maxArea && ptr->framerate >= minReqFps) { targetCfg.width = ptr->width; targetCfg.height = ptr->height; + targetCfg.format = static_cast<PixelFormat>(ptr->format); maxArea = ptr->width * ptr->height; foundCfg = true; @@ -1842,7 +1840,6 @@ TEST_P(EvsAidlTest, MultiCameraStreamUseConfig) { ++ptr; } } - targetCfg.format = static_cast<PixelFormat>(HAL_PIXEL_FORMAT_RGBA_8888); if (!foundCfg) { LOG(INFO) << "Device " << cam.id |