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