From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001
From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 18 八月 2017 18:12:17 +0800
Subject: [PATCH] H264 NALU解析  并在RTSPServer判断

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

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
index 710298c..917fc08 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.h
@@ -4,15 +4,18 @@
 #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() : offset(0), size(0), type(0), width(0), height(0)
+	NativeImgIdx() : st_track_id(-1), offset(0), size(0), type(0), width(0), height(0)
 	{}
 
 	operator std::string() const;
@@ -32,7 +35,8 @@
 	
 	// 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);
@@ -41,4 +45,34 @@
 	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