#include<map> #include<string> extern "C" { #include <libavcodec/avcodec.h> #include <libavdevice/avdevice.h> #include <libavformat/avformat.h> #include <libavfilter/avfilter.h> #include <libavutil/avutil.h> #include <libavutil/pixdesc.h> #include <libswscale/swscale.h> } using namespace std; class FFCuContextManager{ public: static FFCuContextManager* getInstance(){ static FFCuContextManager* singleton = nullptr; if (singleton == nullptr){ singleton = new FFCuContextManager(); } return singleton; } AVBufferRef *getCuCtx(string gpuid); private: FFCuContextManager(){} ~FFCuContextManager(); private: map<string,AVBufferRef *> ctxMap; };