Check new vision.3d features 39/282139/2
authorTae-Young Chung <ty83.chung@samsung.com>
Tue, 27 Sep 2022 08:14:38 +0000 (17:14 +0900)
committerTae-Young Chung <ty83.chung@samsung.com>
Tue, 27 Sep 2022 08:42:20 +0000 (08:42 +0000)
[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 <ty83.chung@samsung.com>
include/mv_private.h
mv_3d/3d/src/mv_3d.c
mv_common/src/mv_private.c

index 49eb3aa5ed8d248fd7ec4ca86c645524e3551856..94c5a7bae13a1eb418e35e402c3df52c2030b4a7 100644 (file)
@@ -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 */
index c640e13f28aca3e2f56fc3563656082d4baf4388..27ea242442cf4fc50a4ca754a0ae3e7c12200343 100644 (file)
@@ -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);
 
index 84be33acda74cd717c1bcf14eb10c715a191522c..f6dc75ac467948210cb29869ce7a39bfc0014196 100644 (file)
@@ -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