Commit 28eadcc464db1351ae68e3eeeb055ffd4e6f55ee
1 parent
10d335d7
修复进度值错误问题
Showing
4 changed files
with
28 additions
and
2 deletions
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/MutliSourceVideoProcess.cpp
@@ -356,7 +356,7 @@ bool CMutliSourceVideoProcess::AddTask(task_param tparam) //debug by zsh | @@ -356,7 +356,7 @@ bool CMutliSourceVideoProcess::AddTask(task_param tparam) //debug by zsh | ||
356 | 356 | ||
357 | new_task.taskState = PLAY; | 357 | new_task.taskState = PLAY; |
358 | new_task.taskFrameCount = 0; | 358 | new_task.taskFrameCount = 0; |
359 | - new_task.taskLastFrameCount = 0; | 359 | + new_task.taskLastFrameCount = 1; |
360 | 360 | ||
361 | new_task.taskObjCallbackFunc = nullptr; | 361 | new_task.taskObjCallbackFunc = nullptr; |
362 | if (objCallbackFunc != nullptr) | 362 | if (objCallbackFunc != nullptr) |
@@ -684,6 +684,7 @@ void CMutliSourceVideoProcess::algorthim_process() | @@ -684,6 +684,7 @@ void CMutliSourceVideoProcess::algorthim_process() | ||
684 | } | 684 | } |
685 | if(task.taskTotalFrameCount <= 1) { | 685 | if(task.taskTotalFrameCount <= 1) { |
686 | task.taskTotalFrameCount = task.taskTcuvid->DxGetFrameCount(); | 686 | task.taskTotalFrameCount = task.taskTcuvid->DxGetFrameCount(); |
687 | + m_snaphot_helper.update_taotal_frame_count(task.taskID, task.taskTotalFrameCount); | ||
687 | } | 688 | } |
688 | 689 | ||
689 | task.taskFrameCount = dxFrame.timestamp; | 690 | task.taskFrameCount = dxFrame.timestamp; |
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/snapshot_helper.cpp
@@ -196,6 +196,10 @@ void snapshot_helper::add_task_info(int new_task_id, TASK_INFO new_task_info) | @@ -196,6 +196,10 @@ void snapshot_helper::add_task_info(int new_task_id, TASK_INFO new_task_info) | ||
196 | m_task_info[new_task_id] = new_task_info; | 196 | m_task_info[new_task_id] = new_task_info; |
197 | } | 197 | } |
198 | 198 | ||
199 | +void snapshot_helper::update_taotal_frame_count(int task_id, int total_frame_count) { | ||
200 | + m_task_info[task_id].task_total_framecount = total_frame_count; | ||
201 | +} | ||
202 | + | ||
199 | void snapshot_helper::delete_task_info(int new_task_id, TASK_INFO new_task_info) | 203 | void snapshot_helper::delete_task_info(int new_task_id, TASK_INFO new_task_info) |
200 | { | 204 | { |
201 | m_task_info[new_task_id].image_folder = nullptr; | 205 | m_task_info[new_task_id].image_folder = nullptr; |
vehicle_structure_platform.git0708-3080-trt-face/src/VPT/snapshot_analysis/snapshot_helper.h
@@ -95,7 +95,7 @@ struct TASK_INFO { | @@ -95,7 +95,7 @@ struct TASK_INFO { | ||
95 | char* snapshot_folder_face; | 95 | char* snapshot_folder_face; |
96 | bool _on_image_display; | 96 | bool _on_image_display; |
97 | int jpeg_quality_; //debug by zsh | 97 | int jpeg_quality_; //debug by zsh |
98 | - int task_total_framecount; | 98 | + int task_total_framecount{1}; |
99 | SNAPSHOT_CALLBACK obj_callback; | 99 | SNAPSHOT_CALLBACK obj_callback; |
100 | 100 | ||
101 | //TASK_INFO() :image_folder(NULL), snapshot_folder(NULL), snapshot_folder_face(NULL),_on_image_display(true), obj_callback(nullptr) {} | 101 | //TASK_INFO() :image_folder(NULL), snapshot_folder(NULL), snapshot_folder_face(NULL),_on_image_display(true), obj_callback(nullptr) {} |
@@ -172,6 +172,8 @@ public: | @@ -172,6 +172,8 @@ public: | ||
172 | void snapshot_helper_release(); | 172 | void snapshot_helper_release(); |
173 | void add_task_info(int new_task_id, TASK_INFO new_task_info); | 173 | void add_task_info(int new_task_id, TASK_INFO new_task_info); |
174 | void delete_task_info(int new_task_id, TASK_INFO new_task_info); | 174 | void delete_task_info(int new_task_id, TASK_INFO new_task_info); |
175 | + | ||
176 | + void update_taotal_frame_count(int new_task_id, int total_frame_count); | ||
175 | 177 | ||
176 | int SaveResultInFile(OBJ_KEY deleteObj); | 178 | int SaveResultInFile(OBJ_KEY deleteObj); |
177 | 179 |
vehicle_structure_platform.git0708-3080-trt-face/src/test/main.cpp
@@ -672,6 +672,8 @@ void log_all(void * userPtr, int log_level, const char* log, unsigned int logLen | @@ -672,6 +672,8 @@ void log_all(void * userPtr, int log_level, const char* log, unsigned int logLen | ||
672 | void *handle; | 672 | void *handle; |
673 | static int total_index = 0; | 673 | static int total_index = 0; |
674 | 674 | ||
675 | +static bool bExit = false; | ||
676 | + | ||
675 | void create_task(const char * videoFileName, int total_index) { | 677 | void create_task(const char * videoFileName, int total_index) { |
676 | //指定检测目标视频抽帧图片(保存时显存占用很大) | 678 | //指定检测目标视频抽帧图片(保存时显存占用很大) |
677 | char resultFolder[256]; | 679 | char resultFolder[256]; |
@@ -712,6 +714,21 @@ void create_task(const char * videoFileName, int total_index) { | @@ -712,6 +714,21 @@ void create_task(const char * videoFileName, int total_index) { | ||
712 | cur_task_status_.insert(make_pair(newTaskID, FALSE)); | 714 | cur_task_status_.insert(make_pair(newTaskID, FALSE)); |
713 | } | 715 | } |
714 | 716 | ||
717 | + | ||
718 | +static void print_progress() { | ||
719 | + while (!bExit) | ||
720 | + { | ||
721 | + for (auto it = cur_task_status_.begin(); it != cur_task_status_.end(); it++) | ||
722 | + { | ||
723 | + double progress = 0; | ||
724 | + get_task_progress(handle, it->first, progress); | ||
725 | + cout << "task " << it->first << " progress: " << progress << endl; | ||
726 | + } | ||
727 | + std::this_thread::sleep_for(std::chrono::seconds(1)); | ||
728 | + } | ||
729 | +} | ||
730 | + | ||
731 | + | ||
715 | int main(int argc, char* argv[]) | 732 | int main(int argc, char* argv[]) |
716 | { | 733 | { |
717 | if (argc<4) | 734 | if (argc<4) |
@@ -767,6 +784,8 @@ int main(int argc, char* argv[]) | @@ -767,6 +784,8 @@ int main(int argc, char* argv[]) | ||
767 | 784 | ||
768 | int time_count = 0; | 785 | int time_count = 0; |
769 | 786 | ||
787 | + thread print_progress_trd(print_progress); | ||
788 | + | ||
770 | printf("begin add task\n"); | 789 | printf("begin add task\n"); |
771 | do { | 790 | do { |
772 | if(get_running_task_number(handle) > 0){ | 791 | if(get_running_task_number(handle) > 0){ |