video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-09-20 be9c1d1f659b0ff31f656424c478e83a4f7c53b5
csrc/ffmpeg/format/FormatIn.hpp
@@ -37,8 +37,8 @@
      bool openCodec(const int type, AVDictionary **options);
      
      bool readPacket(AVPacket &pkt_out, int stream_index = 0);
      bool readPacket(std::shared_ptr<CodedData> &data, int stream_index = 0);
      bool readPacket(AVPacket &pkt_out);
      bool readPacket(std::shared_ptr<CodedData> &data);
      int decode(AVFrame* &frame, AVPacket &pkt);
      int decode(std::shared_ptr<FrameData> &frame_data,
@@ -47,18 +47,22 @@
      int readFrame(AVFrame* &frame);
      int readFrame(std::shared_ptr<FrameData> &frame_data);
      bool isVideoPkt(AVPacket &pkt);
      bool isAudioPkt(AVPacket &pkt);
   private:
      bool allocCodec(AVCodec *dec, AVStream *s, AVDictionary **options);
   public:
      AVStream *getStream(int type = 0);
      AVStream *getStream(int type = -1);
      AVCodecContext *getCodecContext(int type = 0);
      const double getFPS()const{return fps_;}
   private:
       AVFormatContext    *ctx_;
       AVCodecContext       *dec_ctx_;
       int             vs_idx_;
      int             as_idx_;
       bool             hw_accl_;
      double             fps_;
   private:
      AVIOContext         *io_ctx_;
      uint8_t          *read_io_buff_;