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