| | |
| | | #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);
|
| | | size_t getFaceCount(const PipeMaterial& pm) const;
|
| | |
|
| | | bool getFaceListPb(uint8_t* buffer, size_t& buffMaxSize);
|
| | |
|
| | | bool getFaceListPb(uint8_t* buffer, size_t& buffSize);
|
| | | |
| | | bool getFaceListImage(int* buffIdx, size_t& count, uint8_t* buffImg, size_t& buffImgSize);
|
| | | bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
|
| | |
|
| | | private:
|
| | | bool extractFace();
|
| | | |
| | | 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;
|
| | | };
|
| | |
|