video analysis2.0拆分,ffmpeg封装go接口库
chenshijun
2019-07-23 5e85a7e80764e1a1eae39c8ce9bafed29d8773a9
csrc/wrapper.hpp
@@ -1,6 +1,10 @@
#ifndef _cffmpeg_wrapper_hpp_
#define _cffmpeg_wrapper_hpp_
extern "C"{
#include <libavcodec/avcodec.h>
}
#include <stdint.h>
#include <string>
@@ -58,6 +62,8 @@
            void cache_rec_info(int &index, std::string &path);
            void cache_pic(std::shared_ptr<ffwrapper::FrameData> &frame);
            void cacheAVPacket(const AVPacket &pkt);
        public: 
            int RunStream(const char* input);
        private: 
@@ -78,6 +84,7 @@
        public: //decoder
            void BuildDecoder();
            void GetPicDecoder(unsigned char **data, int *w, int *h);
            void GetPacket(unsigned char **pktData, int *size, int *key);
            //active api
            void ActiveDecoder(FUNC_DEC fn);
@@ -106,6 +113,10 @@
            std::list<pic_bgr24> list_pic_;
            std::mutex mutex_pic_;
            std::list<AVPacket> list_avpkt_;
            std::mutex mutex_avpkt_;
            // active api
            FUNC_REC func_rec_;
            FUNC_DEC func_dec_;