Files
gk-sdk/source/gmp/usr/svp/include/xmedia_hal/svp_proc.h
T

55 lines
1.7 KiB
C

#ifndef __SVP_PROC_H__
#define __SVP_PROC_H__
#include "xmedia_svp.h"
#include "svp_comm.h"
#include "task_common.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SVP_PROC_SIZE (4096 * 4)
#define SVP_PROC_NAME_SIZE (16)
typedef struct {
xmedia_svp_alg_type alg_type; // 算法类型
xmedia_float detect_threshold; // 置信度阈值,建议值0.55f
xmedia_float classifier_threshold; // 分类器阈值,建议值0.01f
xmedia_float iou_threshold; // iou相交比阈值,建议值0.5f
xmedia_u32 max_target_num; // 最大目标数,最大值10
svp_movement movement; // 静止过滤相关参数
xmedia_bool track_enable; // 追踪相关参数
} proc_detect_info;
typedef struct {
xmedia_u8 framerate; // 帧率
xmedia_u64 cost_time; // 消耗的时间
xmedia_u8 fps_count; // 一秒内运行的次数
struct timeval last_time; // 上次统计时间
} svp_dbg_info;
typedef struct {
xmedia_u32 buff_len_total;
xmedia_u32 remain_buf;
xmedia_char *vir_addr;
} svp_proc_info;
typedef struct {
svp_proc_info proc_info;
svp_dbg_info dbg_info[XMEDIA_SVP_MAX_TASK_NUM];
svp_task_handle *handle[XMEDIA_SVP_MAX_TASK_NUM];
} svp_proc_context;
xmedia_s32 svp_update_proc_time(svp_proc_context* proc, xmedia_s32 handle, xmedia_u64 cost_time);
xmedia_s32 svp_update_proc_framerate(svp_proc_context* proc, xmedia_s32 handle);
xmedia_s32 svp_update_proc_info(svp_proc_context* proc, xmedia_s32 handle);
xmedia_s32 svp_init_proc(xmedia_svp_context* context);
xmedia_s32 svp_deinit_proc(xmedia_svp_context* context);
#ifdef __cplusplus
}
#endif
#endif