Commit e69cf19fdd8a53c22c54f6bca34f69f37b7e7cfa

Authored by Hu Chunming
1 parent 307ce3ec

同步代码,修复任务结束时的崩溃

.vscode/c_cpp_properties.json 0 → 100644
  1 +{
  2 + "configurations": [
  3 + {
  4 + "name": "linux-gcc-x64",
  5 + "includePath": [
  6 + "${workspaceFolder}/**"
  7 + ],
  8 + "compilerPath": "/usr/bin/gcc",
  9 + "cStandard": "${default}",
  10 + "cppStandard": "${default}",
  11 + "intelliSenseMode": "linux-gcc-x64",
  12 + "compilerArgs": [
  13 + ""
  14 + ]
  15 + }
  16 + ],
  17 + "version": 4
  18 +}
0 \ No newline at end of file 19 \ No newline at end of file
.vscode/launch.json
1 { 1 {
2 - "version": "0.2.0",  
3 - "configurations": [  
4 - {  
5 - "name": "mvpt",  
6 - "type": "cppdbg",  
7 - "request": "launch",  
8 - "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/test",  
9 - "args": ["file:///home/cmhu/data/video/Street.uvf","2","0","./db/mvpt.bin"],  
10 - "stopAtEntry": false,  
11 - "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",  
12 - "environment": [],  
13 - "externalConsole": false,  
14 - "MIMode": "gdb",  
15 - "setupCommands": [  
16 - {  
17 - "description": "Enable pretty-printing for gdb",  
18 - "text": "-enable-pretty-printing",  
19 - "ignoreFailures": true  
20 - }  
21 - ]  
22 - },{  
23 - "name": "test_face",  
24 - "type": "cppdbg",  
25 - "request": "launch",  
26 - "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/test_face",  
27 - "args": ["file:///home/cmhu/data/video/Street.uvf?fastdecode=on","6","0","./db/mvpt.bin"],  
28 - "stopAtEntry": false,  
29 - "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",  
30 - "environment": [],  
31 - "externalConsole": false,  
32 - "MIMode": "gdb",  
33 - "setupCommands": [  
34 - {  
35 - "description": "Enable pretty-printing for gdb",  
36 - "text": "-enable-pretty-printing",  
37 - "ignoreFailures": true  
38 - }  
39 - ]  
40 - },{  
41 - "name": "DxDecoderTest",  
42 - "type": "cppdbg",  
43 - "request": "launch",  
44 - "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/DxDecoderTest",  
45 - "args": ["file:///home/cmhu/data/video/Street.uvf?fastdecode=on","6","0","./db/mvpt.bin"],  
46 - "stopAtEntry": false,  
47 - "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",  
48 - "environment": [],  
49 - "externalConsole": false,  
50 - "MIMode": "gdb",  
51 - "setupCommands": [  
52 - {  
53 - "description": "Enable pretty-printing for gdb",  
54 - "text": "-enable-pretty-printing",  
55 - "ignoreFailures": true  
56 - }  
57 - ]  
58 - },{  
59 - "name": "vpdr_test",  
60 - "type": "cppdbg",  
61 - "request": "launch",  
62 - "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/vpdr_test",  
63 - "args": ["file:///home/cmhu/data/video/Street.uvf?fastdecode=on","6","0","./db/mvpt.bin"],  
64 - "stopAtEntry": false,  
65 - "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",  
66 - "environment": [],  
67 - "externalConsole": false,  
68 - "MIMode": "gdb",  
69 - "setupCommands": [  
70 - {  
71 - "description": "Enable pretty-printing for gdb",  
72 - "text": "-enable-pretty-printing",  
73 - "ignoreFailures": true  
74 - }  
75 - ]  
76 - }  
77 - ]  
78 - }  
79 \ No newline at end of file 2 \ No newline at end of file
  3 + "version": "0.2.0",
  4 + "configurations": [
  5 + {
  6 + "name": "mvpt",
  7 + "type": "cppdbg",
  8 + "request": "launch",
  9 + "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/test",
  10 + "args": [
  11 + "file:///home/cmhu/data/video/dongba.mp4",
  12 + "2",
  13 + "0",
  14 + "./db/mvpt.bin"
  15 + ],
  16 + "stopAtEntry": false,
  17 + "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",
  18 + "environment": [],
  19 + "externalConsole": false,
  20 + "MIMode": "gdb",
  21 + "setupCommands": [
  22 + {
  23 + "description": "Enable pretty-printing for gdb",
  24 + "text": "-enable-pretty-printing",
  25 + "ignoreFailures": true
  26 + }
  27 + ]
  28 + },
  29 + {
  30 + "name": "test_face",
  31 + "type": "cppdbg",
  32 + "request": "launch",
  33 + "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/test_face",
  34 + "args": [
  35 + "file:///home/cmhu/data/video/Street.uvf?fastdecode=on",
  36 + "6",
  37 + "0",
  38 + "./db/mvpt.bin"
  39 + ],
  40 + "stopAtEntry": false,
  41 + "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",
  42 + "environment": [],
  43 + "externalConsole": false,
  44 + "MIMode": "gdb",
  45 + "setupCommands": [
  46 + {
  47 + "description": "Enable pretty-printing for gdb",
  48 + "text": "-enable-pretty-printing",
  49 + "ignoreFailures": true
  50 + }
  51 + ]
  52 + },
  53 + {
  54 + "name": "DxDecoderTest",
  55 + "type": "cppdbg",
  56 + "request": "launch",
  57 + "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/DxDecoderTest",
  58 + "args": [
  59 + "file:///home/cmhu/data/video/Street.uvf?fastdecode=on",
  60 + "6",
  61 + "0",
  62 + "./db/mvpt.bin"
  63 + ],
  64 + "stopAtEntry": false,
  65 + "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",
  66 + "environment": [],
  67 + "externalConsole": false,
  68 + "MIMode": "gdb",
  69 + "setupCommands": [
  70 + {
  71 + "description": "Enable pretty-printing for gdb",
  72 + "text": "-enable-pretty-printing",
  73 + "ignoreFailures": true
  74 + }
  75 + ]
  76 + },
  77 + {
  78 + "name": "vpdr_test",
  79 + "type": "cppdbg",
  80 + "request": "launch",
  81 + "program": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512/vpdr_test",
  82 + "args": [
  83 + "file:///home/cmhu/data/video/Street.uvf?fastdecode=on",
  84 + "6",
  85 + "0",
  86 + "./db/mvpt.bin"
  87 + ],
  88 + "stopAtEntry": false,
  89 + "cwd": "${workspaceFolder}/Linux_3rdparty/video_structure_sdk_20220512",
  90 + "environment": [],
  91 + "externalConsole": false,
  92 + "MIMode": "gdb",
  93 + "setupCommands": [
  94 + {
  95 + "description": "Enable pretty-printing for gdb",
  96 + "text": "-enable-pretty-printing",
  97 + "ignoreFailures": true
  98 + }
  99 + ]
  100 + },
  101 + {
  102 + "name": "C/C++ Runner: Debug Session",
  103 + "type": "cppdbg",
  104 + "request": "launch",
  105 + "args": [],
  106 + "stopAtEntry": false,
  107 + "externalConsole": false,
  108 + "cwd": "/home/cmhu/Project_VideoStructure/vehicle_structure_platform.git0708-3080-trt-face/src/VPT",
  109 + "program": "/home/cmhu/Project_VideoStructure/vehicle_structure_platform.git0708-3080-trt-face/src/VPT/build/Debug/outDebug",
  110 + "MIMode": "gdb",
  111 + "miDebuggerPath": "gdb",
  112 + "setupCommands": [
  113 + {
  114 + "description": "Enable pretty-printing for gdb",
  115 + "text": "-enable-pretty-printing",
  116 + "ignoreFailures": true
  117 + }
  118 + ]
  119 + }
  120 + ]
  121 +}
80 \ No newline at end of file 122 \ No newline at end of file
.vscode/settings.json
1 { 1 {
2 - "files.associations": {  
3 - "*.tcc": "cpp",  
4 - "fstream": "cpp",  
5 - "system_error": "cpp",  
6 - "thread": "cpp",  
7 - "chrono": "cpp",  
8 - "cctype": "cpp",  
9 - "clocale": "cpp",  
10 - "cmath": "cpp",  
11 - "csignal": "cpp",  
12 - "cstdarg": "cpp",  
13 - "cstddef": "cpp",  
14 - "cstdio": "cpp",  
15 - "cstdlib": "cpp",  
16 - "cstring": "cpp",  
17 - "ctime": "cpp",  
18 - "cwchar": "cpp",  
19 - "cwctype": "cpp",  
20 - "*.ipp": "cpp",  
21 - "array": "cpp",  
22 - "atomic": "cpp",  
23 - "hash_map": "cpp",  
24 - "hash_set": "cpp",  
25 - "strstream": "cpp",  
26 - "bitset": "cpp",  
27 - "complex": "cpp",  
28 - "condition_variable": "cpp",  
29 - "cstdint": "cpp",  
30 - "deque": "cpp",  
31 - "forward_list": "cpp",  
32 - "list": "cpp",  
33 - "unordered_map": "cpp",  
34 - "unordered_set": "cpp",  
35 - "vector": "cpp",  
36 - "exception": "cpp",  
37 - "rope": "cpp",  
38 - "slist": "cpp",  
39 - "functional": "cpp",  
40 - "future": "cpp",  
41 - "initializer_list": "cpp",  
42 - "iomanip": "cpp",  
43 - "iosfwd": "cpp",  
44 - "iostream": "cpp",  
45 - "istream": "cpp",  
46 - "limits": "cpp",  
47 - "mutex": "cpp",  
48 - "new": "cpp",  
49 - "ostream": "cpp",  
50 - "numeric": "cpp",  
51 - "ratio": "cpp",  
52 - "sstream": "cpp",  
53 - "stdexcept": "cpp",  
54 - "streambuf": "cpp",  
55 - "cfenv": "cpp",  
56 - "cinttypes": "cpp",  
57 - "regex": "cpp",  
58 - "tuple": "cpp",  
59 - "type_traits": "cpp",  
60 - "utility": "cpp",  
61 - "typeindex": "cpp",  
62 - "typeinfo": "cpp",  
63 - "valarray": "cpp",  
64 - "bit": "cpp",  
65 - "codecvt": "cpp",  
66 - "compare": "cpp",  
67 - "concepts": "cpp",  
68 - "map": "cpp",  
69 - "set": "cpp",  
70 - "string": "cpp",  
71 - "algorithm": "cpp",  
72 - "iterator": "cpp",  
73 - "memory": "cpp",  
74 - "memory_resource": "cpp",  
75 - "optional": "cpp",  
76 - "random": "cpp",  
77 - "string_view": "cpp",  
78 - "numbers": "cpp",  
79 - "semaphore": "cpp",  
80 - "stop_token": "cpp",  
81 - "variant": "cpp",  
82 - "*.inc": "cpp"  
83 - },  
84 - "git.ignoreLimitWarning": true 2 + "files.associations": {
  3 + "*.tcc": "cpp",
  4 + "fstream": "cpp",
  5 + "system_error": "cpp",
  6 + "thread": "cpp",
  7 + "chrono": "cpp",
  8 + "cctype": "cpp",
  9 + "clocale": "cpp",
  10 + "cmath": "cpp",
  11 + "csignal": "cpp",
  12 + "cstdarg": "cpp",
  13 + "cstddef": "cpp",
  14 + "cstdio": "cpp",
  15 + "cstdlib": "cpp",
  16 + "cstring": "cpp",
  17 + "ctime": "cpp",
  18 + "cwchar": "cpp",
  19 + "cwctype": "cpp",
  20 + "*.ipp": "cpp",
  21 + "array": "cpp",
  22 + "atomic": "cpp",
  23 + "hash_map": "cpp",
  24 + "hash_set": "cpp",
  25 + "strstream": "cpp",
  26 + "bitset": "cpp",
  27 + "complex": "cpp",
  28 + "condition_variable": "cpp",
  29 + "cstdint": "cpp",
  30 + "deque": "cpp",
  31 + "forward_list": "cpp",
  32 + "list": "cpp",
  33 + "unordered_map": "cpp",
  34 + "unordered_set": "cpp",
  35 + "vector": "cpp",
  36 + "exception": "cpp",
  37 + "rope": "cpp",
  38 + "slist": "cpp",
  39 + "functional": "cpp",
  40 + "future": "cpp",
  41 + "initializer_list": "cpp",
  42 + "iomanip": "cpp",
  43 + "iosfwd": "cpp",
  44 + "iostream": "cpp",
  45 + "istream": "cpp",
  46 + "limits": "cpp",
  47 + "mutex": "cpp",
  48 + "new": "cpp",
  49 + "ostream": "cpp",
  50 + "numeric": "cpp",
  51 + "ratio": "cpp",
  52 + "sstream": "cpp",
  53 + "stdexcept": "cpp",
  54 + "streambuf": "cpp",
  55 + "cfenv": "cpp",
  56 + "cinttypes": "cpp",
  57 + "regex": "cpp",
  58 + "tuple": "cpp",
  59 + "type_traits": "cpp",
  60 + "utility": "cpp",
  61 + "typeindex": "cpp",
  62 + "typeinfo": "cpp",
  63 + "valarray": "cpp",
  64 + "bit": "cpp",
  65 + "codecvt": "cpp",
  66 + "compare": "cpp",
  67 + "concepts": "cpp",
  68 + "map": "cpp",
  69 + "set": "cpp",
  70 + "string": "cpp",
  71 + "algorithm": "cpp",
  72 + "iterator": "cpp",
  73 + "memory": "cpp",
  74 + "memory_resource": "cpp",
  75 + "optional": "cpp",
  76 + "random": "cpp",
  77 + "string_view": "cpp",
  78 + "numbers": "cpp",
  79 + "semaphore": "cpp",
  80 + "stop_token": "cpp",
  81 + "variant": "cpp",
  82 + "*.inc": "cpp"
  83 + },
  84 + "git.ignoreLimitWarning": true,
  85 + "C_Cpp_Runner.cCompilerPath": "gcc",
  86 + "C_Cpp_Runner.cppCompilerPath": "g++",
  87 + "C_Cpp_Runner.debuggerPath": "gdb",
  88 + "C_Cpp_Runner.cStandard": "",
  89 + "C_Cpp_Runner.cppStandard": "",
  90 + "C_Cpp_Runner.msvcBatchPath": "",
  91 + "C_Cpp_Runner.useMsvc": false,
  92 + "C_Cpp_Runner.warnings": [
  93 + "-Wall",
  94 + "-Wextra",
  95 + "-Wpedantic",
  96 + "-Wshadow",
  97 + "-Wformat=2",
  98 + "-Wcast-align",
  99 + "-Wconversion",
  100 + "-Wsign-conversion",
  101 + "-Wnull-dereference"
  102 + ],
  103 + "C_Cpp_Runner.msvcWarnings": [
  104 + "/W4",
  105 + "/permissive-",
  106 + "/w14242",
  107 + "/w14287",
  108 + "/w14296",
  109 + "/w14311",
  110 + "/w14826",
  111 + "/w44062",
  112 + "/w44242",
  113 + "/w14905",
  114 + "/w14906",
  115 + "/w14263",
  116 + "/w44265",
  117 + "/w14928"
  118 + ],
  119 + "C_Cpp_Runner.enableWarnings": true,
  120 + "C_Cpp_Runner.warningsAsError": false,
  121 + "C_Cpp_Runner.compilerArgs": [],
  122 + "C_Cpp_Runner.linkerArgs": [],
  123 + "C_Cpp_Runner.includePaths": [],
  124 + "C_Cpp_Runner.includeSearch": [
  125 + "*",
  126 + "**/*"
  127 + ],
  128 + "C_Cpp_Runner.excludeSearch": [
  129 + "**/build",
  130 + "**/build/**",
  131 + "**/.*",
  132 + "**/.*/**",
  133 + "**/.vscode",
  134 + "**/.vscode/**"
  135 + ],
  136 + "C_Cpp_Runner.useAddressSanitizer": false,
  137 + "C_Cpp_Runner.useUndefinedSanitizer": false,
  138 + "C_Cpp_Runner.useLeakSanitizer": false,
  139 + "C_Cpp_Runner.showCompilationTime": false,
  140 + "C_Cpp_Runner.useLinkTimeOptimization": false,
  141 + "C_Cpp_Runner.msvcSecureNoWarnings": false
85 } 142 }
86 \ No newline at end of file 143 \ No newline at end of file
vehicle_structure_platform.git0708-3080-trt-face/src/SfxDecoder/SfxDecoder.cpp
@@ -6,10 +6,6 @@ @@ -6,10 +6,6 @@
6 6
7 #include "sfx_depend_inc.h" 7 #include "sfx_depend_inc.h"
8 8
9 -#include "cuda_kernels.h"  
10 -#include <fstream>  
11 -#include <iostream>  
12 -  
13 using namespace std; 9 using namespace std;
14 10
15 SfxDecoder::SfxDecoder( ) 11 SfxDecoder::SfxDecoder( )
@@ -47,30 +43,30 @@ bool SfxDecoder::OpenDecoder(DxDecoderConfig&amp; cfg) @@ -47,30 +43,30 @@ bool SfxDecoder::OpenDecoder(DxDecoderConfig&amp; cfg)
47 sfx_cfg->flags.useFastDecode = 0; 43 sfx_cfg->flags.useFastDecode = 0;
48 sfx_cfg->flags.accelId = m_cfg.devId; 44 sfx_cfg->flags.accelId = m_cfg.devId;
49 sfx_cfg->flags.frameNumber = 1; 45 sfx_cfg->flags.frameNumber = 1;
50 - // sfx_cfg->flags.fmt = SFX_VIDEO_FORMAT_NV12U8;  
51 - sfx_cfg->flags.fmt = SFX_VIDEO_FORMAT_C3BGRU8; 46 + sfx_cfg->flags.fmt = SFX_VIDEO_FORMAT_NV12U8;
  47 + //sfx_cfg->flags.fmt = SFX_VIDEO_FORMAT_C3BGRU8;
52 48
53 m_handler = SfxStreamHandlerInterface::SfxGetInstance(sfx_cfg); 49 m_handler = SfxStreamHandlerInterface::SfxGetInstance(sfx_cfg);
54 50
55 m_dec_name = m_cfg.dec_name; 51 m_dec_name = m_cfg.dec_name;
56 52
57 - cout << "open: " << m_cfg.uri << endl;  
58 -  
59 int nRet = m_handler->SfxOpenStreamHandler( m_cfg.uri.c_str() ); 53 int nRet = m_handler->SfxOpenStreamHandler( m_cfg.uri.c_str() );
60 if (nRet != 0) { 54 if (nRet != 0) {
61 m_bRun = false; 55 m_bRun = false;
62 -  
63 - LOG_INFO( "[{}]-OpenDecoder failed!", m_dec_name); 56 + LOG_ERROR( "[{}]-OpenDecoder failed: {}", m_dec_name, m_cfg.uri);
64 return false; 57 return false;
65 } 58 }
66 59
67 m_bRun = true; 60 m_bRun = true;
  61 +
  62 + LOG_DEBUG("[{}]-OpenDecoder succeed: {}", m_dec_name, m_cfg.uri);
  63 +
68 return true; 64 return true;
69 } 65 }
70 66
71 int SfxDecoder::CloseDecoder() 67 int SfxDecoder::CloseDecoder()
72 { 68 {
73 - if (sfx_null != m_handler) { // linux待同步 69 + if (sfx_null != m_handler) {
74 m_handler->SfxCloseStreamHandler(); 70 m_handler->SfxCloseStreamHandler();
75 while (m_bRun) 71 while (m_bRun)
76 { 72 {
@@ -137,7 +133,7 @@ sfx_32 SfxDecoder::SfxLogDefaultHandler( @@ -137,7 +133,7 @@ sfx_32 SfxDecoder::SfxLogDefaultHandler(
137 sfx_u32 logLen 133 sfx_u32 logLen
138 ) 134 )
139 { 135 {
140 - SfxDecoder * pThis = ( SfxDecoder * )userPtr; 136 + SfxDecoder * pThis = (SfxDecoder*)userPtr;
141 137
142 if ( SFX_LOG_LEVEL_IMPORTANT == level) //modify by zsh 220602 138 if ( SFX_LOG_LEVEL_IMPORTANT == level) //modify by zsh 220602
143 { 139 {
@@ -147,13 +143,15 @@ sfx_32 SfxDecoder::SfxLogDefaultHandler( @@ -147,13 +143,15 @@ sfx_32 SfxDecoder::SfxLogDefaultHandler(
147 143
148 if ( SFX_LOG_LEVEL_CLEANUP == level ) 144 if ( SFX_LOG_LEVEL_CLEANUP == level )
149 { 145 {
  146 + pThis->m_handler = sfx_null;
150 pThis->m_bRun = sfx_false; 147 pThis->m_bRun = sfx_false;
151 if ( pThis->m_cfg.logcbk ) 148 if ( pThis->m_cfg.logcbk )
152 { 149 {
  150 + //LOG_DEBUG("[{}]- DX_LOG_LEVEL_CLEANUP {}", pThis->m_dec_name, reinterpret_cast<int>(pThis));
153 pThis->m_cfg.logcbk( pThis->m_cfg.userPtr, DX_LOG_LEVEL_CLEANUP, "DxDecoder[CUDA] module exited..", 0 ); 151 pThis->m_cfg.logcbk( pThis->m_cfg.userPtr, DX_LOG_LEVEL_CLEANUP, "DxDecoder[CUDA] module exited..", 0 );
154 } 152 }
155 } 153 }
156 - else if (pThis->m_cfg.log_all) 154 + else if (pThis->m_cfg.log_all)
157 { 155 {
158 pThis->m_cfg.log_all(pThis->m_cfg.log_user_ptr, (int)level, log, logLen); 156 pThis->m_cfg.log_all(pThis->m_cfg.log_user_ptr, (int)level, log, logLen);
159 } 157 }
vehicle_structure_platform.git0708-3080-trt-face/src/SfxDecoder/SfxDecoder.h
@@ -30,7 +30,7 @@ typedef void (*DXDECODER_CALLBACK)( const void * userPtr, void * buf, unsigned i @@ -30,7 +30,7 @@ typedef void (*DXDECODER_CALLBACK)( const void * userPtr, void * buf, unsigned i
30 typedef struct DxDecoderConfig 30 typedef struct DxDecoderConfig
31 { 31 {
32 DxLogHandler logcbk; // 日志回调接口 32 DxLogHandler logcbk; // 日志回调接口
33 - LOG_ALL_CALLBACK log_all{nullptr}; 33 + LOG_ALL_CALLBACK log_all{ nullptr };
34 void* log_user_ptr{nullptr}; 34 void* log_user_ptr{nullptr};
35 const void * userPtr; // 用户数据 35 const void * userPtr; // 用户数据
36 DXDECODER_CALLBACK escbk; // 解码后帧数据回调接口 36 DXDECODER_CALLBACK escbk; // 解码后帧数据回调接口
@@ -69,6 +69,8 @@ public: @@ -69,6 +69,8 @@ public:
69 DxVideoConfig m_video; 69 DxVideoConfig m_video;
70 SfxStreamHandlerInterface * m_handler; 70 SfxStreamHandlerInterface * m_handler;
71 71
  72 + string m_dec_name;
  73 +
72 private: 74 private:
73 static sfx_32 sfx_stdcall SfxStreamCallback( 75 static sfx_32 sfx_stdcall SfxStreamCallback(
74 const sfx_void * userPtr, 76 const sfx_void * userPtr,
@@ -91,7 +93,6 @@ private: @@ -91,7 +93,6 @@ private:
91 sfx_bool m_bRun; 93 sfx_bool m_bRun;
92 94
93 bool m_bReal{false}; 95 bool m_bReal{false};
94 - string m_dec_name;  
95 96
96 }; 97 };
97 98
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/MutliSourceVideoProcess.cpp
@@ -352,7 +352,7 @@ bool CMutliSourceVideoProcess::AddTask(task_param tparam) //debug by zsh @@ -352,7 +352,7 @@ bool CMutliSourceVideoProcess::AddTask(task_param tparam) //debug by zsh
352 return false; 352 return false;
353 } 353 }
354 354
355 - LOG_INFO("[{}] - finish add codec.", cfg.name.c_str()); 355 + LOG_INFO("[{}] - add codec succeed.", cfg.name.c_str());
356 356
357 new_task.taskState = PLAY; 357 new_task.taskState = PLAY;
358 new_task.taskFrameCount = 0; 358 new_task.taskFrameCount = 0;
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/VPTProcess.cpp
@@ -157,7 +157,7 @@ int VPTProcess::init(int gpuid, int max_batch_size) @@ -157,7 +157,7 @@ int VPTProcess::init(int gpuid, int max_batch_size)
157 param.device_type_ = DEVICE_GPU; 157 param.device_type_ = DEVICE_GPU;
158 param.device_id_ = gpuid; 158 param.device_id_ = gpuid;
159 param.engine_type_ = ENGINE_TENSORRT; 159 param.engine_type_ = ENGINE_TENSORRT;
160 - param.trt_serialize_file_ = "./serialize_file/V_VPT"; 160 + param.trt_serialize_file_ = "./serialize_file/VPT";
161 161
162 m_max_batch_size = max_batch_size; 162 m_max_batch_size = max_batch_size;
163 163
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/snapshot_helper.cpp
1 #include "opencv2/opencv.hpp" 1 #include "opencv2/opencv.hpp"
2 #include "opencv2/highgui/highgui.hpp" 2 #include "opencv2/highgui/highgui.hpp"
3 #include "snapshot_helper.h" 3 #include "snapshot_helper.h"
4 -#include "CropImg.h"  
5 4
6 #include <chrono> 5 #include <chrono>
  6 +#include <algorithm>
7 7
8 #include "depend_inc.h" 8 #include "depend_inc.h"
9 #include "../mvpt_process_assist.h" 9 #include "../mvpt_process_assist.h"
10 #include "../common.h" 10 #include "../common.h"
11 -#include "../cuda_src/ImageSaveGPU.h" 11 +#include "../../cuda_src/ImageSaveGPU.h"
  12 +#include "../../cuda_src/CropImg.h"
12 13
13 using namespace std; 14 using namespace std;
14 15
@@ -565,22 +566,26 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -565,22 +566,26 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
565 566
566 if (hcp_batch_count == 0) continue; 567 if (hcp_batch_count == 0) continue;
567 568
568 - sy_img finish_hcp_img[hcp_batch_count]; 569 + vector<sy_img> vec_hcp_img;
  570 + //sy_img finish_hcp_img[hcp_batch_count];
569 for (int j = 0; j < hcp_batch_count; j++) 571 for (int j = 0; j < hcp_batch_count; j++)
570 { 572 {
571 OBJ_KEY cur_obj_key = hcp_keys[j]; 573 OBJ_KEY cur_obj_key = hcp_keys[j];
572 - // printf()  
573 - finish_hcp_img[j].set_data(HCP_WIDTH, HCP_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 574 + sy_img finish_hcp_img;
  575 + finish_hcp_img.set_data(HCP_WIDTH, HCP_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
  576 + vec_hcp_img.push_back(finish_hcp_img);
574 } 577 }
575 578
576 - hcp_analysis_result result[hcp_batch_count]; 579 + //hcp_analysis_result result[hcp_batch_count];
  580 + vector< hcp_analysis_result> result(hcp_batch_count);
577 if (hcp_analysis_cf == SY_CONFIG_OPEN) { 581 if (hcp_analysis_cf == SY_CONFIG_OPEN) {
578 - m_human_car_parsing.process(finish_hcp_img, hcp_batch_count, result); 582 + m_human_car_parsing.process(vec_hcp_img.data(), hcp_batch_count, result.data());
579 } 583 }
580 584
581 - human_fea_result result_f[hcp_batch_count]; 585 + //human_fea_result result_f[hcp_batch_count];
  586 + vector< human_fea_result> result_f(hcp_batch_count);
582 if (hcf_recg_cf == SY_CONFIG_OPEN) { 587 if (hcf_recg_cf == SY_CONFIG_OPEN) {
583 - m_human_fea.process(finish_hcp_img, hcp_batch_count, result_f); 588 + m_human_fea.process(vec_hcp_img.data(), hcp_batch_count, result_f.data());
584 } 589 }
585 int resIndex = 0; 590 int resIndex = 0;
586 591
@@ -646,13 +651,17 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -646,13 +651,17 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
646 det_batch_size = vehicle_keys.size(); 651 det_batch_size = vehicle_keys.size();
647 } 652 }
648 653
649 - sy_img finish_vehicle_img[det_batch_size]; 654 + vector< sy_img> vec_vehicle_img;
650 vector<OBJ_KEY> det_vehicle_keys; 655 vector<OBJ_KEY> det_vehicle_keys;
651 for (int j = 0; j < det_batch_size; j++) 656 for (int j = 0; j < det_batch_size; j++)
652 { 657 {
653 OBJ_KEY cur_obj_key = vehicle_keys.front(); 658 OBJ_KEY cur_obj_key = vehicle_keys.front();
654 det_vehicle_keys.push_back(cur_obj_key); 659 det_vehicle_keys.push_back(cur_obj_key);
655 - finish_vehicle_img[j].set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 660 +
  661 + sy_img finish_vehicle_img;
  662 + finish_vehicle_img.set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
  663 + vec_vehicle_img.push_back(finish_vehicle_img);
  664 +
656 vehicle_keys.pop(); 665 vehicle_keys.pop();
657 } 666 }
658 667
@@ -660,9 +669,9 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -660,9 +669,9 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
660 vehicle_plate_result *vp_result = new vehicle_plate_result[det_batch_size]{}; 669 vehicle_plate_result *vp_result = new vehicle_plate_result[det_batch_size]{};
661 vr_result *vrresult = new vr_result[det_batch_size]{}; 670 vr_result *vrresult = new vr_result[det_batch_size]{};
662 if (vehicle_analysis_cf == SY_CONFIG_OPEN) { 671 if (vehicle_analysis_cf == SY_CONFIG_OPEN) {
663 - m_vehicle_color.process(finish_vehicle_img, det_batch_size, vcresult);  
664 - m_vehicle_plate.process(finish_vehicle_img, det_batch_size, vp_result);  
665 - VehicleRecog_Process(finish_vehicle_img, det_batch_size, vrresult, det_vehicle_keys.data()); 672 + m_vehicle_color.process(vec_vehicle_img.data(), det_batch_size, vcresult);
  673 + m_vehicle_plate.process(vec_vehicle_img.data(), det_batch_size, vp_result);
  674 + VehicleRecog_Process(vec_vehicle_img.data(), det_batch_size, vrresult, det_vehicle_keys.data());
666 } 675 }
667 676
668 int8 ** fea = nullptr; 677 int8 ** fea = nullptr;
@@ -672,7 +681,7 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是 @@ -672,7 +681,7 @@ void snapshot_helper::finish_task_ss_analysis(int task_id) //是
672 fea[ii] = new int8[FEATURESIZE]{}; 681 fea[ii] = new int8[FEATURESIZE]{};
673 } 682 }
674 683
675 - m_vehicle_feature.process_vf(finish_vehicle_img, det_batch_size, fea); 684 + m_vehicle_feature.process_vf(vec_vehicle_img.data(), det_batch_size, fea);
676 } 685 }
677 686
678 int feaIndex = 0; 687 int feaIndex = 0;
@@ -797,7 +806,7 @@ void snapshot_helper::hp_analysis() @@ -797,7 +806,7 @@ void snapshot_helper::hp_analysis()
797 806
798 int cur_batchsize = index == 0 ? per_batchsize : OBJ_BATCH_COUNT - per_batchsize; 807 int cur_batchsize = index == 0 ? per_batchsize : OBJ_BATCH_COUNT - per_batchsize;
799 808
800 - sy_img batch_hp[cur_batchsize]; 809 + vector<sy_img> vec_hp_img;
801 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT / OBJ_SCALE*/; i++) 810 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT / OBJ_SCALE*/; i++)
802 { 811 {
803 OBJ_KEY cur_obj_key = count_person.front(); 812 OBJ_KEY cur_obj_key = count_person.front();
@@ -820,19 +829,23 @@ void snapshot_helper::hp_analysis() @@ -820,19 +829,23 @@ void snapshot_helper::hp_analysis()
820 } 829 }
821 //printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~count_person = %d\n", count_person.size()); 830 //printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~count_person = %d\n", count_person.size());
822 erase_obj_key.push_back(cur_obj_key); 831 erase_obj_key.push_back(cur_obj_key);
823 - batch_hp[i].set_data(HP_WIDTH, HP_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 832 +
  833 + sy_img hp_img;
  834 + hp_img.set_data(HP_WIDTH, HP_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
  835 + vec_hp_img.push_back(hp_img);
  836 +
824 ++obj_batch_count; 837 ++obj_batch_count;
825 } 838 }
826 839
827 //算法分析 840 //算法分析
828 if (hp_analysis_cf == SY_CONFIG_OPEN) { 841 if (hp_analysis_cf == SY_CONFIG_OPEN) {
829 result = new hp_analysis_res[obj_batch_count]{}; 842 result = new hp_analysis_res[obj_batch_count]{};
830 - m_human_parsing.process(batch_hp, obj_batch_count, result); 843 + m_human_parsing.process(vec_hp_img.data(), obj_batch_count, result);
831 } 844 }
832 845
833 if (hf_recg_cf == SY_CONFIG_OPEN) { 846 if (hf_recg_cf == SY_CONFIG_OPEN) {
834 result_f = new human_fea_result[obj_batch_count]{}; 847 result_f = new human_fea_result[obj_batch_count]{};
835 - m_human_fea.process(batch_hp, obj_batch_count, result_f); 848 + m_human_fea.process(vec_hp_img.data(), obj_batch_count, result_f);
836 } 849 }
837 850
838 //删除已经进行保存和二次属性分析的目标 851 //删除已经进行保存和二次属性分析的目标
@@ -906,7 +919,7 @@ void snapshot_helper::hcp_analysis() @@ -906,7 +919,7 @@ void snapshot_helper::hcp_analysis()
906 human_fea_result * result_f = nullptr; 919 human_fea_result * result_f = nullptr;
907 920
908 int cur_batchsize = index == 0 ? per_batchsize : OBJ_BATCH_COUNT - per_batchsize; 921 int cur_batchsize = index == 0 ? per_batchsize : OBJ_BATCH_COUNT - per_batchsize;
909 - sy_img batch_hcp[cur_batchsize]; 922 + vector<sy_img> vec_hcp_img;
910 for (int i = 0; i < cur_batchsize; i++) 923 for (int i = 0; i < cur_batchsize; i++)
911 { 924 {
912 OBJ_KEY cur_obj_key = count_bike.front(); 925 OBJ_KEY cur_obj_key = count_bike.front();
@@ -930,18 +943,21 @@ void snapshot_helper::hcp_analysis() @@ -930,18 +943,21 @@ void snapshot_helper::hcp_analysis()
930 } 943 }
931 944
932 erase_obj_key.push_back(cur_obj_key); 945 erase_obj_key.push_back(cur_obj_key);
933 - batch_hcp[i].set_data(HCP_WIDTH, HCP_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 946 + sy_img hcp_img;
  947 + hcp_img.set_data(HCP_WIDTH, HCP_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
  948 + vec_hcp_img.push_back(hcp_img);
  949 +
934 ++obj_batch_count; 950 ++obj_batch_count;
935 } 951 }
936 //printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~count_bike = %d\n", count_bike.size()); 952 //printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~count_bike = %d\n", count_bike.size());
937 if (hcp_analysis_cf == SY_CONFIG_OPEN) { 953 if (hcp_analysis_cf == SY_CONFIG_OPEN) {
938 result = new hcp_analysis_result[obj_batch_count]{}; 954 result = new hcp_analysis_result[obj_batch_count]{};
939 - m_human_car_parsing.process(batch_hcp, obj_batch_count, result); 955 + m_human_car_parsing.process(vec_hcp_img.data(), obj_batch_count, result);
940 } 956 }
941 957
942 if (hcf_recg_cf == SY_CONFIG_OPEN) { 958 if (hcf_recg_cf == SY_CONFIG_OPEN) {
943 result_f = new human_fea_result[obj_batch_count]{}; 959 result_f = new human_fea_result[obj_batch_count]{};
944 - m_human_fea.process(batch_hcp, obj_batch_count, result_f); 960 + m_human_fea.process(vec_hcp_img.data(), obj_batch_count, result_f);
945 } 961 }
946 962
947 int resIndex = 0; 963 int resIndex = 0;
@@ -1018,7 +1034,7 @@ bool snapshot_helper::vehicle_color_analysis() @@ -1018,7 +1034,7 @@ bool snapshot_helper::vehicle_color_analysis()
1018 1034
1019 int cur_batchsize = index == 0 ? cur_iter_count : OBJ_BATCH_COUNT_VEHICLE - cur_iter_count; 1035 int cur_batchsize = index == 0 ? cur_iter_count : OBJ_BATCH_COUNT_VEHICLE - cur_iter_count;
1020 1036
1021 - sy_img batch_vehicle[cur_batchsize]; 1037 + vector< sy_img> vec_vehicle_img;
1022 for (int i = 0; i < /*OBJ_BATCH_COUNT_VEHICLE/ OBJ_SCALE*/cur_batchsize; i++) 1038 for (int i = 0; i < /*OBJ_BATCH_COUNT_VEHICLE/ OBJ_SCALE*/cur_batchsize; i++)
1023 { 1039 {
1024 1040
@@ -1044,11 +1060,13 @@ bool snapshot_helper::vehicle_color_analysis() @@ -1044,11 +1060,13 @@ bool snapshot_helper::vehicle_color_analysis()
1044 return false; 1060 return false;
1045 } 1061 }
1046 1062
1047 - batch_vehicle[i].set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 1063 + sy_img batch_vehicle;
  1064 + batch_vehicle.set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
  1065 + vec_vehicle_img.push_back(batch_vehicle);
1048 } 1066 }
1049 1067
1050 vc_result *vcresult = new vc_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{}; 1068 vc_result *vcresult = new vc_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{};
1051 - m_vehicle_color.process(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vcresult); 1069 + m_vehicle_color.process(vec_vehicle_img.data(), cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vcresult);
1052 1070
1053 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++) 1071 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++)
1054 { 1072 {
@@ -1100,7 +1118,7 @@ bool snapshot_helper::vehicle_plate_dr_analysis() @@ -1100,7 +1118,7 @@ bool snapshot_helper::vehicle_plate_dr_analysis()
1100 int start_idx = cur_iter_count * index; 1118 int start_idx = cur_iter_count * index;
1101 int cur_batchsize = index == 0 ? cur_iter_count : OBJ_BATCH_COUNT_VEHICLE - cur_iter_count; 1119 int cur_batchsize = index == 0 ? cur_iter_count : OBJ_BATCH_COUNT_VEHICLE - cur_iter_count;
1102 1120
1103 - sy_img batch_vehicle[cur_batchsize]; 1121 + vector< sy_img> vec_vehicle_img;
1104 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++) 1122 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++)
1105 { 1123 {
1106 OBJ_KEY cur_obj_key = count_vehicle_v[i+ start_idx]; 1124 OBJ_KEY cur_obj_key = count_vehicle_v[i+ start_idx];
@@ -1125,10 +1143,13 @@ bool snapshot_helper::vehicle_plate_dr_analysis() @@ -1125,10 +1143,13 @@ bool snapshot_helper::vehicle_plate_dr_analysis()
1125 1143
1126 return false; 1144 return false;
1127 } 1145 }
1128 - batch_vehicle[i].set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 1146 +
  1147 + sy_img batch_vehicle;
  1148 + batch_vehicle.set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
  1149 + vec_vehicle_img.push_back(batch_vehicle);
1129 } 1150 }
1130 vehicle_plate_result *vp_result = new vehicle_plate_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{}; 1151 vehicle_plate_result *vp_result = new vehicle_plate_result[cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/]{};
1131 - m_vehicle_plate.process(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vp_result); 1152 + m_vehicle_plate.process(vec_vehicle_img.data(), cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vp_result);
1132 1153
1133 int resIndex = 0; 1154 int resIndex = 0;
1134 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++) 1155 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++)
@@ -1141,7 +1162,7 @@ bool snapshot_helper::vehicle_plate_dr_analysis() @@ -1141,7 +1162,7 @@ bool snapshot_helper::vehicle_plate_dr_analysis()
1141 { 1162 {
1142 vehicle_result &curRes = vehicle_result_v[i + start_idx]; 1163 vehicle_result &curRes = vehicle_result_v[i + start_idx];
1143 1164
1144 - memcpy(&curRes.vp_res, &vp_result[resIndex], sizeof(vehicle_plate_result)); 1165 + memcpy(&curRes.vp_res, &vp_result[resIndex], sizeof(vplate_result));
1145 resIndex++; 1166 resIndex++;
1146 } 1167 }
1147 } 1168 }
@@ -1337,7 +1358,7 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1337,7 +1358,7 @@ bool snapshot_helper::vehicle_recg_analysis()
1337 { 1358 {
1338 int cur_batchsize = index == 0 ? cur_iter_count : OBJ_BATCH_COUNT_VEHICLE - cur_iter_count; 1359 int cur_batchsize = index == 0 ? cur_iter_count : OBJ_BATCH_COUNT_VEHICLE - cur_iter_count;
1339 1360
1340 - sy_img batch_vehicle[cur_batchsize]; 1361 + vector<sy_img> vec_vehicle_img;
1341 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++) 1362 for (int i = 0; i < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; i++)
1342 { 1363 {
1343 OBJ_KEY cur_obj_key = count_vehicle_v[i]; 1364 OBJ_KEY cur_obj_key = count_vehicle_v[i];
@@ -1361,7 +1382,10 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1361,7 +1382,10 @@ bool snapshot_helper::vehicle_recg_analysis()
1361 erase_snapshotImage(cur_obj_key); 1382 erase_snapshotImage(cur_obj_key);
1362 return false; 1383 return false;
1363 } 1384 }
1364 - batch_vehicle[i].set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame); 1385 +
  1386 + sy_img batch_vehicle;
  1387 + batch_vehicle.set_data(VEHICLE_WIDTH, VEHICLE_HEIGHT, IMG_CHANNELS, (unsigned char*)snapShotInfo[cur_obj_key].snapShotLittle.frame);
  1388 + vec_vehicle_img.push_back(batch_vehicle);
1365 } 1389 }
1366 1390
1367 1391
@@ -1382,7 +1406,7 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1382,7 +1406,7 @@ bool snapshot_helper::vehicle_recg_analysis()
1382 vhd_res[b].vpd_res = new vpd_info[OBJ_MAX_COUNT]; 1406 vhd_res[b].vpd_res = new vpd_info[OBJ_MAX_COUNT];
1383 } 1407 }
1384 1408
1385 - m_vehicle_feature.process_vpd(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vhd_res); 1409 + m_vehicle_feature.process_vpd(vec_vehicle_img.data(), cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, vhd_res);
1386 1410
1387 for (int vc_idx = 0; vc_idx < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; vc_idx++) 1411 for (int vc_idx = 0; vc_idx < cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/; vc_idx++)
1388 { 1412 {
@@ -1544,7 +1568,7 @@ bool snapshot_helper::vehicle_recg_analysis() @@ -1544,7 +1568,7 @@ bool snapshot_helper::vehicle_recg_analysis()
1544 memset(fea[i], 0, sizeof(int8) * FEATURESIZE); 1568 memset(fea[i], 0, sizeof(int8) * FEATURESIZE);
1545 } 1569 }
1546 1570
1547 - m_vehicle_feature.process_vf(batch_vehicle, cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, fea); 1571 + m_vehicle_feature.process_vf(vec_vehicle_img.data(), cur_batchsize/*OBJ_BATCH_COUNT_VEHICLE / OBJ_SCALE*/, fea);
1548 1572
1549 int resIndex = 0; 1573 int resIndex = 0;
1550 1574
@@ -1803,7 +1827,6 @@ void snapshot_helper:: snapshot_imagewrite_thread_process() @@ -1803,7 +1827,6 @@ void snapshot_helper:: snapshot_imagewrite_thread_process()
1803 std::this_thread::sleep_for(std::chrono::milliseconds(10)); 1827 std::this_thread::sleep_for(std::chrono::milliseconds(10));
1804 } 1828 }
1805 } 1829 }
1806 - return ;  
1807 } 1830 }
1808 1831
1809 void snapshot_helper::snapshot_thread_process() 1832 void snapshot_helper::snapshot_thread_process()
@@ -2101,8 +2124,8 @@ CropInfo snapshot_helper::cacheSnapShotInfo(OBJ_KEY newObj, VPT_ObjInfo obj, sy_ @@ -2101,8 +2124,8 @@ CropInfo snapshot_helper::cacheSnapShotInfo(OBJ_KEY newObj, VPT_ObjInfo obj, sy_
2101 //--------------------- 保存快照抠图 -----------------------------/ 2124 //--------------------- 保存快照抠图 -----------------------------/
2102 int vLeft = max(0, obj.left - boundary); 2125 int vLeft = max(0, obj.left - boundary);
2103 int vTop = max(0, obj.top - boundary); 2126 int vTop = max(0, obj.top - boundary);
2104 - int vRight = min({ frameWidth - 1, obj.right + boundary });  
2105 - int vBottom = min({ frameHeight - 1, obj.bottom + boundary }); 2127 + int vRight = min(frameWidth - 1, obj.right + boundary );
  2128 + int vBottom = min(frameHeight - 1, obj.bottom + boundary);
2106 2129
2107 if (bCacheLittle) { 2130 if (bCacheLittle) {
2108 int cur_width = 0; 2131 int cur_width = 0;
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/snapshot_helper.h
1 #include <bitset> 1 #include <bitset>
2 -#include "../../FFNvDecoder/DxDecoderWrap.h"  
3 -#include "common.h" 2 +#include "../../SfxDecoder/DxDecoderWrap.h"
  3 +#include "../common.h"
4 #include <queue> 4 #include <queue>
5 #include <string> 5 #include <string>
6 #include <set> 6 #include <set>
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 #include <vector> 9 #include <vector>
10 #include <thread> 10 #include <thread>
11 #include <condition_variable> 11 #include <condition_variable>
12 -#include "ImageSaveCache.h" 12 +#include "../ImageSaveCache.h"
13 #include "HumanCarParsing.h" 13 #include "HumanCarParsing.h"
14 #include "HumanParsing.h" 14 #include "HumanParsing.h"
15 #include "HumanFea.h" 15 #include "HumanFea.h"