From 4ffb519cdd265558906e1b1ad104dc35a9ffb2f3 Mon Sep 17 00:00:00 2001 From: Anatoly Baksheev Date: Fri, 17 Sep 2010 17:18:41 +0000 Subject: [PATCH] GPU module: minor interface changes --- modules/gpu/include/opencv2/gpu/devmem2d.hpp | 2 ++ modules/gpu/include/opencv2/gpu/gpu.hpp | 4 ++-- modules/gpu/src/initialization.cpp | 14 +++++++------- modules/gpu/src/stereobm_gpu.cpp | 2 +- tests/gpu/src/gputest.hpp | 10 +++++----- tests/gpu/src/morf_filters.cpp | 6 +++--- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/modules/gpu/include/opencv2/gpu/devmem2d.hpp b/modules/gpu/include/opencv2/gpu/devmem2d.hpp index 4a3106c53..443330eed 100644 --- a/modules/gpu/include/opencv2/gpu/devmem2d.hpp +++ b/modules/gpu/include/opencv2/gpu/devmem2d.hpp @@ -61,6 +61,8 @@ namespace cv T* ptr; size_t step; + DevMem2D_() : cols(0), rows(0), ptr(0), step(0) {} + DevMem2D_(int rows_, int cols_, T *ptr_, size_t step_) : cols(cols_), rows(rows_), ptr(ptr_), step(step_) {} diff --git a/modules/gpu/include/opencv2/gpu/gpu.hpp b/modules/gpu/include/opencv2/gpu/gpu.hpp index c7561708b..3986cbba7 100644 --- a/modules/gpu/include/opencv2/gpu/gpu.hpp +++ b/modules/gpu/include/opencv2/gpu/gpu.hpp @@ -62,10 +62,10 @@ namespace cv CV_EXPORTS void setDevice(int device); CV_EXPORTS int getDevice(); - CV_EXPORTS void getComputeCapability(int device, int* major, int* minor); + CV_EXPORTS void getComputeCapability(int device, int& major, int& minor); CV_EXPORTS int getNumberOfSMs(int device); - CV_EXPORTS void getGpuMemInfo(size_t *free, size_t* total); + CV_EXPORTS void getGpuMemInfo(size_t& free, size_t& total); //////////////////////////////// GpuMat //////////////////////////////// class Stream; diff --git a/modules/gpu/src/initialization.cpp b/modules/gpu/src/initialization.cpp index 001c21fd5..0e05d140d 100644 --- a/modules/gpu/src/initialization.cpp +++ b/modules/gpu/src/initialization.cpp @@ -52,9 +52,9 @@ CV_EXPORTS int cv::gpu::getCudaEnabledDeviceCount() { return 0; } CV_EXPORTS string cv::gpu::getDeviceName(int /*device*/) { throw_nogpu(); return 0; } CV_EXPORTS void cv::gpu::setDevice(int /*device*/) { throw_nogpu(); } CV_EXPORTS int cv::gpu::getDevice() { throw_nogpu(); return 0; } -CV_EXPORTS void cv::gpu::getComputeCapability(int /*device*/, int* /*major*/, int* /*minor*/) { throw_nogpu(); } +CV_EXPORTS void cv::gpu::getComputeCapability(int /*device*/, int& /*major*/, int& /*minor*/) { throw_nogpu(); } CV_EXPORTS int cv::gpu::getNumberOfSMs(int /*device*/) { throw_nogpu(); return 0; } -CV_EXPORTS void cv::gpu::getGpuMemInfo(size_t* /*free*/, size_t* /*total*/) { throw_nogpu(); } +CV_EXPORTS void cv::gpu::getGpuMemInfo(size_t& /*free*/, size_t& /*total*/) { throw_nogpu(); } #else /* !defined (HAVE_CUDA) */ @@ -84,13 +84,13 @@ CV_EXPORTS int cv::gpu::getDevice() return device; } -CV_EXPORTS void cv::gpu::getComputeCapability(int device, int* major, int* minor) +CV_EXPORTS void cv::gpu::getComputeCapability(int device, int& major, int& minor) { cudaDeviceProp prop; cudaSafeCall( cudaGetDeviceProperties( &prop, device) ); - *major = prop.major; - *minor = prop.minor; + major = prop.major; + minor = prop.minor; } CV_EXPORTS int cv::gpu::getNumberOfSMs(int device) @@ -101,9 +101,9 @@ CV_EXPORTS int cv::gpu::getNumberOfSMs(int device) } -CV_EXPORTS void cv::gpu::getGpuMemInfo(size_t *free, size_t* total) +CV_EXPORTS void cv::gpu::getGpuMemInfo(size_t& free, size_t& total) { - cudaSafeCall( cudaMemGetInfo( free, total ) ); + cudaSafeCall( cudaMemGetInfo( &free, &total ) ); } #endif diff --git a/modules/gpu/src/stereobm_gpu.cpp b/modules/gpu/src/stereobm_gpu.cpp index 706e4ef0a..9ff64ecbf 100644 --- a/modules/gpu/src/stereobm_gpu.cpp +++ b/modules/gpu/src/stereobm_gpu.cpp @@ -89,7 +89,7 @@ bool cv::gpu::StereoBM_GPU::checkIfGpuCallReasonable() int device = getDevice(); int minor, major; - getComputeCapability(device, &major, &minor); + getComputeCapability(device, major, minor); int numSM = getNumberOfSMs(device); if (major > 1 || numSM > 16) diff --git a/tests/gpu/src/gputest.hpp b/tests/gpu/src/gputest.hpp index 3ac06dfbd..0800e8fe3 100644 --- a/tests/gpu/src/gputest.hpp +++ b/tests/gpu/src/gputest.hpp @@ -39,8 +39,8 @@ // //M*/ -#ifndef _CXCORE_TEST_H_ -#define _CXCORE_TEST_H_ +#ifndef _GPU_TEST_H_ +#define _GPU_TEST_H_ #if defined WIN32 || defined _WIN32 #include @@ -62,10 +62,8 @@ #pragma warning(disable : 4996) /* deprecated function */ #endif -#endif /* _CXCORE_TEST_H_ */ - -inline bool check_and_treat_gpu_exception(const cv::Exception& e, CvTS* ts) +static inline bool check_and_treat_gpu_exception(const cv::Exception& e, CvTS* ts) { switch (e.code) { @@ -88,4 +86,6 @@ inline bool check_and_treat_gpu_exception(const cv::Exception& e, CvTS* ts) return true; } +#endif + /* End of file. */ diff --git a/tests/gpu/src/morf_filters.cpp b/tests/gpu/src/morf_filters.cpp index 99d3119fa..a14ac4923 100644 --- a/tests/gpu/src/morf_filters.cpp +++ b/tests/gpu/src/morf_filters.cpp @@ -132,7 +132,7 @@ public: protected: virtual int test(const Mat& img) { - Mat kernel(3, 3, CV_8U, 1); + Mat kernel(3, 3, CV_8U, Scalar(1)); Point anchor(1,1); int iters = 3; @@ -158,7 +158,7 @@ public: protected: virtual int test(const Mat& img) { - Mat kernel(3, 3, CV_8U, 1); + Mat kernel(3, 3, CV_8U, Scalar(1)); Point anchor(1,1); int iters = 3; @@ -189,7 +189,7 @@ protected: const char *names[] = { "MORPH_OPEN", "CV_MOP_CLOSE", "CV_MOP_GRADIENT", "CV_MOP_TOPHAT", "CV_MOP_BLACKHAT"}; int num = sizeof(ops)/sizeof(ops[0]); - Mat kernel(3, 3, CV_8U, 1); + Mat kernel(3, 3, CV_8U, Scalar(1)); Point anchor(1,1); int iters = 3;