From 2c3d92f0a2fd584d506c011e44d1f14651fc2459 Mon Sep 17 00:00:00 2001 From: Hyunsoo Park Date: Tue, 14 Jun 2022 16:17:48 +0900 Subject: [PATCH] mv_roi_tracker: Adds feature check [Issue type] feature check Feature key patch is below. https://review.tizen.org/gerrit/#/c/platform/adaptation/unified-model-config/+/276303/ Change-Id: I736837b097d021f77a3dde6e5995ea9bd137f3c2 Signed-off-by: Hyunsoo Park --- include/mv_private.h | 2 +- mv_common/src/mv_private.c | 25 ++++++++++++++++++++++++- mv_roi_tracker/roi_tracker/src/mv_roi_tracker.c | 10 +++++----- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/include/mv_private.h b/include/mv_private.h index aace8f0..3a2c329 100644 --- a/include/mv_private.h +++ b/include/mv_private.h @@ -77,7 +77,7 @@ bool __mv_image_check_system_info_feature_supported(); bool __mv_inference_check_system_info_feature_supported(); bool __mv_inference_image_check_system_info_feature_supported(); bool __mv_inference_face_check_system_info_feature_supported(); - +bool _mv_roi_tracking_check_system_info_feature_supported(); #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/mv_common/src/mv_private.c b/mv_common/src/mv_private.c index 29ab406..707ec4e 100644 --- a/mv_common/src/mv_private.c +++ b/mv_common/src/mv_private.c @@ -15,9 +15,22 @@ */ #include - +#include #include "mv_private.h" +#define VISION_FEATURE_ROI_TRACKING "http://tizen.org/feature/vision.roi_tracking" + +static gpointer __get_system_info_feature_once(gpointer data) +{ + bool supported = false; + gchar *feature = (gchar *)data; + + if (system_info_get_platform_bool(feature, &supported) != SYSTEM_INFO_ERROR_NONE) + LOGE("SYSTEM_INFO_ERROR: %s", feature); + + return (gpointer)supported; +} + bool __mv_check_system_info_feature_supported() { bool isBarcodeDetectionSupported = false; @@ -259,3 +272,13 @@ bool __mv_inference_face_check_system_info_feature_supported() return isInferenceFaceSupported; } + +bool __mv_roi_tracking_check_system_info_feature_supported() +{ + static GOnce once = G_ONCE_INIT; + bool supported = (bool)g_once(&once, __get_system_info_feature_once, VISION_FEATURE_ROI_TRACKING); + + LOGI("Feature[%s] : %d", VISION_FEATURE_ROI_TRACKING, supported); + + return supported; +} \ No newline at end of file diff --git a/mv_roi_tracker/roi_tracker/src/mv_roi_tracker.c b/mv_roi_tracker/roi_tracker/src/mv_roi_tracker.c index e0413c6..0eff2b9 100644 --- a/mv_roi_tracker/roi_tracker/src/mv_roi_tracker.c +++ b/mv_roi_tracker/roi_tracker/src/mv_roi_tracker.c @@ -21,7 +21,7 @@ int mv_roi_tracker_create(mv_roi_tracker_h *handle) { MEDIA_VISION_SUPPORT_CHECK( - __mv_inference_face_check_system_info_feature_supported()); + __mv_roi_tracking_check_system_info_feature_supported()); MEDIA_VISION_NULL_ARG_CHECK(handle); @@ -37,7 +37,7 @@ int mv_roi_tracker_create(mv_roi_tracker_h *handle) int mv_roi_tracker_destroy(mv_roi_tracker_h handle) { MEDIA_VISION_SUPPORT_CHECK( - __mv_inference_face_check_system_info_feature_supported()); + __mv_roi_tracking_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(handle); @@ -53,7 +53,7 @@ int mv_roi_tracker_destroy(mv_roi_tracker_h handle) int mv_roi_tracker_set_coordinate(mv_roi_tracker_h handle, int x, int y, int width, int height) { MEDIA_VISION_SUPPORT_CHECK( - __mv_inference_face_check_system_info_feature_supported()); + __mv_roi_tracking_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(handle); @@ -69,7 +69,7 @@ int mv_roi_tracker_set_coordinate(mv_roi_tracker_h handle, int x, int y, int wid int mv_roi_tracker_set_tracker_type(mv_roi_tracker_h handle, mv_roi_tracker_type_e type) { MEDIA_VISION_SUPPORT_CHECK( - __mv_inference_face_check_system_info_feature_supported()); + __mv_roi_tracking_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(handle); @@ -86,7 +86,7 @@ int mv_roi_tracker_perform(mv_roi_tracker_h handle, mv_source_h source, mv_roi_tracker_result_s *result) { MEDIA_VISION_SUPPORT_CHECK( - __mv_inference_face_check_system_info_feature_supported()); + __mv_roi_tracking_check_system_info_feature_supported()); MEDIA_VISION_INSTANCE_CHECK(handle); MEDIA_VISION_INSTANCE_CHECK(source); -- 2.7.4