| | |
| | | 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); |
| | | } |
| | |
| | | } |
| | | #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); |
| | |
| | | //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); |
| | | } |