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判断

---
 RtspFace/MaterialBuffer.h |   52 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 8 deletions(-)

diff --git a/RtspFace/MaterialBuffer.h b/RtspFace/MaterialBuffer.h
index b26da14..fa2d12d 100644
--- a/RtspFace/MaterialBuffer.h
+++ b/RtspFace/MaterialBuffer.h
@@ -1,6 +1,9 @@
 #ifndef _MATERIAL_BUFFER_H_
 #define _MATERIAL_BUFFER_H_
 
+#include <stddef.h>
+#include <stdint.h>
+
 // timeval
 #if defined(WIN32) || defined(_MSC_VER)
 	#include <Winsock2.h>
@@ -16,17 +19,44 @@
 		
 		MBFT_SDP,               // buffer = char[N], buffSize = N
 		MBFT_FMTP,              // buffer = char[N], buffSize = N
-		
-		MBFT_JPEG,              // buffer = uint8_t[N], buffSize = N
-		MBFT_YUV420,            // buffer = uint8_t[N], buffSize = N
-		MBFT_BGRA,              // buffer = uint8_t[N], buffSize = N
-		
+
+		MBFT_INDEX,				// buffer = int, buffSize=sizeof(int)
+		MBFT_PTR_AVFRAME,       // buffer = AVFrame*, buffSize = 0
+
 		MBFT_H264_NALU,         // buffer = uint8_t[N], buffSize = N
 		MBFT_H264_NALU_AUX,     // buffer = uint8_t[N], buffSize = N//#todo support!
-		
-		MBFT_PTR_AVFRAME,       // buffer = AVFrame*, buffSize = 0
-		
+
+		MBFT_JPEG,              // buffer = uint8_t[N], buffSize = N
+
+		MBFT_YUV,                 // buffer = uint8_t[N], buffSize = N
+		MBFT_Y8,                 // buffer = uint8_t[N], buffSize = N
+		MBFT_YUV420,            // buffer = uint8_t[N], buffSize = N
+		MBFT_NV12,            // buffer = uint8_t[N], buffSize = N
+
+		MBFT_RGB,              // buffer = uint8_t[N], buffSize = N
+		MBFT_RGB888,              // buffer = uint8_t[N], buffSize = N
+		MBFT_RGB565,              // buffer = uint8_t[N], buffSize = N
+
+		MBFT_RGBA,              // buffer = uint8_t[N], buffSize = N
+
+		MBFT_BGRA,              // buffer = uint8_t[N], buffSize = N
+        MBFT_BGRA8888,         // buffer = uint8_t[N], buffSize = N
+        MBFT_ABGR8888,         // buffer = uint8_t[N], buffSize = N
+
+		MBFT_ARGB8888,              // buffer = uint8_t[N], buffSize = N
+
 		MBFT__LAST
+	};
+
+	enum MBFUsage
+	{
+		MBFU__FIRST,
+
+		MBFU_ORIGIN_IMAGE,
+		MBFU_PROCESSED_IMAGE,
+		MBFU_INFORMATION,
+
+		MBFU__LAST
 	};
 
 	MBFType type;
@@ -40,6 +70,12 @@
 		type(MBFT__FIRST), buffer(nullptr), buffSize(0), 
 		width(0), height(0), pts()
 	{ }
+	
+	void reset()
+	{
+		MB_Frame _temp;
+		*this = _temp;
+	}
 };
 
 #endif

--
Gitblit v1.8.0