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
57
58
59
60
61
62
63
64
65
66
| #ifndef __FaceCache_H__
| #define __FaceCache_H__
|
| #include <PipeLine.h>
| #include <vector>
|
| struct NativeImgIdx
| {
| int st_track_id;
| int offset;
| int size;
| int type;
| int width;
| int height;
|
| NativeImgIdx() : st_track_id(-1), offset(0), size(0), type(0), width(0), height(0)
| {}
|
| operator std::string() const;
| };
|
| class FaceCache
| {
| public:
|
| #ifdef USE_ST_SDK
| FaceCache();
| ~FaceCache();
| #else
| FaceCache() : _ctx(nullptr) {}
| ~FaceCache() {}
| #endif
|
| // returns count of face
| int cachePm(const PipeMaterial& pm);
| size_t getFaceCount(const PipeMaterial& pm) const;
|
| bool getFaceListPb(uint8_t* buffer, size_t& buffMaxSize);
|
| bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
|
| private:
| void* _ctx;
| };
|
|
| class FaceCacheForPLBG
| {
| public:
|
| FaceCacheForPLBG();
| ~FaceCacheForPLBG();
|
| // returns count of face
| int cachePm(const PipeMaterial& pm);
| size_t getFaceCount(const PipeMaterial& pm) const;
|
| bool getFaceListPb(uint8_t* buffer, size_t& buffMaxSize);
|
| bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
|
| private:
| void* _ctx;
| };
|
| #endif
|
|