Commit 44a5c5b02ab3d878b7da5a25a8e2186ece032f04
1 parent
edde45f5
优化stream_
Showing
11 changed files
with
186 additions
and
68 deletions
.vscode/launch.json
@@ -115,6 +115,25 @@ | @@ -115,6 +115,25 @@ | ||
115 | "ignoreFailures": true | 115 | "ignoreFailures": true |
116 | } | 116 | } |
117 | ] | 117 | ] |
118 | + }, | ||
119 | + { | ||
120 | + "name": "test_xl", | ||
121 | + "type": "cppdbg", | ||
122 | + "request": "launch", | ||
123 | + "args": [], | ||
124 | + "stopAtEntry": false, | ||
125 | + "externalConsole": false, | ||
126 | + "cwd": "/home/cmhu/vpt_ascend_arm/build/test", | ||
127 | + "program": "/home/cmhu/vpt_ascend_arm/build/test/test", | ||
128 | + "MIMode": "gdb", | ||
129 | + "miDebuggerPath": "gdb", | ||
130 | + "setupCommands": [ | ||
131 | + { | ||
132 | + "description": "Enable pretty-printing for gdb", | ||
133 | + "text": "-enable-pretty-printing", | ||
134 | + "ignoreFailures": true | ||
135 | + } | ||
136 | + ] | ||
118 | } | 137 | } |
119 | ] | 138 | ] |
120 | } | 139 | } |
121 | \ No newline at end of file | 140 | \ No newline at end of file |
bin/gb28181_cfg.xml
1 | <?xml version="1.0" encoding="GB2312"?> | 1 | <?xml version="1.0" encoding="GB2312"?> |
2 | <ROOT> | 2 | <ROOT> |
3 | <WsIP>192.168.60.179</WsIP> | 3 | <WsIP>192.168.60.179</WsIP> |
4 | - <WsPort>9006</WsPort> | 4 | + <WsPort>9007</WsPort> |
5 | <MinRtpPort>20000</MinRtpPort> | 5 | <MinRtpPort>20000</MinRtpPort> |
6 | <MaxRtpPort>20400</MaxRtpPort> | 6 | <MaxRtpPort>20400</MaxRtpPort> |
7 | </ROOT> | 7 | </ROOT> |
build/test_xl/Makefile
0 → 100755
1 | +XX = g++ | ||
2 | + | ||
3 | + | ||
4 | +PROJECT_ROOT= /home/cmhu/vpt_ascend_arm/build/test_xl | ||
5 | + | ||
6 | +SRC_ROOT = $(PROJECT_ROOT) | ||
7 | + | ||
8 | + | ||
9 | +TARGET= $(PROJECT_ROOT)/test_xl | ||
10 | + | ||
11 | + | ||
12 | +DEFS = -DENABLE_DVPP_INTERFACE | ||
13 | + | ||
14 | +include_dir=-I/usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/include \ | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | +LIBS= -L/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64 -lacl_dvpp -lascendcl \ | ||
19 | + | ||
20 | +CXXFLAGS= -g -O0 -fPIC $(include_dir) $(lib_dir) $(lib) $(LIBS) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -fvisibility=hidden -Wall -Wno-deprecated -Wdeprecated-declarations -Wl,-Bsymbolic -ldl | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | +SRCS:=$(wildcard $(SRC_ROOT)/*.cpp) \ | ||
25 | + | ||
26 | +OBJS = $(patsubst %.cpp, %.o, $(notdir $(SRCS))) | ||
27 | + | ||
28 | + | ||
29 | +$(TARGET):$(OBJS) | ||
30 | + rm -f $(TARGET) | ||
31 | + $(XX) -o $@ $^ $(CXXFLAGS) | ||
32 | + rm -f *.o | ||
33 | + | ||
34 | +%.o:$(SRC_ROOT)/%.cpp | ||
35 | + $(XX) $(CXXFLAGS) -c $< | ||
36 | + | ||
37 | +clean: | ||
38 | + rm -f *.o $(TARGET) |
build/test_xl/test
0 → 100755
No preview for this file type
build/test_xl/test.cpp
0 → 100644
1 | +#include <iostream> | ||
2 | +#include <string> | ||
3 | + | ||
4 | +#include "acl/acl_mdl.h" | ||
5 | +#include "acl/acl_base.h" | ||
6 | +#include "acl/acl_rt.h" | ||
7 | +#include "acl/acl.h" | ||
8 | +#include "acl/ops/acl_dvpp.h" | ||
9 | +#include "acl/dvpp/hi_dvpp.h" | ||
10 | + | ||
11 | + | ||
12 | +using namespace std; | ||
13 | + | ||
14 | + | ||
15 | +bool test() { | ||
16 | + aclrtContext context_{nullptr}; | ||
17 | + acldvppChannelDesc *dvppChannelDesc_ {nullptr}; | ||
18 | + | ||
19 | + aclError ret = aclrtCreateContext(&context_, 0); | ||
20 | + if (ret != ACL_ERROR_NONE) { | ||
21 | + return false; | ||
22 | + } | ||
23 | + | ||
24 | + do | ||
25 | + { | ||
26 | + dvppChannelDesc_ = acldvppCreateChannelDesc(); | ||
27 | + | ||
28 | + ret = acldvppCreateChannel(dvppChannelDesc_); | ||
29 | + if (ret != ACL_ERROR_NONE) { | ||
30 | + return false; | ||
31 | + } | ||
32 | + | ||
33 | + ret = acldvppSetChannelDescMode(dvppChannelDesc_, DVPP_CHNMODE_VPC); | ||
34 | + if (ret != ACL_ERROR_NONE) { | ||
35 | + return false; | ||
36 | + } | ||
37 | + } while (0); | ||
38 | + | ||
39 | + if(context_){ | ||
40 | + aclrtSetCurrentContext(context_); | ||
41 | + | ||
42 | + if (dvppChannelDesc_) { | ||
43 | + (void)acldvppDestroyChannel(dvppChannelDesc_); | ||
44 | + (void)acldvppDestroyChannelDesc(dvppChannelDesc_); | ||
45 | + dvppChannelDesc_ = nullptr; | ||
46 | + } | ||
47 | + | ||
48 | + aclrtDestroyContext(context_); | ||
49 | + } | ||
50 | + | ||
51 | + printf("end.\n"); | ||
52 | + | ||
53 | + return true; | ||
54 | +} | ||
55 | + | ||
56 | +int main() { | ||
57 | + | ||
58 | + printf("start....\n"); | ||
59 | + | ||
60 | + aclInit(nullptr); | ||
61 | + | ||
62 | + char ch = 'a'; | ||
63 | + while (ch != 'q') { | ||
64 | + ch = getchar(); | ||
65 | + switch (ch) | ||
66 | + { | ||
67 | + case 'a': | ||
68 | + test(); | ||
69 | + break; | ||
70 | + case 'c': | ||
71 | + test(); | ||
72 | + break; | ||
73 | + default: | ||
74 | + break; | ||
75 | + } | ||
76 | + } | ||
77 | + | ||
78 | + aclFinalize(); | ||
79 | + | ||
80 | + return 0; | ||
81 | +} | ||
0 | \ No newline at end of file | 82 | \ No newline at end of file |
src/decoder/dvpp/DvppDecoder.cpp
@@ -509,7 +509,7 @@ void DvppDecoder::read_thread() { | @@ -509,7 +509,7 @@ void DvppDecoder::read_thread() { | ||
509 | } | 509 | } |
510 | 510 | ||
511 | m_bExitDisplayThd = false; | 511 | m_bExitDisplayThd = false; |
512 | - std::thread display_thread( | 512 | + std::thread display_thread_( |
513 | [](void* arg) | 513 | [](void* arg) |
514 | { | 514 | { |
515 | DvppDecoder* a=(DvppDecoder*)arg; | 515 | DvppDecoder* a=(DvppDecoder*)arg; |
@@ -649,7 +649,7 @@ void DvppDecoder::read_thread() { | @@ -649,7 +649,7 @@ void DvppDecoder::read_thread() { | ||
649 | CHECK_NOT_RETURN(pthread_join(report_thread, nullptr), "report_thread join failed"); | 649 | CHECK_NOT_RETURN(pthread_join(report_thread, nullptr), "report_thread join failed"); |
650 | 650 | ||
651 | m_bExitDisplayThd = true; | 651 | m_bExitDisplayThd = true; |
652 | - display_thread.join(); | 652 | + display_thread_.join(); |
653 | 653 | ||
654 | m_recoderManager.close(); | 654 | m_recoderManager.close(); |
655 | 655 |
src/decoder/dvpp/VpcUtils.cpp
@@ -32,6 +32,8 @@ int VpcUtils::init(int devId){ | @@ -32,6 +32,8 @@ int VpcUtils::init(int devId){ | ||
32 | 32 | ||
33 | do | 33 | do |
34 | { | 34 | { |
35 | + aclrtCreateStream(&stream_); | ||
36 | + | ||
35 | dvppChannelDesc_ = acldvppCreateChannelDesc(); | 37 | dvppChannelDesc_ = acldvppCreateChannelDesc(); |
36 | 38 | ||
37 | ret = acldvppCreateChannel(dvppChannelDesc_); | 39 | ret = acldvppCreateChannel(dvppChannelDesc_); |
@@ -55,6 +57,11 @@ void VpcUtils::release() { | @@ -55,6 +57,11 @@ void VpcUtils::release() { | ||
55 | dvppChannelDesc_ = nullptr; | 57 | dvppChannelDesc_ = nullptr; |
56 | } | 58 | } |
57 | 59 | ||
60 | + if(nullptr != stream_){ | ||
61 | + aclrtDestroyStream(stream_); | ||
62 | + stream_ = nullptr; | ||
63 | + } | ||
64 | + | ||
58 | aclrtDestroyContext(context_); | 65 | aclrtDestroyContext(context_); |
59 | } | 66 | } |
60 | } | 67 | } |
@@ -80,8 +87,6 @@ DvppDataMemory* VpcUtils::convert2bgr(acldvppPicDesc *inputDesc_, int out_width, | @@ -80,8 +87,6 @@ DvppDataMemory* VpcUtils::convert2bgr(acldvppPicDesc *inputDesc_, int out_width, | ||
80 | acldvppSetPicDescSize(outputDesc_, out_buf_size); | 87 | acldvppSetPicDescSize(outputDesc_, out_buf_size); |
81 | 88 | ||
82 | aclError ret = ACL_ERROR_NONE; | 89 | aclError ret = ACL_ERROR_NONE; |
83 | - aclrtStream stream_{nullptr}; | ||
84 | - aclrtCreateStream(&stream_); | ||
85 | do{ | 90 | do{ |
86 | // 9. 执行异步色域转换,再调用aclrtSynchronizeStream接口阻塞程序运行,直到指定Stream中的所有任务都完成 | 91 | // 9. 执行异步色域转换,再调用aclrtSynchronizeStream接口阻塞程序运行,直到指定Stream中的所有任务都完成 |
87 | ret = acldvppVpcConvertColorAsync(dvppChannelDesc_, inputDesc_, outputDesc_, stream_); | 92 | ret = acldvppVpcConvertColorAsync(dvppChannelDesc_, inputDesc_, outputDesc_, stream_); |
@@ -96,11 +101,6 @@ DvppDataMemory* VpcUtils::convert2bgr(acldvppPicDesc *inputDesc_, int out_width, | @@ -96,11 +101,6 @@ DvppDataMemory* VpcUtils::convert2bgr(acldvppPicDesc *inputDesc_, int out_width, | ||
96 | } | 101 | } |
97 | }while(0); | 102 | }while(0); |
98 | 103 | ||
99 | - if(nullptr != stream_){ | ||
100 | - aclrtDestroyStream(stream_); | ||
101 | - stream_ = nullptr; | ||
102 | - } | ||
103 | - | ||
104 | acldvppDestroyPicDesc(outputDesc_); | 104 | acldvppDestroyPicDesc(outputDesc_); |
105 | 105 | ||
106 | if(ret != ACL_ERROR_NONE){ | 106 | if(ret != ACL_ERROR_NONE){ |
@@ -145,8 +145,6 @@ DvppDataMemory* VpcUtils::convert2bgr(DvppDataMemory* inMem){ | @@ -145,8 +145,6 @@ DvppDataMemory* VpcUtils::convert2bgr(DvppDataMemory* inMem){ | ||
145 | acldvppSetPicDescSize(outputDesc_, out_buf_size); | 145 | acldvppSetPicDescSize(outputDesc_, out_buf_size); |
146 | 146 | ||
147 | aclError ret = ACL_ERROR_NONE; | 147 | aclError ret = ACL_ERROR_NONE; |
148 | - aclrtStream stream_{nullptr}; | ||
149 | - aclrtCreateStream(&stream_); | ||
150 | do{ | 148 | do{ |
151 | // 9. 执行异步色域转换,再调用aclrtSynchronizeStream接口阻塞程序运行,直到指定Stream中的所有任务都完成 | 149 | // 9. 执行异步色域转换,再调用aclrtSynchronizeStream接口阻塞程序运行,直到指定Stream中的所有任务都完成 |
152 | ret = acldvppVpcConvertColorAsync(dvppChannelDesc_, inputDesc_, outputDesc_, stream_); | 150 | ret = acldvppVpcConvertColorAsync(dvppChannelDesc_, inputDesc_, outputDesc_, stream_); |
@@ -161,11 +159,6 @@ DvppDataMemory* VpcUtils::convert2bgr(DvppDataMemory* inMem){ | @@ -161,11 +159,6 @@ DvppDataMemory* VpcUtils::convert2bgr(DvppDataMemory* inMem){ | ||
161 | } | 159 | } |
162 | }while(0); | 160 | }while(0); |
163 | 161 | ||
164 | - if(nullptr != stream_){ | ||
165 | - aclrtDestroyStream(stream_); | ||
166 | - stream_ = nullptr; | ||
167 | - } | ||
168 | - | ||
169 | acldvppDestroyPicDesc(outputDesc_); | 162 | acldvppDestroyPicDesc(outputDesc_); |
170 | acldvppDestroyPicDesc(inputDesc_); | 163 | acldvppDestroyPicDesc(inputDesc_); |
171 | 164 | ||
@@ -200,8 +193,6 @@ DvppDataMemory* VpcUtils::resize(acldvppPicDesc *inputDesc_, int out_width, int | @@ -200,8 +193,6 @@ DvppDataMemory* VpcUtils::resize(acldvppPicDesc *inputDesc_, int out_width, int | ||
200 | acldvppResizeConfig *resizeConfig_ = acldvppCreateResizeConfig(); | 193 | acldvppResizeConfig *resizeConfig_ = acldvppCreateResizeConfig(); |
201 | 194 | ||
202 | aclError ret = ACL_ERROR_NONE; | 195 | aclError ret = ACL_ERROR_NONE; |
203 | - aclrtStream stream_{nullptr}; | ||
204 | - aclrtCreateStream(&stream_); | ||
205 | do{ | 196 | do{ |
206 | // 9. 执行异步色域转换,再调用aclrtSynchronizeStream接口阻塞程序运行,直到指定Stream中的所有任务都完成 | 197 | // 9. 执行异步色域转换,再调用aclrtSynchronizeStream接口阻塞程序运行,直到指定Stream中的所有任务都完成 |
207 | ret = acldvppVpcResizeAsync(dvppChannelDesc_, inputDesc_, outputDesc_, resizeConfig_, stream_); | 198 | ret = acldvppVpcResizeAsync(dvppChannelDesc_, inputDesc_, outputDesc_, resizeConfig_, stream_); |
@@ -216,11 +207,6 @@ DvppDataMemory* VpcUtils::resize(acldvppPicDesc *inputDesc_, int out_width, int | @@ -216,11 +207,6 @@ DvppDataMemory* VpcUtils::resize(acldvppPicDesc *inputDesc_, int out_width, int | ||
216 | } | 207 | } |
217 | }while(0); | 208 | }while(0); |
218 | 209 | ||
219 | - if(nullptr != stream_){ | ||
220 | - aclrtDestroyStream(stream_); | ||
221 | - stream_ = nullptr; | ||
222 | - } | ||
223 | - | ||
224 | acldvppDestroyResizeConfig(resizeConfig_); | 210 | acldvppDestroyResizeConfig(resizeConfig_); |
225 | acldvppDestroyPicDesc(outputDesc_); | 211 | acldvppDestroyPicDesc(outputDesc_); |
226 | 212 |
src/decoder/dvpp/VpcUtils.h
@@ -17,6 +17,7 @@ private: | @@ -17,6 +17,7 @@ private: | ||
17 | void release(); | 17 | void release(); |
18 | private: | 18 | private: |
19 | aclrtContext context_{nullptr}; | 19 | aclrtContext context_{nullptr}; |
20 | + aclrtStream stream_{nullptr}; | ||
20 | int m_devId; | 21 | int m_devId; |
21 | acldvppChannelDesc *dvppChannelDesc_ {nullptr}; | 22 | acldvppChannelDesc *dvppChannelDesc_ {nullptr}; |
22 | string m_dec_name; | 23 | string m_dec_name; |
src/demo/demo.cpp
@@ -1237,7 +1237,7 @@ void test_gpu(int gpuID){ | @@ -1237,7 +1237,7 @@ void test_gpu(int gpuID){ | ||
1237 | 1237 | ||
1238 | // } | 1238 | // } |
1239 | 1239 | ||
1240 | - // createTask(handle, algor_vec2, 0, false); | 1240 | + createTask(handle, algor_vec2, 0, false); |
1241 | // createTask(handle, algor_vec2, 2, false); | 1241 | // createTask(handle, algor_vec2, 2, false); |
1242 | // createTask(handle, algor_vec2, 0, false); | 1242 | // createTask(handle, algor_vec2, 0, false); |
1243 | // createTask(handle, algor_vec2, 2, false); | 1243 | // createTask(handle, algor_vec2, 2, false); |
@@ -1347,23 +1347,23 @@ init_mq_conn(handle); | @@ -1347,23 +1347,23 @@ init_mq_conn(handle); | ||
1347 | 1347 | ||
1348 | 1348 | ||
1349 | 1349 | ||
1350 | - int status = -1; | ||
1351 | - while (true) | ||
1352 | - { | ||
1353 | - status = get_task_status(handle,"34020000001320000207"); | ||
1354 | - if (status == 0) | ||
1355 | - { | ||
1356 | - createTask_dvpp28181(handle, algor_vec, 4, false); | ||
1357 | - } | 1350 | + // int status = -1; |
1351 | + // while (true) | ||
1352 | + // { | ||
1353 | + // status = get_task_status(handle,"34020000001320000207"); | ||
1354 | + // if (status == 0) | ||
1355 | + // { | ||
1356 | + // createTask_dvpp28181(handle, algor_vec, 4, false); | ||
1357 | + // } | ||
1358 | 1358 | ||
1359 | - status = get_task_status(handle,"34020000001310000176"); | ||
1360 | - if (status == 0) | ||
1361 | - { | ||
1362 | - createTask_dvpp28181(handle, algor_vec, 5, false); | ||
1363 | - } | 1359 | + // status = get_task_status(handle,"34020000001310000176"); |
1360 | + // if (status == 0) | ||
1361 | + // { | ||
1362 | + // createTask_dvpp28181(handle, algor_vec, 5, false); | ||
1363 | + // } | ||
1364 | 1364 | ||
1365 | - std::this_thread::sleep_for(std::chrono::seconds(5)); | ||
1366 | - } | 1365 | + // std::this_thread::sleep_for(std::chrono::seconds(5)); |
1366 | + // } | ||
1367 | 1367 | ||
1368 | 1368 | ||
1369 | 1369 | ||
@@ -1426,12 +1426,12 @@ int main(int argc, char *argv[]) { | @@ -1426,12 +1426,12 @@ int main(int argc, char *argv[]) { | ||
1426 | // int repeat_num = atoi(argv[3]); | 1426 | // int repeat_num = atoi(argv[3]); |
1427 | // int gpuID = atoi(argv[4]); | 1427 | // int gpuID = atoi(argv[4]); |
1428 | 1428 | ||
1429 | - test_gpu(0); | 1429 | + // test_gpu(0); |
1430 | // test_gpu(1); | 1430 | // test_gpu(1); |
1431 | // test_gpu(2); | 1431 | // test_gpu(2); |
1432 | // test_gpu(3); | 1432 | // test_gpu(3); |
1433 | 1433 | ||
1434 | - // test_dvpp28181(0); | 1434 | + test_dvpp28181(0); |
1435 | 1435 | ||
1436 | printf("Done.\n"); | 1436 | printf("Done.\n"); |
1437 | 1437 |
src/util/vpc_util.cpp
@@ -34,6 +34,11 @@ void VPCUtil::release() | @@ -34,6 +34,11 @@ void VPCUtil::release() | ||
34 | aclError ret = acldvppDestroyChannel(dvppChannelDesc_); | 34 | aclError ret = acldvppDestroyChannel(dvppChannelDesc_); |
35 | ret = acldvppDestroyChannelDesc(dvppChannelDesc_); | 35 | ret = acldvppDestroyChannelDesc(dvppChannelDesc_); |
36 | 36 | ||
37 | + if (stream_ != nullptr) { | ||
38 | + aclrtDestroyStream(stream_); | ||
39 | + stream_ = nullptr; | ||
40 | + } | ||
41 | + | ||
37 | ret = aclrtDestroyContext(context_); | 42 | ret = aclrtDestroyContext(context_); |
38 | if (ret != ACL_SUCCESS) { | 43 | if (ret != ACL_SUCCESS) { |
39 | LOG_ERROR("destroy context failed"); | 44 | LOG_ERROR("destroy context failed"); |
@@ -44,6 +49,19 @@ void VPCUtil::release() | @@ -44,6 +49,19 @@ void VPCUtil::release() | ||
44 | LOG_INFO("end to reset device is %d", deviceId_); | 49 | LOG_INFO("end to reset device is %d", deviceId_); |
45 | } | 50 | } |
46 | 51 | ||
52 | +int VPCUtil::init(int32_t devId){ | ||
53 | + deviceId_ = devId; | ||
54 | + | ||
55 | + aclError ret; | ||
56 | + aclrtCreateContext(&context_, deviceId_); | ||
57 | + | ||
58 | + aclrtCreateStream(&stream_); | ||
59 | + | ||
60 | + // channel 准备 | ||
61 | + dvppChannelDesc_ = acldvppCreateChannelDesc(); | ||
62 | + ret = acldvppCreateChannel(dvppChannelDesc_); | ||
63 | +} | ||
64 | + | ||
47 | static void adjustCoordinate(uint32_t& left, uint32_t& right, uint32_t& top, uint32_t& bottom, const uint32_t& width, const uint32_t& height) { | 65 | static void adjustCoordinate(uint32_t& left, uint32_t& right, uint32_t& top, uint32_t& bottom, const uint32_t& width, const uint32_t& height) { |
48 | uint32_t cropWidth = right - left; | 66 | uint32_t cropWidth = right - left; |
49 | uint32_t cropHeight = bottom - top; | 67 | uint32_t cropHeight = bottom - top; |
@@ -133,8 +151,6 @@ vpc_img_info VPCUtil::crop(DeviceMemory *devMem, video_object_info obj) { | @@ -133,8 +151,6 @@ vpc_img_info VPCUtil::crop(DeviceMemory *devMem, video_object_info obj) { | ||
133 | acldvppSetPicDescHeightStride(vpcOutputDesc_, cropSizeHeight); | 151 | acldvppSetPicDescHeightStride(vpcOutputDesc_, cropSizeHeight); |
134 | acldvppSetPicDescSize(vpcOutputDesc_, vpcOutBufferSize_); | 152 | acldvppSetPicDescSize(vpcOutputDesc_, vpcOutBufferSize_); |
135 | 153 | ||
136 | - aclrtStream stream_; | ||
137 | - aclrtCreateStream(&stream_); | ||
138 | bool bRet = false; | 154 | bool bRet = false; |
139 | do | 155 | do |
140 | { | 156 | { |
@@ -158,10 +174,6 @@ vpc_img_info VPCUtil::crop(DeviceMemory *devMem, video_object_info obj) { | @@ -158,10 +174,6 @@ vpc_img_info VPCUtil::crop(DeviceMemory *devMem, video_object_info obj) { | ||
158 | 174 | ||
159 | bRet = true; | 175 | bRet = true; |
160 | } while (0); | 176 | } while (0); |
161 | - | ||
162 | - if (stream_ != nullptr) { | ||
163 | - aclrtDestroyStream(stream_); | ||
164 | - } | ||
165 | 177 | ||
166 | acldvppDestroyPicDesc(vpcInputDesc_); | 178 | acldvppDestroyPicDesc(vpcInputDesc_); |
167 | 179 | ||
@@ -182,17 +194,6 @@ vpc_img_info VPCUtil::crop(DeviceMemory *devMem, video_object_info obj) { | @@ -182,17 +194,6 @@ vpc_img_info VPCUtil::crop(DeviceMemory *devMem, video_object_info obj) { | ||
182 | return img_info; | 194 | return img_info; |
183 | } | 195 | } |
184 | 196 | ||
185 | -int VPCUtil::init(int32_t devId){ | ||
186 | - deviceId_ = devId; | ||
187 | - | ||
188 | - aclError ret; | ||
189 | - aclrtCreateContext(&context_, deviceId_); | ||
190 | - | ||
191 | - // channel 准备 | ||
192 | - dvppChannelDesc_ = acldvppCreateChannelDesc(); | ||
193 | - ret = acldvppCreateChannel(dvppChannelDesc_); | ||
194 | -} | ||
195 | - | ||
196 | vector<vpc_img_info> VPCUtil::crop_batch(DeviceMemory *devMem, vector<video_object_info> objs){ | 197 | vector<vpc_img_info> VPCUtil::crop_batch(DeviceMemory *devMem, vector<video_object_info> objs){ |
197 | 198 | ||
198 | vector<vpc_img_info> vec_img_info; | 199 | vector<vpc_img_info> vec_img_info; |
@@ -294,9 +295,6 @@ vector<vpc_img_info> VPCUtil::crop_batch(DeviceMemory *devMem, vector<video_obje | @@ -294,9 +295,6 @@ vector<vpc_img_info> VPCUtil::crop_batch(DeviceMemory *devMem, vector<video_obje | ||
294 | (void)acldvppSetPicDescSize(vpcOutputDesc, vpcOutBufferSize_); | 295 | (void)acldvppSetPicDescSize(vpcOutputDesc, vpcOutBufferSize_); |
295 | } | 296 | } |
296 | 297 | ||
297 | - aclrtStream stream_; | ||
298 | - aclrtCreateStream(&stream_); | ||
299 | - | ||
300 | bool bRet = false; | 298 | bool bRet = false; |
301 | do { | 299 | do { |
302 | uint32_t roiNums[] = { outputBatchSize_ }; | 300 | uint32_t roiNums[] = { outputBatchSize_ }; |
@@ -348,12 +346,6 @@ vector<vpc_img_info> VPCUtil::crop_batch(DeviceMemory *devMem, vector<video_obje | @@ -348,12 +346,6 @@ vector<vpc_img_info> VPCUtil::crop_batch(DeviceMemory *devMem, vector<video_obje | ||
348 | 346 | ||
349 | bRet = true; | 347 | bRet = true; |
350 | } while (0); | 348 | } while (0); |
351 | - | ||
352 | - if (stream_ != nullptr) { | ||
353 | - aclrtDestroyStream(stream_); | ||
354 | - } | ||
355 | - | ||
356 | - aclrtSetCurrentContext(context_); | ||
357 | 349 | ||
358 | if (vpcInputBatchDesc_ != nullptr) { | 350 | if (vpcInputBatchDesc_ != nullptr) { |
359 | (void)acldvppDestroyBatchPicDesc(vpcInputBatchDesc_); | 351 | (void)acldvppDestroyBatchPicDesc(vpcInputBatchDesc_); |
src/util/vpc_util.h