qvyuanxin
2017-07-10 2f52ba12c4518a0de2478fca130997e73e514e09
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
@@ -2,6 +2,22 @@
#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
{
@@ -17,13 +33,34 @@
   
   // 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(int* buffIdx, size_t& count, uint8_t* buffImg, size_t& buffImgMaxSize);
   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