| | |
| | | 返回一个 struct stimg 结构的指针,需要调用 free_stimg 释放 |
| | | free_stimg 释放 shm2image 返回的指针 |
| | | */ |
| | | struct stimg make_image_ref(const uint64_t id, const unsigned char* data, const uint32_t size, |
| | | struct stimg* make_image_ref(const uint64_t id, const unsigned char* data, const uint32_t size, |
| | | const uint32_t width, const uint32_t height, |
| | | const char* timestamp, const uint32_t ts_size, |
| | | const char* camera_id, const uint32_t cid_size, |
| | |
| | | /////////////////////////////////////////////////////////////// |
| | | // go need function |
| | | // go image |
| | | void goimage2shm(void* shm, void* img); |
| | | void goimageinfo(void* img, void** data, uint64_t* size, |
| | | void goImage2Shm(void* shm, void* img); |
| | | void goImageGet(void* img, void** data, uint64_t* size, |
| | | void** ts, uint32_t* tss, |
| | | void** cid, uint32_t* cids, |
| | | void** cname, uint32_t* cnames, |
| | | uint64_t* id, uint32_t* w, uint32_t* h); |
| | | |
| | | // go rule/sdk/result |
| | | void gotargetsdel(void* tgts); |
| | | void* gotargetsnew(const uint32_t size); |
| | | void gotargetsadd(void* tgts, int idx, uint64_t id, char* type, uint32_t tsize, int32_t confidence, |
| | | void goTargetsDel(void* tgts); |
| | | void* goTargetsNew(const uint32_t size); |
| | | void goTargetAdd(void* tgts, int idx, uint64_t id, char* type, uint32_t tsize, int32_t confidence, |
| | | int left, int top, int right, int bottom, |
| | | unsigned char* feat, uint32_t featsize, |
| | | unsigned char* attr, uint32_t attrsize); |
| | | void goruleaddsdk(void* shm, void* tgts, uint32_t tgtcnt, |
| | | void goSdkPut(void* shm, void* tgts, uint32_t tgtcnt, |
| | | char* type, uint32_t tsize, |
| | | char* timestamp, uint32_t tmsize); |
| | | |
| | | // unserialize |
| | | void gorulehandletrack(void* rule, void** data, uint32_t* size); |
| | | void goruledatatype(void* rule, void** data, uint32_t* size); |
| | | void goHandletrackGet(void* rule, void** data, uint32_t* size); |
| | | void goDatatypeGet(void* rule, void** data, uint32_t* size); |
| | | |
| | | void gorulesdk(void* rule, void** data, uint32_t* size); |
| | | void gorulesdkinfo(void* sdk, int idx, void** t, uint32_t* ts, |
| | | void goSdkArrayGet(void* rule, void** data, uint32_t* size); |
| | | void goSdkGet(void* sdk, int idx, void** t, uint32_t* ts, |
| | | void** i, uint32_t* is, void** n, uint32_t* ns, |
| | | void** tm, uint32_t* tms, void** data, uint32_t* size); |
| | | void gorulesdktargetinfo(void* tgt, int idx, uint64_t* id, int32_t* c, |
| | | void goTargetGet(void* tgt, int idx, uint64_t* id, int32_t* c, |
| | | int32_t* l,int32_t* t,int32_t* r,int32_t* b, |
| | | void** tp, uint32_t* tps, |
| | | void** feat, uint32_t* fs, void** attr, uint32_t* attrs); |
| | | ////////////////////////////////////////////////////////////// |
| | | // no use |
| | | void* gosdknew(); |
| | | void gosdkadd(void* sdk, char* type, uint32_t tsize, char* id, uint32_t idsize, |
| | | char* name, uint32_t nsize, char* timestamp, uint32_t tmsize, |
| | | uint32_t tgtcnt, void* tgts); |
| | | |
| | | |
| | | #ifdef __cplusplus |
| | | } |