Loading camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +28 −0 Original line number Original line Diff line number Diff line Loading @@ -882,6 +882,7 @@ public: camera_metadata* oldSessionParams, camera_metadata* newSessionParams); camera_metadata* oldSessionParams, camera_metadata* newSessionParams); void verifyRequestTemplate(const camera_metadata_t* metadata, RequestTemplate requestTemplate); void verifyRequestTemplate(const camera_metadata_t* metadata, RequestTemplate requestTemplate); static void overrideRotateAndCrop(::android::hardware::hidl_vec<uint8_t> *settings /*in/out*/); static bool isDepthOnly(const camera_metadata_t* staticMeta); static bool isDepthOnly(const camera_metadata_t* staticMeta); Loading Loading @@ -4660,6 +4661,7 @@ void CameraHidlTest::processCaptureRequestInternal(uint64_t bufferUsage, settings = req; settings = req; }); }); ASSERT_TRUE(ret.isOk()); ASSERT_TRUE(ret.isOk()); overrideRotateAndCrop(&settings); hidl_handle buffer_handle; hidl_handle buffer_handle; StreamBuffer outputBuffer; StreamBuffer outputBuffer; Loading Loading @@ -4836,6 +4838,7 @@ TEST_P(CameraHidlTest, processMultiCaptureRequestPreview) { settings.setToExternal( settings.setToExternal( reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> (settingsBuffer)), reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> (settingsBuffer)), get_camera_metadata_size(settingsBuffer)); get_camera_metadata_size(settingsBuffer)); overrideRotateAndCrop(&settings); free_camera_metadata(staticMeta); free_camera_metadata(staticMeta); ret = session->close(); ret = session->close(); Loading Loading @@ -4913,6 +4916,7 @@ TEST_P(CameraHidlTest, processMultiCaptureRequestPreview) { reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> ( reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> ( filteredSettingsBuffer)), filteredSettingsBuffer)), get_camera_metadata_size(filteredSettingsBuffer)); get_camera_metadata_size(filteredSettingsBuffer)); overrideRotateAndCrop(&camSettings[0].settings); camSettings[0].fmqSettingsSize = 0; camSettings[0].fmqSettingsSize = 0; camSettings[0].physicalCameraId = physicalDeviceId; camSettings[0].physicalCameraId = physicalDeviceId; Loading Loading @@ -5070,6 +5074,7 @@ TEST_P(CameraHidlTest, processUltraHighResolutionRequest) { settings.setToExternal( settings.setToExternal( reinterpret_cast<uint8_t*>(const_cast<camera_metadata_t*>(settingsBuffer)), reinterpret_cast<uint8_t*>(const_cast<camera_metadata_t*>(settingsBuffer)), get_camera_metadata_size(settingsBuffer)); get_camera_metadata_size(settingsBuffer)); overrideRotateAndCrop(&settings); free_camera_metadata(staticMeta); free_camera_metadata(staticMeta); ret = session->close(); ret = session->close(); Loading Loading @@ -5305,6 +5310,7 @@ TEST_P(CameraHidlTest, processCaptureRequestBurstISO) { camera_metadata_t *metaBuffer = requestMeta.release(); camera_metadata_t *metaBuffer = requestMeta.release(); requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), get_camera_metadata_size(metaBuffer), true); get_camera_metadata_size(metaBuffer), true); overrideRotateAndCrop(&requestSettings[i]); requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], emptyInputBuffer, {outputBuffers[i]}}; emptyInputBuffer, {outputBuffers[i]}}; Loading Loading @@ -5531,6 +5537,7 @@ TEST_P(CameraHidlTest, switchToOffline) { camera_metadata_t *metaBuffer = requestMeta.release(); camera_metadata_t *metaBuffer = requestMeta.release(); requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), get_camera_metadata_size(metaBuffer), true); get_camera_metadata_size(metaBuffer), true); overrideRotateAndCrop(&requestSettings[i]); requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], emptyInputBuffer, {outputBuffers[i]}}; emptyInputBuffer, {outputBuffers[i]}}; Loading Loading @@ -5671,6 +5678,7 @@ TEST_P(CameraHidlTest, processCaptureRequestInvalidBuffer) { settings = req; settings = req; }); }); ASSERT_TRUE(ret.isOk()); ASSERT_TRUE(ret.isOk()); overrideRotateAndCrop(&settings); ::android::hardware::hidl_vec<StreamBuffer> emptyOutputBuffers; ::android::hardware::hidl_vec<StreamBuffer> emptyOutputBuffers; StreamBuffer emptyInputBuffer = {-1, 0, nullptr, BufferStatus::ERROR, nullptr, StreamBuffer emptyInputBuffer = {-1, 0, nullptr, BufferStatus::ERROR, nullptr, Loading Loading @@ -5755,6 +5763,7 @@ TEST_P(CameraHidlTest, flushPreviewRequest) { settings = req; settings = req; }); }); ASSERT_TRUE(ret.isOk()); ASSERT_TRUE(ret.isOk()); overrideRotateAndCrop(&settings); hidl_handle buffer_handle; hidl_handle buffer_handle; if (useHalBufManager) { if (useHalBufManager) { Loading Loading @@ -8909,6 +8918,25 @@ void CameraHidlTest::verifyRequestTemplate(const camera_metadata_t* metadata, } } } } void CameraHidlTest::overrideRotateAndCrop( ::android::hardware::hidl_vec<uint8_t> *settings /*in/out*/) { if (settings == nullptr) { return; } ::android::hardware::camera::common::V1_0::helper::CameraMetadata requestMeta; requestMeta.append(reinterpret_cast<camera_metadata_t *> (settings->data())); auto entry = requestMeta.find(ANDROID_SCALER_ROTATE_AND_CROP); if ((entry.count > 0) && (entry.data.u8[0] == ANDROID_SCALER_ROTATE_AND_CROP_AUTO)) { uint8_t disableRotateAndCrop = ANDROID_SCALER_ROTATE_AND_CROP_NONE; requestMeta.update(ANDROID_SCALER_ROTATE_AND_CROP, &disableRotateAndCrop, 1); settings->releaseData(); camera_metadata_t *metaBuffer = requestMeta.release(); settings->setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), get_camera_metadata_size(metaBuffer), true); } } GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(CameraHidlTest); GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(CameraHidlTest); INSTANTIATE_TEST_SUITE_P( INSTANTIATE_TEST_SUITE_P( PerInstance, CameraHidlTest, PerInstance, CameraHidlTest, Loading Loading
camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +28 −0 Original line number Original line Diff line number Diff line Loading @@ -882,6 +882,7 @@ public: camera_metadata* oldSessionParams, camera_metadata* newSessionParams); camera_metadata* oldSessionParams, camera_metadata* newSessionParams); void verifyRequestTemplate(const camera_metadata_t* metadata, RequestTemplate requestTemplate); void verifyRequestTemplate(const camera_metadata_t* metadata, RequestTemplate requestTemplate); static void overrideRotateAndCrop(::android::hardware::hidl_vec<uint8_t> *settings /*in/out*/); static bool isDepthOnly(const camera_metadata_t* staticMeta); static bool isDepthOnly(const camera_metadata_t* staticMeta); Loading Loading @@ -4660,6 +4661,7 @@ void CameraHidlTest::processCaptureRequestInternal(uint64_t bufferUsage, settings = req; settings = req; }); }); ASSERT_TRUE(ret.isOk()); ASSERT_TRUE(ret.isOk()); overrideRotateAndCrop(&settings); hidl_handle buffer_handle; hidl_handle buffer_handle; StreamBuffer outputBuffer; StreamBuffer outputBuffer; Loading Loading @@ -4836,6 +4838,7 @@ TEST_P(CameraHidlTest, processMultiCaptureRequestPreview) { settings.setToExternal( settings.setToExternal( reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> (settingsBuffer)), reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> (settingsBuffer)), get_camera_metadata_size(settingsBuffer)); get_camera_metadata_size(settingsBuffer)); overrideRotateAndCrop(&settings); free_camera_metadata(staticMeta); free_camera_metadata(staticMeta); ret = session->close(); ret = session->close(); Loading Loading @@ -4913,6 +4916,7 @@ TEST_P(CameraHidlTest, processMultiCaptureRequestPreview) { reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> ( reinterpret_cast<uint8_t *> (const_cast<camera_metadata_t *> ( filteredSettingsBuffer)), filteredSettingsBuffer)), get_camera_metadata_size(filteredSettingsBuffer)); get_camera_metadata_size(filteredSettingsBuffer)); overrideRotateAndCrop(&camSettings[0].settings); camSettings[0].fmqSettingsSize = 0; camSettings[0].fmqSettingsSize = 0; camSettings[0].physicalCameraId = physicalDeviceId; camSettings[0].physicalCameraId = physicalDeviceId; Loading Loading @@ -5070,6 +5074,7 @@ TEST_P(CameraHidlTest, processUltraHighResolutionRequest) { settings.setToExternal( settings.setToExternal( reinterpret_cast<uint8_t*>(const_cast<camera_metadata_t*>(settingsBuffer)), reinterpret_cast<uint8_t*>(const_cast<camera_metadata_t*>(settingsBuffer)), get_camera_metadata_size(settingsBuffer)); get_camera_metadata_size(settingsBuffer)); overrideRotateAndCrop(&settings); free_camera_metadata(staticMeta); free_camera_metadata(staticMeta); ret = session->close(); ret = session->close(); Loading Loading @@ -5305,6 +5310,7 @@ TEST_P(CameraHidlTest, processCaptureRequestBurstISO) { camera_metadata_t *metaBuffer = requestMeta.release(); camera_metadata_t *metaBuffer = requestMeta.release(); requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), get_camera_metadata_size(metaBuffer), true); get_camera_metadata_size(metaBuffer), true); overrideRotateAndCrop(&requestSettings[i]); requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], emptyInputBuffer, {outputBuffers[i]}}; emptyInputBuffer, {outputBuffers[i]}}; Loading Loading @@ -5531,6 +5537,7 @@ TEST_P(CameraHidlTest, switchToOffline) { camera_metadata_t *metaBuffer = requestMeta.release(); camera_metadata_t *metaBuffer = requestMeta.release(); requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), requestSettings[i].setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), get_camera_metadata_size(metaBuffer), true); get_camera_metadata_size(metaBuffer), true); overrideRotateAndCrop(&requestSettings[i]); requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], requests[i] = {frameNumber + i, 0 /* fmqSettingsSize */, requestSettings[i], emptyInputBuffer, {outputBuffers[i]}}; emptyInputBuffer, {outputBuffers[i]}}; Loading Loading @@ -5671,6 +5678,7 @@ TEST_P(CameraHidlTest, processCaptureRequestInvalidBuffer) { settings = req; settings = req; }); }); ASSERT_TRUE(ret.isOk()); ASSERT_TRUE(ret.isOk()); overrideRotateAndCrop(&settings); ::android::hardware::hidl_vec<StreamBuffer> emptyOutputBuffers; ::android::hardware::hidl_vec<StreamBuffer> emptyOutputBuffers; StreamBuffer emptyInputBuffer = {-1, 0, nullptr, BufferStatus::ERROR, nullptr, StreamBuffer emptyInputBuffer = {-1, 0, nullptr, BufferStatus::ERROR, nullptr, Loading Loading @@ -5755,6 +5763,7 @@ TEST_P(CameraHidlTest, flushPreviewRequest) { settings = req; settings = req; }); }); ASSERT_TRUE(ret.isOk()); ASSERT_TRUE(ret.isOk()); overrideRotateAndCrop(&settings); hidl_handle buffer_handle; hidl_handle buffer_handle; if (useHalBufManager) { if (useHalBufManager) { Loading Loading @@ -8909,6 +8918,25 @@ void CameraHidlTest::verifyRequestTemplate(const camera_metadata_t* metadata, } } } } void CameraHidlTest::overrideRotateAndCrop( ::android::hardware::hidl_vec<uint8_t> *settings /*in/out*/) { if (settings == nullptr) { return; } ::android::hardware::camera::common::V1_0::helper::CameraMetadata requestMeta; requestMeta.append(reinterpret_cast<camera_metadata_t *> (settings->data())); auto entry = requestMeta.find(ANDROID_SCALER_ROTATE_AND_CROP); if ((entry.count > 0) && (entry.data.u8[0] == ANDROID_SCALER_ROTATE_AND_CROP_AUTO)) { uint8_t disableRotateAndCrop = ANDROID_SCALER_ROTATE_AND_CROP_NONE; requestMeta.update(ANDROID_SCALER_ROTATE_AND_CROP, &disableRotateAndCrop, 1); settings->releaseData(); camera_metadata_t *metaBuffer = requestMeta.release(); settings->setToExternal(reinterpret_cast<uint8_t *> (metaBuffer), get_camera_metadata_size(metaBuffer), true); } } GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(CameraHidlTest); GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(CameraHidlTest); INSTANTIATE_TEST_SUITE_P( INSTANTIATE_TEST_SUITE_P( PerInstance, CameraHidlTest, PerInstance, CameraHidlTest, Loading