+++ /dev/null
-/**
- * Copyright (c) 2023 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __MEDIA_VISION_IMAGE_CLASSIFICATION_OPEN_H__
-#define __MEDIA_VISION_IMAGE_CLASSIFICATION_OPEN_H__
-
-#include <mv_common.h>
-#include <mv_private.h>
-#include <mv_image_classification_type.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @brief Create image classification object handle.
- * @details Use this function to create an image classification object handle.
- * After creation the handle has to be prepared with
- * @ref mv_image_classification_prepare_open() function to prepare
- * an image classification object.
- *
- * @since_tizen 8.0
- *
- * @param[out] out_handle The handle to the image classification object to be created
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_OUT_OF_MEMORY Out of memory
- *
- * @post Release @a handle by using
- * @ref mv_image_classification_destroy_open() function when it is not needed
- * anymore
- *
- * @see mv_image_classification_destroy_open()
- */
-int mv_image_classification_create_open(mv_image_classification_h *out_handle);
-
-/**
- * @brief Destroy image classification handle and releases all its resources.
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object to be destroyed.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @pre Create an image classification handle by using @ref mv_image_classification_create_open()
- *
- * @see mv_image_classification_create_open()
- */
-int mv_image_classification_destroy_open(mv_image_classification_h handle);
-
-/**
- * @brief Configure the backend to the inference handle
- *
- * @since_tizen 8.0
- *
- * @param [in] handle The handle to the inference
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #MEDIA_VISION_ERROR_NOT_SUPPORTED Not supported
- */
-int mv_image_classification_configure_open(mv_image_classification_h handle);
-
-/**
- * @brief Prepare inference.
- * @details Use this function to prepare inference based on
- * the configured network.
- *
- * @since_tizen 8.0
- *
- * @param [in] handle The handle to the inference
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_DATA Invalid model data
- * @retval #MEDIA_VISION_ERROR_OUT_OF_MEMORY Out of memory
- */
-int mv_image_classification_prepare_open(mv_image_classification_h handle);
-
-/**
- *
- * @brief Inference with a given face on the @a source
- * @details Use this function to inference with a given source.
- *
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object.
- * @param[in] source The handle to the source of the media.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_NOT_SUPPORTED_FORMAT Source colorspace
- * isn't supported
- * @retval #MEDIA_VISION_ERROR_OUT_OF_MEMORY Out of memory
- *
- * @pre Create a source handle by calling @ref mv_create_source()
- * @pre Create an image classification handle by calling @ref mv_image_classification_create_open()
- * @pre Prepare an image classification by calling @ref mv_image_classification_prepare_open()
- */
-int mv_image_classification_inference_open(mv_image_classification_h handle, mv_source_h source);
-
-/**
- * @brief Gets the label value as a image classification inference result.
- * @details Use this function to get the label value after calling @ref mv_image_classification_inference().
- *
- * @since_tizen 8.0
- *
- * @remarks The @a result must NOT be released using free()
- *
- * @param[in] handle The handle to the image classification object.
- * @param[out] out_label A pointer to the label string.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_INVALID_OPERATION Invalid operation
- *
- * @pre Request an inference by calling @ref mv_image_classification_inference()
- */
-int mv_image_classification_get_label_open(mv_image_classification_h handle, const char **out_label);
-
-/**
- * @brief Set user-given model information.
- * @details Use this function to change the model information instead of default one after calling @ref mv_image_classification_create().
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object.
- * @param[in] model_file Model file name.
- * @param[in] meta_type Model meta file name.
- * @param[in] label_file Label file name.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_INVALID_OPERATION Invalid operation
- *
- * @pre Create a image classification handle by calling @ref mv_image_classification_create()
- */
-int mv_image_classification_set_model_open(mv_image_classification_h handle, const char *model_file,
- const char *meta_file, const char *label_file);
-
-/**
- * @brief Set user-given backend and device types for inference.
- * @details Use this function to change the backend and device types for inference instead of default ones after calling @ref mv_image_classification_create_open().
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object.
- * @param[in] backend_type A string of backend type.
- * @param[in] device_type A string of device type.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_INVALID_OPERATION Invalid operation
- *
- * @pre Create a image classification handle by calling @ref mv_image_classification_create_open()
- */
-int mv_image_classification_set_engine_open(mv_image_classification_h handle, const char *backend_type,
- const char *device_type);
-
-/**
- * @brief Get a number of inference engines available for image classification task API.
- * @details Use this function to get how many inference engines are supported for image classification after calling @ref mv_image_classification_create_open().
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object.
- * @param[out] engine_count A number of inference engines available for image classification API.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_INVALID_OPERATION Invalid operation
- *
- * @pre Create a image classification handle by calling @ref mv_image_classification_create_open()
- */
-int mv_image_classification_get_engine_count_open(mv_image_classification_h handle, unsigned int *engine_count);
-
-/**
- * @brief Get engine type to a given inference engine index.
- * @details Use this function to get inference engine type with a given engine index after calling @ref mv_image_classification_get_engine_count().
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object.
- * @param[in] engine_index A inference engine index for getting the inference engine type.
- * @param[out] engine_type A string to inference engine.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_INVALID_OPERATION Invalid operation
- *
- * @pre Get a number of inference engines available for image classification task API by calling @ref mv_image_classification_get_engine_count()
- */
-int mv_image_classification_get_engine_type_open(mv_image_classification_h handle, const unsigned int engine_index,
- char **engine_type);
-
-/**
- * @brief Get a number of device types available to a given inference engine.
- * @details Use this function to get how many device types are supported for a given inference engine after calling @ref mv_image_classification_create_open().
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object.
- * @param[in] engine_type A inference engine string.
- * @param[out] device_count A number of device types available for a given inference engine.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_INVALID_OPERATION Invalid operation
- *
- * @pre Create a image classification handle by calling @ref mv_image_classification_create_open()
- */
-int mv_image_classification_get_device_count_open(mv_image_classification_h handle, const char *engine_type,
- unsigned int *device_count);
-
-/**
- * @brief Get device type list available.
- * @details Use this function to get what device types are supported for current inference engine type after calling @ref mv_image_classification_configure().
- *
- * @since_tizen 8.0
- *
- * @param[in] handle The handle to the image classification object.
- * @param[in] engine_type A inference engine string.
- * @param[in] device_index A device index for getting the device type.
- * @param[out] device_type A string to device type.
- *
- * @return @c 0 on success, otherwise a negative error value
- * @retval #MEDIA_VISION_ERROR_NONE Successful
- * @retval #MEDIA_VISION_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_VISION_ERROR_INVALID_OPERATION Invalid operation
- *
- * @pre Create a image classification handle by calling @ref mv_image_classification_create_open()
- * @pre Configure image classification task by calling @ref mv_image_classification_configure_open()
- */
-int mv_image_classification_get_device_type_open(mv_image_classification_h handle, const char *engine_type,
- const unsigned int device_index, char **device_type);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __MEDIA_VISION_IMAGE_CLASSIFICATION_OPEN_H__ */