houxiao
2017-04-18 d53b1e0d18c75420fd7bd7b37178c50d40f2a779
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
#ifndef __FaceCache_H__
#define __FaceCache_H__
 
#include <PipeLine.h>
#include <vector>
 
struct NativeImgIdx
{
    int offset;
    int size;
    int type;
    int width;
    int height;
 
    NativeImgIdx() : 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);
    
    bool getFaceListPb(uint8_t* buffer, size_t& buffMaxSize);
    
    bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
    
private:
    void* _ctx;
};
 
#endif