From: hj kim Date: Thu, 16 Nov 2017 01:01:36 +0000 (+0900) Subject: Remove dcm_face_item_s struct X-Git-Tag: submit/tizen/20171120.082013~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9500f90f9f7c22c866f2555f3c0e9c92567ab0fb;p=platform%2Fcore%2Fmultimedia%2Fdcm-service.git Remove dcm_face_item_s struct Change-Id: I4125bff3f231738bf646c7d62dd1822e2fbac19c --- diff --git a/include/dcm_svc_db.h b/include/dcm_svc_db.h index aa86a19..36ba225 100755 --- a/include/dcm_svc_db.h +++ b/include/dcm_svc_db.h @@ -33,18 +33,8 @@ #define SELECT_MEDIA_INFO_BY_FILE_PATH_FROM_DB "SELECT media_uuid, width, height, orientation, mime_type, modified_time FROM "DB_TABLE_MEDIA" WHERE path = '%q';" #define SELECT_SCAN_INFO_BY_MEDIA_ID "SELECT modified_time FROM "DB_TABLE_FACE_SCAN_LIST" WHERE media_uuid = '%q';" - #define INSERT_FACE_ITEM_TO_DB "INSERT OR IGNORE INTO " DB_TABLE_FACE" (" FACE_ITEM") VALUES ('%q', %d, %d, %d, %d, %d);" -typedef struct { - char *media_uuid; - unsigned int face_rect_x; - unsigned int face_rect_y; - unsigned int face_rect_w; - unsigned int face_rect_h; - int orientation; -} dcm_face_item_s; - typedef struct { char *media_uuid; unsigned char rgb_r; @@ -63,7 +53,7 @@ typedef enum { int dcm_svc_db_connect(uid_t uid); int dcm_svc_db_disconnect(); int dcm_svc_db_get_scan_image_info_by_path(const char *file_path, dcm_svc_item_s **scan_item); -int dcm_svc_db_insert_face_to_db(dcm_face_item_s *face); +int dcm_svc_db_insert_face_to_db(const char *media_uuid, unsigned int x, unsigned int y, unsigned int w, unsigned int h, int orientation); int dcm_svc_db_update_color_to_db(const dcm_color_item_s color); int dcm_svc_db_insert_face_to_face_scan_list(dcm_svc_item_s *scan_item); int dcm_svc_db_delete_face_from_db(const char *media_uuid); diff --git a/src/dcm_svc_db.c b/src/dcm_svc_db.c index d5ab0ea..5d6bb4d 100755 --- a/src/dcm_svc_db.c +++ b/src/dcm_svc_db.c @@ -149,7 +149,7 @@ int dcm_svc_db_get_scan_image_info_by_path(const char *file_path, dcm_svc_item_s return ret; } -int dcm_svc_db_insert_face_to_db(dcm_face_item_s *face) +int dcm_svc_db_insert_face_to_db(const char *media_uuid, unsigned int x, unsigned int y, unsigned int w, unsigned int h, int orientation) { int ret = MS_MEDIA_ERR_NONE; char* query_string = NULL; @@ -157,9 +157,9 @@ int dcm_svc_db_insert_face_to_db(dcm_face_item_s *face) dcm_debug_fenter(); dcm_retvm_if(db_handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid db_handle"); - dcm_retvm_if(face == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid face"); + dcm_retvm_if(media_uuid == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid media_uuid"); - query_string = sqlite3_mprintf(INSERT_FACE_ITEM_TO_DB, face->media_uuid, face->face_rect_x, face->face_rect_y, face->face_rect_w, face->face_rect_h, face->orientation); + query_string = sqlite3_mprintf(INSERT_FACE_ITEM_TO_DB, media_uuid, x, y, w, h, orientation); dcm_debug("query[%s]", query_string); g_mutex_trylock(&gMutexLock); diff --git a/src/dcm_svc_detect_face.c b/src/dcm_svc_detect_face.c index 17ad2c8..b6b1091 100755 --- a/src/dcm_svc_detect_face.c +++ b/src/dcm_svc_detect_face.c @@ -47,32 +47,6 @@ static double __calculate_scale_factor(dcm_image_info_s *image_info) return scale_factor; } -static int __create_face_item(dcm_face_item_s **face) -{ - DCM_CHECK_VAL(face, MS_MEDIA_ERR_INVALID_PARAMETER); - - *face = NULL; - - dcm_face_item_s *_face = (dcm_face_item_s*)g_malloc0(sizeof(dcm_face_item_s)); - if (_face == NULL) - return MS_MEDIA_ERR_OUT_OF_MEMORY; - - *face = _face; - - return MS_MEDIA_ERR_NONE; -} - -static void __destroy_face_item(void *data) -{ - dcm_face_item_s *_face = (dcm_face_item_s *)data; - DCM_CHECK(_face); - - DCM_SAFE_FREE(_face->media_uuid); - DCM_SAFE_FREE(_face); - - return; -} - int dcm_face_detect_initialize() { int ret = MS_MEDIA_ERR_NONE; @@ -105,13 +79,17 @@ int dcm_face_detect_finalize() int dcm_face_detect_process(dcm_svc_item_s *scan_item, dcm_face_scan_status_e scan_status, dcm_image_info_s *image_info) { - dcm_face_item_s *face = NULL; int face_area = 0; int i = 0; double scale_factor = 0.0; int err = MS_MEDIA_ERR_NONE; int ret = MS_MEDIA_ERR_NONE; face_info_s *face_info = NULL; + unsigned int face_rect_x = 0; + unsigned int face_rect_y = 0; + unsigned int face_rect_w = 0; + unsigned int face_rect_h = 0; + int face_orientation = 0; dcm_debug_fenter(); @@ -154,43 +132,30 @@ int dcm_face_detect_process(dcm_svc_item_s *scan_item, dcm_face_scan_status_e sc /* Insert every face rectangle into database */ for (i = 0; i < face_info->count; i++) { - face = NULL; - - ret = __create_face_item(&face); - if (ret != MS_MEDIA_ERR_NONE) { - dcm_error("Failed to create face items! ret: %d", ret); - goto DCM_SVC_FACE_RECOGNIZE_BUFFER_FAILED; - } - if (scale_factor > 1.0) { - face->face_rect_x = (int) (face_info->rects[i].x * scale_factor); - face->face_rect_y = (int) (face_info->rects[i].y * scale_factor); - face->face_rect_w = (int) (face_info->rects[i].w * scale_factor); - face->face_rect_h = (int) (face_info->rects[i].h * scale_factor); + face_rect_x = (int) (face_info->rects[i].x * scale_factor); + face_rect_y = (int) (face_info->rects[i].y * scale_factor); + face_rect_w = (int) (face_info->rects[i].w * scale_factor); + face_rect_h = (int) (face_info->rects[i].h * scale_factor); } else { - face->face_rect_x = face_info->rects[i].x; - face->face_rect_y = face_info->rects[i].y; - face->face_rect_w = face_info->rects[i].w; - face->face_rect_h = face_info->rects[i].h; + face_rect_x = face_info->rects[i].x; + face_rect_y = face_info->rects[i].y; + face_rect_w = face_info->rects[i].w; + face_rect_h = face_info->rects[i].h; } - face->orientation = face_info->rects[i].orientation; + face_orientation = face_info->rects[i].orientation; - face_area += face->face_rect_w * face->face_rect_h; - dcm_debug("[#%d] face rect: XYWH (%d, %d, %d, %d)", i, face->face_rect_x, face->face_rect_y, face->face_rect_w, - face->face_rect_h); + face_area += face_rect_w * face_rect_h; - face->media_uuid = g_strdup(scan_item->media_uuid); + dcm_debug("[#%d] face rect: X [%d] Y [%d] W [%d] H [%d] Orientation [%d]", i, face_rect_x, face_rect_y, face_rect_w, face_rect_h, face_orientation); /* Insert face rectangle into database */ - ret = dcm_svc_db_insert_face_to_db(face); + ret = dcm_svc_db_insert_face_to_db(scan_item->media_uuid, face_rect_x, face_rect_y, face_rect_w, face_rect_h, face_orientation); if (ret != MS_MEDIA_ERR_NONE) { dcm_error("Failed to insert face item into db! ret: %d", ret); goto DCM_SVC_FACE_RECOGNIZE_BUFFER_FAILED; } - /* Send db updated notification */ - __destroy_face_item(face); - face = NULL; } DCM_SVC_FACE_RECOGNIZE_BUFFER_FAILED: @@ -201,11 +166,6 @@ DCM_SVC_FACE_RECOGNIZE_BUFFER_FAILED: dcm_face_destroy_face_info(face_info); - if (face != NULL) { - __destroy_face_item(face); - face = NULL; - } - dcm_debug_fleave(); return ret;