Blame view

src/FFCuContextManager.h 695 Bytes
f40cc409   Hu Chunming   优化显存占用。当前在3080显卡上...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  
  #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;
  
  };