int ParseScore(JsonObject *root)
{
LOGI("ENTER");
+ if (!json_object_has_member(root, "score")) {
+ LOGE("member score not exists");
+ return MEDIA_VISION_ERROR_INVALID_PARAMETER;
+ }
+ JsonObject *pObject = json_object_get_object_member(root, "score");
+
+ name = json_object_get_string_member(pObject, "name");
+ LOGI("layer: %s", name.c_str());
+
+ JsonArray *array = json_object_get_array_member(pObject, "index");
+ unsigned int elements2 = json_array_get_length(array);
+ LOGI("range dim: size[%u]", elements2);
+ for (unsigned int elem2 = 0; elem2 < elements2; ++elem2) {
+ if (static_cast<int>(json_array_get_int_element(array, elem2)) == 1)
+ dimInfo.SetValidIndex(elem2);
+ }
+ if (json_object_has_member(pObject, "top_number"))
+ topNumber = static_cast<int>(
+ json_object_get_int_member(pObject, "top_number"));
+ LOGI("top number: %d", topNumber);
+
+ if (json_object_has_member(pObject, "threshold"))
+ threshold = static_cast<double>(
+ json_object_get_double_member(pObject, "threshold"));
+ LOGI("threshold: %1.3f", threshold);
+
+ try {
+ type = GetSupportedType(pObject, "score_type", supportedScoreTypes);
+ } catch (const std::exception &e) {
+ LOGE("Invalid %s", e.what());
+ return MEDIA_VISION_ERROR_INVALID_OPERATION;
+ }
+
+ if (json_object_has_member(pObject, "dequantization")) {
+ array = json_object_get_array_member(pObject, "dequantization");
+ JsonNode *node = json_array_get_element(array, 0);
+ JsonObject *object = json_node_get_object(node);
- JsonArray *rootArray = json_object_get_array_member(root, "score");
- unsigned int elements = json_array_get_length(rootArray);
-
- for (unsigned int elem = 0; elem < elements; ++elem) {
- JsonNode *pNode = json_array_get_element(rootArray, elem);
- JsonObject *pObject = json_node_get_object(pNode);
-
- name = json_object_get_string_member(pObject, "name");
- LOGI("layer: %s", name.c_str());
-
- JsonArray *array = json_object_get_array_member(pObject, "index");
- unsigned int elements2 = json_array_get_length(array);
- LOGI("range dim: size[%u]", elements2);
- for (unsigned int elem2 = 0; elem2 < elements2; ++elem2) {
- if (static_cast<int>(
- json_array_get_int_element(array, elem2)) == 1)
- dimInfo.SetValidIndex(elem2);
- }
- if (json_object_has_member(pObject, "top_number"))
- topNumber = static_cast<int>(
- json_object_get_int_member(pObject, "top_number"));
- LOGI("top number: %d", topNumber);
-
- if (json_object_has_member(pObject, "threshold"))
- threshold = static_cast<double>(
- json_object_get_double_member(pObject, "threshold"));
- LOGI("threshold: %1.3f", threshold);
-
- try {
- type = GetSupportedType(pObject, "score_type",
- supportedScoreTypes);
- } catch (const std::exception &e) {
- LOGE("Invalid %s", e.what());
- return MEDIA_VISION_ERROR_INVALID_OPERATION;
- }
-
- if (json_object_has_member(pObject, "dequantization")) {
- array = json_object_get_array_member(pObject, "dequantization");
- JsonNode *node = json_array_get_element(array, 0);
- JsonObject *object = json_node_get_object(node);
-
- deQuantization = std::make_shared<DeQuantization>(
- json_object_get_double_member(object, "scale"),
- json_object_get_double_member(object, "zeropoint"));
- }
+ deQuantization = std::make_shared<DeQuantization>(
+ json_object_get_double_member(object, "scale"),
+ json_object_get_double_member(object, "zeropoint"));
}
LOGI("LEAVE");