From a8b447be656145c9ba2a2d8319a10ae8f726de1f Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 09 十月 2020 18:20:46 +0800
Subject: [PATCH] h264 mp4

---
 csrc/ffmpeg/format/FormatIn.hpp |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/csrc/ffmpeg/format/FormatIn.hpp b/csrc/ffmpeg/format/FormatIn.hpp
index 4eb7847..b441c0b 100644
--- a/csrc/ffmpeg/format/FormatIn.hpp
+++ b/csrc/ffmpeg/format/FormatIn.hpp
@@ -3,7 +3,6 @@
 
 #include <stdint.h>
 #include <memory>
-#include <vector>
 #include "PsToEs.hpp"
 
 struct AVFormatContext;
@@ -14,6 +13,7 @@
 struct AVFrame;
 struct AVCodec;
 struct AVIOContext;
+struct AVBSFContext;
 
 typedef int(* read_packet)(void *opaque,uint8_t *buf, int buf_size);
 
@@ -25,6 +25,7 @@
 	{
 	public:
 		explicit FormatIn(bool hw=true);
+		explicit FormatIn(const VideoProp &prop, bool hw=true);
 		~FormatIn();
 		
 	public:
@@ -47,16 +48,20 @@
 		bool allocCodec(AVCodec *dec, AVStream *s, AVDictionary **options);
 	public:
 		AVStream *getStream(int type = -1);
-		std::vector<AVStream*> allStreams();
 		AVCodecContext *getCodecContext(int type = 0);
 		AVFormatContext *getFromatContext(){return ctx_;}
 		const double getFPS()const{return fps_;}
+		const bool IsHEVC()const;
+		const bool isAVC1()const;
 	private:
 	 	AVFormatContext 	*ctx_;
 	 	AVCodecContext 		*dec_ctx_;
 	 	int 				vs_idx_;
 		int 				as_idx_;
 
+        AVBSFContext   		*bsf_h264, *bsf_hevc;
+
+		VideoProp 			*prop_;
 	 	bool 				hw_accl_;
 		double 				fps_;
 	private:

--
Gitblit v1.8.0