Blame view

src/nvdec/GpuRgbMemory.hpp 835 Bytes
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
1
2
  #include<string>
  
00b0fbdb   Hu Chunming   编译nvdec
3
  #include "../interface/DeviceRgbMemory.hpp"
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
4
5
  #include "cuda_kernels.h"
  #include "define.hpp"
00b0fbdb   Hu Chunming   编译nvdec
6
  #include "common_header.h"
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
7
8
9
10
11
12
  
  using namespace std;
  
  class GpuRgbMemory : public DeviceRgbMemory{
  
  public:
00b0fbdb   Hu Chunming   编译nvdec
13
14
       GpuRgbMemory(int _channel, int _width, int _height, string _id, string _gpuid, bool _key_frame, bool _isused)
       :DeviceRgbMemory(_channel, _width, _height, _id, _gpuid, _key_frame, _isused){
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
          gpuid = _gpuid;
          cudaSetDevice(atoi(gpuid.c_str()));
          CHECK_CUDA(cudaMalloc((void **)&pHwRgb, data_size * sizeof(unsigned char)));
      }
  
      ~GpuRgbMemory(){
          if (pHwRgb) {
              cudaSetDevice(atoi(gpuid.c_str()));
              CHECK_CUDA(cudaFree(pHwRgb));
              pHwRgb = nullptr;
          }
      }
  
      string getGpuId() {
          return gpuid;
      }
  
  private:
      string gpuid;
  };