video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2020-09-01 e62936fa4a4b626a359bce8981ebbbaddcd4aada
csrc/ffmpeg/format/FormatIn.cpp
@@ -28,6 +28,7 @@
   ,dec_ctx_(NULL)
   ,vs_idx_(-1)
   ,as_idx_(-1)
   ,prop_(NULL)
   ,hw_accl_(hw)
   ,io_ctx_(NULL)
   ,read_io_buff_(NULL)
@@ -36,9 +37,28 @@
   ,fps_(25.0)
   {}
   FormatIn::FormatIn(const VideoProp &prop, bool hw/*=true*/)
   :ctx_(NULL)
   ,dec_ctx_(NULL)
   ,vs_idx_(-1)
   ,as_idx_(-1)
   ,prop_(NULL)
   ,hw_accl_(hw)
   ,io_ctx_(NULL)
   ,read_io_buff_(NULL)
   ,read_io_buff_size_(32768)
   ,handle_gb28181(NULL)
   ,fps_(25.0)
   {
      prop_ = new VideoProp;
      *prop_ = prop;
   }
   FormatIn::~FormatIn()
   {
      logIt("free format in");
      if (prop_) delete prop_;
      if(dec_ctx_){
         avcodec_close(dec_ctx_);
         avcodec_free_context(&dec_ctx_);
@@ -196,6 +216,9 @@
         if(hw_accl_){
                // idle_gpu = gpu::getGPUPrior(300, 1024, 0);
                idle_gpu = gpu::getGPU(300);
               if (prop_->gpu_index_ > -1){
                   idle_gpu = prop_->gpu_index_;
               }
                if(idle_gpu < 0){
                    logIt("NO GPU RESOURCE TO DECODE");
                    hw_accl_ = false;