ISVP-SDK  3.12.0
Ingenic Smart Video Platform SDK
imp_ivs.h
Go to the documentation of this file.
1 /*
2  * IMP IVS header file.
3  *
4  * Copyright (C) 2015 Ingenic Semiconductor Co.,Ltd
5  */
6 
7 #ifndef __IMP_IVS_H__
8 #define __IMP_IVS_H__
9 
10 #ifdef __cplusplus
11 #if __cplusplus
12 extern "C"
13 {
14 #endif
15 #endif /* __cplusplus */
16 
17 #include <imp/imp_common.h>
18 
24 #define IMP_IVS_DEFAULT_TIMEOUTMS (-1)
25 
136 
138  void *param;
139  int paramSize;
141  int (*init)(IMPIVSInterface *inf);
142  void (*exit)(IMPIVSInterface *inf);
145  int (*getResult)(IMPIVSInterface *inf, void **result);
146  int (*releaseResult)(IMPIVSInterface *inf, void *result);
147  int (*getParam)(IMPIVSInterface *inf, void *param);
148  int (*setParam)(IMPIVSInterface *inf, void *param);
150  void *priv;
151 };
152 
163 int IMP_IVS_CreateGroup(int GrpNum);
164 
175 int IMP_IVS_DestroyGroup(int GrpNum);
188 int IMP_IVS_CreateChn(int ChnNum, IMPIVSInterface *handler);
189 
200 int IMP_IVS_DestroyChn(int ChnNum);
201 
215 int IMP_IVS_RegisterChn(int GrpNum, int ChnNum);
216 
227 int IMP_IVS_UnRegisterChn(int ChnNum);
228 
240 int IMP_IVS_StartRecvPic(int ChnNum);
241 
253 int IMP_IVS_StopRecvPic(int ChnNum);
254 
268 int IMP_IVS_PollingResult(int ChnNum, int timeoutMs);
269 
282 int IMP_IVS_GetResult(int ChnNum, void **result);
283 
298 int IMP_IVS_ReleaseResult(int ChnNum, void *result);
299 
311 int IMP_IVS_ReleaseData(void *vaddr);
312 
324 int IMP_IVS_GetParam(int chnNum, void *param);
325 
337 int IMP_IVS_SetParam(int chnNum, void *param);
338 
343 #ifdef __cplusplus
344 #if __cplusplus
345 }
346 #endif
347 #endif /* __cplusplus */
348 
349 #endif /* __IMP_IVS_H__ */
int IMP_IVS_RegisterChn(int GrpNum, int ChnNum)
Register one ivs channel to an ivs group.
int IMP_IVS_StopRecvPic(int ChnNum)
Channel stops receiving picture(s)
void * param
algorithm input parameter
Definition: imp_ivs.h:138
int IMP_IVS_UnRegisterChn(int ChnNum)
Unregister one ivs channel from its registered ivs group.
int IMP_IVS_SetParam(int chnNum, void *param)
Set the algorithm parameter held by the channel indexed by ChnNum.
int(* flushFrame)(IMPIVSInterface *inf)
Released all frame which got and cached by processAsync.
Definition: imp_ivs.h:149
int(* setParam)(IMPIVSInterface *inf, void *param)
set algorithm parameter
Definition: imp_ivs.h:148
int IMP_IVS_PollingResult(int ChnNum, int timeoutMs)
Whether the blocking judge can or can not get the result of IVS function.
int IMP_IVS_ReleaseData(void *vaddr)
Release IVS function to calculate the resources result.
void * priv
private info
Definition: imp_ivs.h:150
IMP frame image information definition.
Definition: imp_common.h:54
Definition: imp_ivs.h:137
int(* processAsync)(IMPIVSInterface *inf, IMPFrameInfo *frame)
algorithm process func, should be sure unused frames must be unlocked by using free data asap...
Definition: imp_ivs.h:144
IMPPixelFormat pixfmt
input pixel format
Definition: imp_ivs.h:140
int IMP_IVS_CreateGroup(int GrpNum)
Create IVS group.
int(* releaseResult)(IMPIVSInterface *inf, void *result)
release algorithm result
Definition: imp_ivs.h:146
int(* getResult)(IMPIVSInterface *inf, void **result)
get algorithm result
Definition: imp_ivs.h:145
int IMP_IVS_GetResult(int ChnNum, void **result)
Get IVS algorithm check result.
int(* getParam)(IMPIVSInterface *inf, void *param)
get algorithm parameter
Definition: imp_ivs.h:147
int paramSize
parameter size
Definition: imp_ivs.h:139
int IMP_IVS_GetParam(int chnNum, void *param)
Get the algorithm parameter held by the channel indexed by ChnNum.
int IMP_IVS_StartRecvPic(int ChnNum)
Channel starts receiving picture(s)
IMPPixelFormat
IMP image format definition.
Definition: imp_common.h:90
int IMP_IVS_DestroyGroup(int GrpNum)
Destroy IVS group.
SDK-T15 Public data structure header file.
void(* exit)(IMPIVSInterface *inf)
exit algorithm func
Definition: imp_ivs.h:142
int IMP_IVS_ReleaseResult(int ChnNum, void *result)
Release IVS algorithm check result.
int IMP_IVS_DestroyChn(int ChnNum)
Destroy IVS channel.
int(* preProcessSync)(IMPIVSInterface *inf, IMPFrameInfo *frame)
algorithm preprocess func, it's parameter frame hasn't been special locked by SDK IVS module...
Definition: imp_ivs.h:143
int IMP_IVS_CreateChn(int ChnNum, IMPIVSInterface *handler)
Create IVS channel to one algorithm entity.
int(* init)(IMPIVSInterface *inf)
init algorithm func
Definition: imp_ivs.h:141