From 57de3dd4c7b2e0a7be1bcb4de49eb2046921b7ff Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 26 七月 2017 17:47:04 +0800
Subject: [PATCH]
---
RtspFace/MaterialBuffer.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 47 insertions(+), 12 deletions(-)
diff --git a/RtspFace/MaterialBuffer.h b/RtspFace/MaterialBuffer.h
index 399b637..715b49e 100644
--- a/RtspFace/MaterialBuffer.h
+++ b/RtspFace/MaterialBuffer.h
@@ -1,11 +1,12 @@
#ifndef _MATERIAL_BUFFER_H_
#define _MATERIAL_BUFFER_H_
+#include <stddef.h>
+#include <stdint.h>
+
+// timeval
#if defined(WIN32) || defined(_MSC_VER)
- struct timeval {
- time_t tv_sec; /* seconds */
- suseconds_t tv_usec; /* microseconds */
- };
+ #include <Winsock2.h>
#else
#include <sys/time.h>
#endif
@@ -15,21 +16,55 @@
enum MBFType
{
MBFT__FIRST,
- MBFT_JPEG,
- MBFT_YUV420,
- MBFT_BGRA,
- MBFT_H264_NALU,
- MBFT_H264_NALU_WITH_AUX,
- MBFT_PTR_AVFRAME,
+
+ MBFT_SDP, // buffer = char[N], buffSize = N
+ MBFT_FMTP, // buffer = char[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_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
};
MBFType type;
- uint8_t* buffer;//#todo void*
+ void* buffer;
size_t buffSize;
+ int width;
+ int height;
timeval pts;
- MB_Frame() : type(MBFT__FIRST), buffer(nullptr), buffSize(0), pts() { }
+ MB_Frame() :
+ type(MBFT__FIRST), buffer(nullptr), buffSize(0),
+ width(0), height(0), pts()
+ { }
+
+ void reset()
+ {
+ MB_Frame _temp;
+ *this = _temp;
+ }
};
#endif
--
Gitblit v1.8.0