From 1c05ebf522f0bb5776ba51a46d94aa101220fea1 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Thu, 07 Jun 2018 00:39:30 +0000
Subject: [PATCH] Minor fix

---
 src/network.c |    4 ++--
 src/image.c   |    9 ++++++++-
 src/parser.c  |    2 +-
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/image.c b/src/image.c
index 35e8551..9084e7e 100644
--- a/src/image.c
+++ b/src/image.c
@@ -1034,7 +1034,14 @@
 		else return make_empty_image(0, 0, 0); 
 	}
 	if (src->width < 1 || src->height < 1 || src->nChannels < 1) {
-		if (cpp_video_capture) cvReleaseImage(&src);
+		if (cpp_video_capture) {
+			cvReleaseImage(&src);
+			int z = 0;
+			for (z = 0; z < 10; ++z) {
+				get_webcam_frame(cap);
+				cvReleaseImage(&src);
+			}
+		}
 		if (dont_close) src = cvCreateImage(cvSize(416, 416), IPL_DEPTH_8U, c);
 		else return make_empty_image(0, 0, 0);
 	}
diff --git a/src/network.c b/src/network.c
index b32dfc0..499bf0f 100644
--- a/src/network.c
+++ b/src/network.c
@@ -443,8 +443,8 @@
     }
 #ifdef GPU
     if(gpu_index >= 0){
-		printf(" try to allocate workspace = %zu * sizeof(float), ", (workspace_size - 1) / sizeof(float) + 1);
-        net->workspace = cuda_make_array(0, (workspace_size-1)/sizeof(float)+1);
+		printf(" try to allocate workspace = %zu * sizeof(float), ", workspace_size / sizeof(float) + 1);
+        net->workspace = cuda_make_array(0, workspace_size/sizeof(float) + 1);
 		printf(" CUDA allocate done! \n");
     }else {
         free(net->workspace);
diff --git a/src/parser.c b/src/parser.c
index c1ee98c..184d1de 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -817,7 +817,7 @@
         //printf("%ld\n", workspace_size);
 #ifdef GPU
         if(gpu_index >= 0){
-            net.workspace = cuda_make_array(0, (workspace_size-1)/sizeof(float)+1);
+            net.workspace = cuda_make_array(0, workspace_size/sizeof(float) + 1);
         }else {
             net.workspace = calloc(1, workspace_size);
         }

--
Gitblit v1.10.0