From 74436d78c4f228cc7bc05de6e583a5bf65003406 Mon Sep 17 00:00:00 2001 From: Tae-Young Chung Date: Tue, 27 Sep 2022 17:14:38 +0900 Subject: [PATCH] Check new vision.3d features [Version] : 0.23.29-0 [Issue type] : update According to ACR-1720, new features, vision.3d, vision.3d.depth, vision.3d.pointcloud, are added. Change-Id: I02ff894588cd20ff11039a80cf9fcd91cada602f Signed-off-by: Tae-Young Chung --- include/mv_private.h | 4 +++ mv_3d/3d/src/mv_3d.c | 12 +++++++++ mv_common/src/mv_private.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) diff --git a/include/mv_private.h b/include/mv_private.h index 49eb3aa..94c5a7b 100644 --- a/include/mv_private.h +++ b/include/mv_private.h @@ -69,6 +69,10 @@ bool _mv_inference_check_system_info_feature_supported(void); bool _mv_inference_image_check_system_info_feature_supported(void); bool _mv_inference_face_check_system_info_feature_supported(void); bool _mv_roi_tracking_check_system_info_feature_supported(void); +bool _mv_3d_all_check_system_info_feature_supported(void); +bool _mv_3d_check_system_info_feature_supported(void); +bool _mv_3d_depth_check_system_info_feature_supported(void); +bool _mv_3d_pointcloud_check_system_info_feature_supported(void); #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/mv_3d/3d/src/mv_3d.c b/mv_3d/3d/src/mv_3d.c index c640e13..27ea242 100644 --- a/mv_3d/3d/src/mv_3d.c +++ b/mv_3d/3d/src/mv_3d.c @@ -26,6 +26,7 @@ int mv_3d_create(mv_3d_h *mv3d) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_all_check_system_info_feature_supported()); MEDIA_VISION_NULL_ARG_CHECK(mv3d); MEDIA_VISION_FUNCTION_ENTER(); @@ -39,6 +40,7 @@ int mv_3d_create(mv_3d_h *mv3d) int mv_3d_destroy(mv_3d_h mv3d) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_all_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_FUNCTION_ENTER(); @@ -53,6 +55,7 @@ int mv_3d_destroy(mv_3d_h mv3d) int mv_3d_configure(mv_3d_h mv3d, mv_engine_config_h engine_config) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_all_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_INSTANCE_CHECK(engine_config); @@ -69,6 +72,8 @@ int mv_3d_set_depth_cb(mv_3d_h mv3d, mv_3d_depth_cb depth_cb, void *user_data) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_depth_check_system_info_feature_supported() || + _mv_3d_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_NULL_ARG_CHECK(depth_cb); @@ -86,6 +91,8 @@ int mv_3d_set_pointcloud_cb(mv_3d_h mv3d, mv_3d_pointcloud_cb pointcloud_cb, void *user_data) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_pointcloud_check_system_info_feature_supported() || + _mv_3d_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_NULL_ARG_CHECK(pointcloud_cb); @@ -101,6 +108,7 @@ int mv_3d_set_pointcloud_cb(mv_3d_h mv3d, int mv_3d_prepare(mv_3d_h mv3d) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_all_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_FUNCTION_ENTER(); @@ -117,6 +125,7 @@ int mv_3d_run(mv_3d_h mv3d, mv_source_h source_extra, mv_source_h color) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_all_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_INSTANCE_CHECK(source); @@ -136,6 +145,7 @@ int mv_3d_run_async(mv_3d_h mv3d, mv_source_h source_extra, mv_source_h color) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_all_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_INSTANCE_CHECK(source); @@ -155,6 +165,8 @@ int mv_3d_pointcloud_write_file(mv_3d_h mv3d, mv_3d_pointcloud_type_e type, char *filename) { + MEDIA_VISION_SUPPORT_CHECK(_mv_3d_pointcloud_check_system_info_feature_supported() || + _mv_3d_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(mv3d); MEDIA_VISION_INSTANCE_CHECK(pointcloud); diff --git a/mv_common/src/mv_private.c b/mv_common/src/mv_private.c index 84be33a..f6dc75a 100644 --- a/mv_common/src/mv_private.c +++ b/mv_common/src/mv_private.c @@ -259,3 +259,70 @@ bool _mv_roi_tracking_check_system_info_feature_supported(void) return supported; } + +bool _mv_3d_all_check_system_info_feature_supported(void) +{ + return _mv_3d_check_system_info_feature_supported() || + _mv_3d_depth_check_system_info_feature_supported() || + _mv_3d_pointcloud_check_system_info_feature_supported(); +} + +bool _mv_3d_check_system_info_feature_supported(void) +{ + bool is3dSupported = false; + + const int nRetVal1 = system_info_get_platform_bool("http://tizen.org/feature/vision.3d", + &is3dSupported); + + if (nRetVal1 != SYSTEM_INFO_ERROR_NONE) { + LOGE("SYSTEM_INFO_ERROR: vision.3d"); + return false; + } + + is3dSupported ? LOGI("system_info_get_platform_bool returned " + "Supported 3d feature capability\n") : + LOGE("system_info_get_platform_bool returned " + "Unsupported 3d feature capability\n"); + + return is3dSupported; +} + +bool _mv_3d_depth_check_system_info_feature_supported(void) +{ + bool is3dDepthSupported = false; + + const int nRetVal1 = system_info_get_platform_bool("http://tizen.org/feature/vision.3d.depth", + &is3dDepthSupported); + + if (nRetVal1 != SYSTEM_INFO_ERROR_NONE) { + LOGE("SYSTEM_INFO_ERROR: vision.3d.depth"); + return false; + } + + is3dDepthSupported ? LOGI("system_info_get_platform_bool returned " + "Supported 3d depth feature capability\n") : + LOGE("system_info_get_platform_bool returned " + "Unsupported 3d depth feature capability\n"); + + return is3dDepthSupported; +} + +bool _mv_3d_pointcloud_check_system_info_feature_supported(void) +{ + bool is3dPointCloudSupported = false; + + const int nRetVal1 = system_info_get_platform_bool("http://tizen.org/feature/vision.3d.pointcloud", + &is3dPointCloudSupported); + + if (nRetVal1 != SYSTEM_INFO_ERROR_NONE) { + LOGE("SYSTEM_INFO_ERROR: vision.3d.pointcloud"); + return false; + } + + is3dPointCloudSupported ? LOGI("system_info_get_platform_bool returned " + "Supported 3d pointcloud feature capability\n") : + LOGE("system_info_get_platform_bool returned " + "Unsupported 3d pointcloud feature capability\n"); + + return is3dPointCloudSupported; +} \ No newline at end of file -- 2.7.4