From e62936fa4a4b626a359bce8981ebbbaddcd4aada Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 01 九月 2020 13:31:45 +0800
Subject: [PATCH] add devid

---
 csrc/ffmpeg/format/FormatIn.cpp |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/csrc/ffmpeg/format/FormatIn.cpp b/csrc/ffmpeg/format/FormatIn.cpp
index 28b473b..d0efd33 100644
--- a/csrc/ffmpeg/format/FormatIn.cpp
+++ b/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;

--
Gitblit v1.8.0