Blame view

src/decoder/dvpp/VpcUtils.h 1.25 KB
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
1
2
3
4
  #include "dvpp_headers.h"
  #include "depend_headers.h"
  #include "DvppDataMemory.hpp"
  
4061a3c3   Hu Chunming   更换decoder
5
  #include <map>
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
6
7
8
  
  class VpcUtils{
  public:
4061a3c3   Hu Chunming   更换decoder
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  
      static VpcUtils* getInstance(int devId) {
          static std::map<int, VpcUtils*> mapUtils;
          VpcUtils* singleton = nullptr;
          if (mapUtils.find(devId) == mapUtils.end()) {
              singleton = new VpcUtils();
  			singleton->init(devId);
              mapUtils[devId] = singleton;
          } else {
              singleton = mapUtils[devId];
          }
  		return singleton;
  	}
  
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
23
24
      VpcUtils();
      ~VpcUtils();
4061a3c3   Hu Chunming   更换decoder
25
  
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
26
27
28
      int init(int);
  
      DvppDataMemory* convert2bgr(acldvppPicDesc *input, int out_width, int out_height, bool key_frame);
4061a3c3   Hu Chunming   更换decoder
29
  
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
30
31
32
      DvppDataMemory* convert2bgr(DvppDataMemory* inMem);
  
      DvppDataMemory* resize(acldvppPicDesc *inputDesc_, int out_width, int out_height);
4061a3c3   Hu Chunming   更换decoder
33
34
35
36
37
38
39
  
      DvppDataMemory* resize(DvppDataMemory* inMem, int out_width, int out_height);
  
      DvppDataMemory* crop(DvppDataMemory* devMem, AreaInfo obj);
  
      vector<DvppDataMemory*> crop_batch(DvppDataMemory* devMem, const vector<AreaInfo> objs);
  
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
40
  private:
4061a3c3   Hu Chunming   更换decoder
41
42
      void check_area(AreaInfo& area, int width, int height);
  
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
43
  private:
4061a3c3   Hu Chunming   更换decoder
44
45
      aclrtContext context_;
      aclrtStream stream_;
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
46
      int m_devId;
4061a3c3   Hu Chunming   更换decoder
47
      acldvppChannelDesc *dvppChannelDesc_ ;
6fdcb6a5   Hu Chunming   初次提交,代码大体完成编写,完善中
48
49
      string m_dec_name;
  };