From afcb649c8a2785c6095be5762c6077f9e15afd1a Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 02 八月 2017 10:33:31 +0800
Subject: [PATCH] c++ dupl image

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h |   66 +++++++++++++++++++++++++-------
 1 files changed, 51 insertions(+), 15 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
index 892f659..2f9cea5 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
@@ -2,29 +2,65 @@
 #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:
-	FaceCache()
-	{
-	}
+
+#ifdef USE_ST_SDK 
+	FaceCache();
+	~FaceCache();
+#else
+	FaceCache() : _ctx(nullptr) {}
+	~FaceCache() {}
+#endif
 	
 	// returns count of face
-	int cachePm(const PipeMaterial& pm)
-	{
-		return 0;
-	}
+	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)
-	{
-		return false;
-	}
+	bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
 	
-	bool getFaceListImage(int* buffIdx, size_t& count, uint8_t* buffImg, size_t& buffImgSize)
-	{
-		return false;
-	}
+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

--
Gitblit v1.8.0