派生自 Algorithm/baseDetector

Scheaven
2021-01-05 6ae75cc17b2952c63a79ff2c86da841f0dbbf3c6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef _c_container_sdk_h_
#define _c_container_sdk_h_
 
#ifdef __cplusplus //
extern "C"
{
#endif
typedef int (*fn)(void* args, const int sender_chan, const char *recver, const char *data, const int len);
 
typedef void* (*fn_sdk_create)(const char*, int*);
typedef void* (*fn_sdk_get_result_face)(void *, const void *, const int, void *, const int);
typedef void* (*fn_sdk_set_data)(void*, const char *, const int, const int);
typedef void* (*fn_sdk_op_channel)(void *, const char *, const int, const int);
typedef void* (*fn_sdk_set_cb)(void*, fn, void*);
typedef void (*fn_sdk_release)(void*);
typedef void* (*fn_sdk_get_result)(void*, const void*, const int);
typedef void (*fn_sdk_release_result)(void *);
 
namespace container
{
 
    class sdk
    {
    private:
        void                            *libsdk_;
        void                            *sdk_handle_;
        fn_sdk_create                   fn_create;
 
        fn_sdk_get_result_face          fn_get_result_face;
        fn_sdk_set_data                 fn_set_data;
        fn_sdk_op_channel               fn_op_channel;
        fn_sdk_set_cb                   fn_set_cb;
 
        fn_sdk_release                  fn_release;
        fn_sdk_get_result               fn_get_result;
        fn_sdk_release_result           fn_release_result;
 
        const char *                     id_or_name_;
 
 
    public:
        sdk(const char *id);
        ~sdk();
 
        int init(const char *so, const char *conf);
        int fndd(void *args, const int sender_chan, const char *recver, const char *data, const int len);
        int release();
        int run(void *pic_data, int w, int h, int chn);
    };
    
} // namespace container
 
#ifdef __cplusplus //
}
#endif
#endif