MC3302_SDK_V1.1.9_202507281.../media/mpp/include/fhhcp/cv.h

132 lines
5.5 KiB
C
Raw Normal View History

2025-11-11 04:08:31 +00:00
#ifndef CV_H_
#define CV_H_
#include "base.h"
#ifdef __cplusplus
extern "C" {
#endif
#define TY_CV_MAX_IMG_NUM 32
/*TY_CV图像宽最小像素*/
#define TY_CV_MIN_IMG_WIDTH 20
/*TY_CV图像高最小像素*/
#define TY_CV_MIN_IMG_HEIGHT 20
/*TY_CV图像宽最大像素*/
#define TY_CV_MAX_IMG_WIDTH 8192
/*TY_CV图像高最大像素*/
#define TY_CV_MAX_IMG_HEIGHT 8192
typedef uint64_t TY_CV_TASK_HANDLE;
/*!
* @brief CV系统初始化
* @note TY_CV接口才能正常工作
*
0
*/
TY_NPU_FUNC_VISIBILITY int32_t TY_CV_SysInit(void);
/*!
* @brief CV系统去初始化
* @note TY_CV_SysInit配对使用TY_CV接口不能正常工作
*
0
*/
TY_NPU_FUNC_VISIBILITY int32_t TY_CV_SysExit(void);
/*!
* @brief CV接口版本信息
* @param [out] majorVersion major版本
* @param [out] minorVersion minor版本
* @param [out] patchVersion patch版本
* @note x.y.z
*
0
*/
TY_NPU_FUNC_VISIBILITY int32_t TY_CV_GetVersion(int32_t *majorVersion,
int32_t *minorVersion,
int32_t *patchVersion);
/*!
* @brief 线VMM_CACHEDflush cache
* @param [in] src ROIstride
*
* E_TY_PIXEL_FORMAT_YUV_400
* E_TY_PIXEL_FORMAT_RGB_888_PLANAR
* E_TY_PIXEL_FORMAT_BGR_888_PLANAR
* @param [out] dst ROIstride
*
* @param [in] count TY_CV_MAX_IMG_NUM
* @param [out] handle handleisBlock为1时nullptr
* @param [in] isBlock 10CV_Query获取任务完成状态
*
0
*/
TY_NPU_FUNC_VISIBILITY int32_t TY_CV_Resize(T_TY_Image src[], T_TY_Image dst[],
int32_t count, TY_CV_TASK_HANDLE *handle, int32_t isBlock);
/*!
* @brief VMM_CACHEDflush cache
* @param [in] src ROIstride
* :
* E_TY_PIXEL_FORMAT_YUV_SEMIPLANAR_420
* E_TY_PIXEL_FORMAT_YVU_SEMIPLANAR_420
* E_TY_PIXEL_FORMAT_YUYV_PACKED_422
* E_TY_PIXEL_FORMAT_UYVY_PACKED_422
* @param [out] dst roistride即widthStride==widthheightStride==height
* :
* E_TY_PIXEL_FORMAT_RGB_888_PLANAR
* E_TY_PIXEL_FORMAT_BGR_888_PLANAR
* ROIROI宽高相同
* @param [in] count TY_CV_MAX_IMG_NUM
* @param [out] handle handleisBlock为1时nullptr
* @param [in] isBlock 10CV_Query获取任务完成状态
*
0
*/
TY_NPU_FUNC_VISIBILITY int32_t TY_CV_CvtColor(T_TY_Image src[], T_TY_Image dst[],
int32_t count, TY_CV_TASK_HANDLE *handle, int32_t isBlock);
/*!
* @brief VMM_CACHEDflush cache
* @param [in] src ROIstride
* :
* E_TY_PIXEL_FORMAT_YUV_400
* E_TY_PIXEL_FORMAT_RGB_888_PLANAR
* E_TY_PIXEL_FORMAT_BGR_888_PLANAR
* E_TY_PIXEL_FORMAT_YUV_SEMIPLANAR_420
* E_TY_PIXEL_FORMAT_YVU_SEMIPLANAR_420
* E_TY_PIXEL_FORMAT_YUYV_PACKED_422
* E_TY_PIXEL_FORMAT_UYVY_PACKED_422
* @param [out] dst ROIstride
*
* E_TY_PIXEL_FORMAT_YUV_400
* E_TY_PIXEL_FORMAT_RGB_888_PLANAR
* E_TY_PIXEL_FORMAT_BGR_888_PLANAR
* @param [in] count TY_CV_MAX_IMG_NUM
* @param [out] handle handleisBlock为1时nullptr
* @param [in] isBlock 10CV_Query获取任务完成状态
*
0
*/
TY_NPU_FUNC_VISIBILITY int32_t TY_CV_CvtResize(T_TY_Image src[], T_TY_Image dst[],
int32_t count, TY_CV_TASK_HANDLE *handle, int32_t isBlock);
/*!
* @brief
* @param [in] handle handle
* @param [out] status 10
* @param [in] isBlock 10CV_Query获取任务完成状态
*
0
*/
TY_NPU_FUNC_VISIBILITY int32_t TY_CV_Query(TY_CV_TASK_HANDLE handle, E_TY_Bool *status, int32_t isBlock);
#ifdef __cplusplus
}
#endif
#endif