From 2b43077d967c28fe99e1ff2b99f19e1433c710d9 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 17 八月 2017 12:28:36 +0800
Subject: [PATCH] aaaaa

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

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
index 8c2e077..917fc08 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
@@ -2,6 +2,24 @@
 #define __FaceCache_H__
 
 #include <PipeLine.h>
+#include <vector>
+
+#define FACECACHEFORPLBG_RESULT_BUFFSIZE (1920 * 1080 * 2)
+
+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 +35,44 @@
 	
 	// 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);
+	uint8_t* getFaceListPb(size_t& buffSize)
+	{
+		buffSize = FACECACHEFORPLBG_RESULT_BUFFSIZE;
+		if (!getFaceListPb(resultBuffer, buffSize))
+			return nullptr;
+		return resultBuffer;//#todo to cpp
+	}
+
+	bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
+	uint8_t* getFaceListImage(size_t& buffSize);
+
+
+private:
+	void* _ctx;
+	uint8_t* resultBuffer;
+};
+
 #endif

--
Gitblit v1.8.0