From: Vladislav Vinogradov Date: Wed, 27 Mar 2013 09:07:58 +0000 (+0400) Subject: fixed gpu module compilation X-Git-Tag: submit/tizen_ivi/20141117.190038~2^2~1105^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=15f09f806885768d7ea01257d7116a892b3b2784;p=profile%2Fivi%2Fopencv.git fixed gpu module compilation --- diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h index 133b4ec..bc247a5 100644 --- a/modules/core/include/opencv2/core/cvdef.h +++ b/modules/core/include/opencv2/core/cvdef.h @@ -111,6 +111,9 @@ #define CV_CPU_NEON 11 #define CV_HARDWARE_MAX_FEATURE 255 +// disable SSE/AVX/NEON headers for NVCC compiler +#ifndef __CUDACC__ + #if defined __SSE2__ || defined _M_X64 || (defined _M_IX86_FP && _M_IX86_FP >= 2) # include # define CV_SSE 1 @@ -149,6 +152,8 @@ # define CV_NEON 1 #endif +#endif // __CUDACC__ + #ifndef CV_SSE # define CV_SSE 0 #endif @@ -336,7 +341,7 @@ typedef signed char schar; CV_INLINE int cvRound( double value ) { -#if (defined _MSC_VER && defined _M_X64) || (defined __GNUC__ && defined __x86_64__ && defined __SSE2__ && !defined __APPLE__) +#if ((defined _MSC_VER && defined _M_X64) || (defined __GNUC__ && defined __x86_64__ && defined __SSE2__ && !defined __APPLE__)) && !defined(__CUDACC__) __m128d t = _mm_set_sd( value ); return _mm_cvtsd_si32(t); #elif defined _MSC_VER && defined _M_IX86 @@ -361,7 +366,7 @@ CV_INLINE int cvRound( double value ) CV_INLINE int cvFloor( double value ) { -#if defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__ && !defined __APPLE__) +#if (defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__ && !defined __APPLE__)) && !defined(__CUDACC__) __m128d t = _mm_set_sd( value ); int i = _mm_cvtsd_si32(t); return i - _mm_movemask_pd(_mm_cmplt_sd(t, _mm_cvtsi32_sd(t,i))); @@ -377,7 +382,7 @@ CV_INLINE int cvFloor( double value ) CV_INLINE int cvCeil( double value ) { -#if defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__&& !defined __APPLE__) +#if (defined _MSC_VER && defined _M_X64 || (defined __GNUC__ && defined __SSE2__&& !defined __APPLE__)) && !defined(__CUDACC__) __m128d t = _mm_set_sd( value ); int i = _mm_cvtsd_si32(t); return i + _mm_movemask_pd(_mm_cmplt_sd(_mm_cvtsi32_sd(t,i), t)); diff --git a/modules/core/include/opencv2/core/cvstd.hpp b/modules/core/include/opencv2/core/cvstd.hpp index 30e4674..1c8bcd2 100644 --- a/modules/core/include/opencv2/core/cvstd.hpp +++ b/modules/core/include/opencv2/core/cvstd.hpp @@ -52,6 +52,7 @@ #include #include +#include #ifndef OPENCV_NOSTL # include @@ -166,6 +167,8 @@ public: friend String operator+ (const String& lhs, char rhs); friend String operator+ (char lhs, const String& rhs); + String toLowerCase() const; + #ifndef OPENCV_NOSTL String(const std::string& str); String(const std::string& str, size_t pos, size_t len = npos); @@ -482,6 +485,16 @@ inline size_t String::find_last_of(const char* s, size_t pos) const return npos; } +inline String String::toLowerCase() const +{ + String res(cstr_, len_); + + for (size_t i = 0; i < len_; ++i) + res.cstr_[i] = (char) ::tolower(cstr_[i]); + + return res; +} + // ************************* cv::String non-member functions ************************* inline String operator+ (const String& lhs, const String& rhs) diff --git a/modules/core/include/opencv2/core/utility.hpp b/modules/core/include/opencv2/core/utility.hpp index 47be3e5..2697306 100644 --- a/modules/core/include/opencv2/core/utility.hpp +++ b/modules/core/include/opencv2/core/utility.hpp @@ -358,7 +358,7 @@ AutoBuffer<_Tp, fixed_size>::AutoBuffer(const AutoBuffer<_Tp, fixed_size>& abuf { ptr = buf; sz = fixed_size; - allocate(abuf.size); + allocate(abuf.size()); for( size_t i = 0; i < sz; i++ ) ptr[i] = abuf.ptr[i]; } @@ -369,7 +369,7 @@ AutoBuffer<_Tp, fixed_size>::operator = (const AutoBuffer<_Tp, fixed_size>& abuf if( this != &abuf ) { deallocate(); - allocate(abuf.size); + allocate(abuf.size()); for( size_t i = 0; i < sz; i++ ) ptr[i] = abuf.ptr[i]; } diff --git a/modules/core/src/cudastream.cpp b/modules/core/src/cudastream.cpp index 6244af9..270865a 100644 --- a/modules/core/src/cudastream.cpp +++ b/modules/core/src/cudastream.cpp @@ -41,7 +41,6 @@ //M*/ #include "precomp.hpp" -#include "opencv2/core/gpumat.hpp" using namespace cv; using namespace cv::gpu; @@ -272,7 +271,7 @@ void cv::gpu::Stream::enqueueConvert(const GpuMat& src, GpuMat& dst, int dtype, convertTo(src, dst, alpha, beta, stream); } -#if CUDA_VERSION >= 5000 +#if CUDART_VERSION >= 5000 namespace { @@ -295,7 +294,7 @@ namespace void cv::gpu::Stream::enqueueHostCallback(StreamCallback callback, void* userData) { -#if CUDA_VERSION >= 5000 +#if CUDART_VERSION >= 5000 CallbackData* data = new CallbackData; data->callback = callback; data->userData = userData; diff --git a/modules/core/src/gpumat.cpp b/modules/core/src/gpumat.cpp index e8ef6ad..02a4d61 100644 --- a/modules/core/src/gpumat.cpp +++ b/modules/core/src/gpumat.cpp @@ -41,24 +41,6 @@ //M*/ #include "precomp.hpp" -#include "opencv2/core/gpumat.hpp" -#include - -#ifdef HAVE_CUDA - #include - #include - - #define CUDART_MINIMUM_REQUIRED_VERSION 4020 - #define NPP_MINIMUM_REQUIRED_VERSION 4200 - - #if (CUDART_VERSION < CUDART_MINIMUM_REQUIRED_VERSION) - #error "Insufficient Cuda Runtime library version, please update it." - #endif - - #if (NPP_VERSION_MAJOR * 1000 + NPP_VERSION_MINOR * 100 + NPP_VERSION_BUILD < NPP_MINIMUM_REQUIRED_VERSION) - #error "Insufficient NPP version, please update it." - #endif -#endif using namespace cv; using namespace cv::gpu; @@ -233,7 +215,7 @@ namespace int cur_value; int chars_read; int args_read = sscanf(set_as_str.c_str() + pos, "%d%n", &cur_value, &chars_read); - CV_Assert(args_read == 2); + CV_Assert(args_read == 1); arr.push_back(cur_value); pos += chars_read; diff --git a/modules/core/src/precomp.hpp b/modules/core/src/precomp.hpp index 1fa2ae3..533ba22 100644 --- a/modules/core/src/precomp.hpp +++ b/modules/core/src/precomp.hpp @@ -51,6 +51,7 @@ #include "opencv2/core/utility.hpp" #include "opencv2/core/core_c.h" #include "opencv2/core/internal.hpp" +#include "opencv2/core/gpumat.hpp" #include #include @@ -68,8 +69,20 @@ #endif #ifdef HAVE_CUDA -# include -# include "opencv2/core/gpumat.hpp" + +# include +# include + +# define CUDART_MINIMUM_REQUIRED_VERSION 4020 +# define NPP_MINIMUM_REQUIRED_VERSION 4200 + +# if (CUDART_VERSION < CUDART_MINIMUM_REQUIRED_VERSION) +# error "Insufficient Cuda Runtime library version, please update it." +# endif + +# if (NPP_VERSION_MAJOR * 1000 + NPP_VERSION_MINOR * 100 + NPP_VERSION_BUILD < NPP_MINIMUM_REQUIRED_VERSION) +# error "Insufficient NPP version, please update it." +# endif # if defined(__GNUC__) # define cudaSafeCall(expr) ___cudaSafeCall(expr, __FILE__, __LINE__, __func__) diff --git a/modules/gpu/src/cascadeclassifier.cpp b/modules/gpu/src/cascadeclassifier.cpp index ca9f257..fa969f2 100644 --- a/modules/gpu/src/cascadeclassifier.cpp +++ b/modules/gpu/src/cascadeclassifier.cpp @@ -693,7 +693,7 @@ bool cv::gpu::CascadeClassifier_GPU::load(const String& filename) release(); String fext = filename.substr(filename.find_last_of(".") + 1); - std::transform(fext.begin(), fext.end(), fext.begin(), ::tolower); + fext = fext.toLowerCase(); if (fext == "nvbin") { diff --git a/modules/gpu/src/cu_safe_call.cpp b/modules/gpu/src/cu_safe_call.cpp index 00880d8..9b8c1d9 100644 --- a/modules/gpu/src/cu_safe_call.cpp +++ b/modules/gpu/src/cu_safe_call.cpp @@ -51,7 +51,7 @@ namespace struct ErrorEntry { int code; - String str; + const char* str; }; class ErrorEntryComparer @@ -65,16 +65,14 @@ namespace int code_; }; - String getErrorString(int code, const ErrorEntry* errors, size_t n) + cv::String getErrorString(int code, const ErrorEntry* errors, size_t n) { size_t idx = std::find_if(errors, errors + n, ErrorEntryComparer(code)) - errors; - const String& msg = (idx != n) ? errors[idx].str : String("Unknown error code"); + const char* msg = (idx != n) ? errors[idx].str : "Unknown error code"; + cv::String str = cv::format("%s [Code = %d]", msg, code); - std::ostringstream ostr; - ostr << msg << " [Code = " << code << "]"; - - return ostr.str(); + return str; } const ErrorEntry cu_errors [] = @@ -131,7 +129,7 @@ namespace const size_t cu_errors_num = sizeof(cu_errors) / sizeof(cu_errors[0]); } -String cv::gpu::detail::cuGetErrString(CUresult res) +cv::String cv::gpu::detail::cuGetErrString(CUresult res) { return getErrorString(res, cu_errors, cu_errors_num); } diff --git a/modules/gpu/src/cuda/lbp.hpp b/modules/gpu/src/cuda/lbp.hpp index 0c8a03e..2cb228a 100644 --- a/modules/gpu/src/cuda/lbp.hpp +++ b/modules/gpu/src/cuda/lbp.hpp @@ -72,10 +72,10 @@ namespace lbp { __device__ __forceinline__ bool operator()(const int4& r1, const int4& r2) const { - float delta = eps * (min(r1.z, r2.z) + min(r1.w, r2.w)) * 0.5f; + float delta = eps * (::min(r1.z, r2.z) + ::min(r1.w, r2.w)) * 0.5f; - return abs(r1.x - r2.x) <= delta && abs(r1.y - r2.y) <= delta - && abs(r1.x + r1.z - r2.x - r2.z) <= delta && abs(r1.y + r1.w - r2.y - r2.w) <= delta; + return ::abs(r1.x - r2.x) <= delta && ::abs(r1.y - r2.y) <= delta + && ::abs(r1.x + r1.z - r2.x - r2.z) <= delta && ::abs(r1.y + r1.w - r2.y - r2.w) <= delta; } float eps; }; @@ -109,4 +109,4 @@ namespace lbp { } } }// namespaces -#endif \ No newline at end of file +#endif diff --git a/modules/gpu/src/error.cpp b/modules/gpu/src/error.cpp index 771780e..128b23b 100644 --- a/modules/gpu/src/error.cpp +++ b/modules/gpu/src/error.cpp @@ -54,7 +54,7 @@ namespace struct ErrorEntry { int code; - String str; + const char* str; }; struct ErrorEntryComparer @@ -68,12 +68,10 @@ namespace { size_t idx = std::find_if(errors, errors + n, ErrorEntryComparer(code)) - errors; - const String& msg = (idx != n) ? errors[idx].str : String("Unknown error code"); + const char* msg = (idx != n) ? errors[idx].str : "Unknown error code"; + String str = cv::format("%s [Code = %d]", msg, code); - std::ostringstream ostr; - ostr << msg << " [Code = " << code << "]"; - - return ostr.str(); + return str; } ////////////////////////////////////////////////////////////////////////// diff --git a/modules/gpu/src/nvidia/NCVHaarObjectDetection.cu b/modules/gpu/src/nvidia/NCVHaarObjectDetection.cu index fa3b626..38f0a65 100644 --- a/modules/gpu/src/nvidia/NCVHaarObjectDetection.cu +++ b/modules/gpu/src/nvidia/NCVHaarObjectDetection.cu @@ -2099,7 +2099,7 @@ NCVStatus ncvGrowDetectionsVector_host(NCVVector &pixelMask, } -NCVStatus loadFromXML(const String &filename, +NCVStatus loadFromXML(const cv::String &filename, HaarClassifierCascadeDescriptor &haar, std::vector &haarStages, std::vector &haarClassifierNodes, @@ -2110,7 +2110,7 @@ NCVStatus loadFromXML(const String &filename, #define NVBIN_HAAR_VERSION 0x1 -static NCVStatus loadFromNVBIN(const String &filename, +static NCVStatus loadFromNVBIN(const cv::String &filename, HaarClassifierCascadeDescriptor &haar, std::vector &haarStages, std::vector &haarClassifierNodes, @@ -2174,14 +2174,14 @@ static NCVStatus loadFromNVBIN(const String &filename, } -NCVStatus ncvHaarGetClassifierSize(const String &filename, Ncv32u &numStages, +NCVStatus ncvHaarGetClassifierSize(const cv::String &filename, Ncv32u &numStages, Ncv32u &numNodes, Ncv32u &numFeatures) { size_t readCount; NCVStatus ncvStat; - String fext = filename.substr(filename.find_last_of(".") + 1); - std::transform(fext.begin(), fext.end(), fext.begin(), ::tolower); + cv::String fext = filename.substr(filename.find_last_of(".") + 1); + fext = fext.toLowerCase(); if (fext == "nvbin") { @@ -2226,7 +2226,7 @@ NCVStatus ncvHaarGetClassifierSize(const String &filename, Ncv32u &numStages, } -NCVStatus ncvHaarLoadFromFile_host(const String &filename, +NCVStatus ncvHaarLoadFromFile_host(const cv::String &filename, HaarClassifierCascadeDescriptor &haar, NCVVector &h_HaarStages, NCVVector &h_HaarNodes, @@ -2238,8 +2238,8 @@ NCVStatus ncvHaarLoadFromFile_host(const String &filename, NCVStatus ncvStat; - String fext = filename.substr(filename.find_last_of(".") + 1); - std::transform(fext.begin(), fext.end(), fext.begin(), ::tolower); + cv::String fext = filename.substr(filename.find_last_of(".") + 1); + fext = fext.toLowerCase(); std::vector haarStages; std::vector haarNodes; @@ -2272,7 +2272,7 @@ NCVStatus ncvHaarLoadFromFile_host(const String &filename, } -NCVStatus ncvHaarStoreNVBIN_host(const String &filename, +NCVStatus ncvHaarStoreNVBIN_host(const cv::String &filename, HaarClassifierCascadeDescriptor haar, NCVVector &h_HaarStages, NCVVector &h_HaarNodes, diff --git a/modules/gpu/src/nvidia/NCVHaarObjectDetection.hpp b/modules/gpu/src/nvidia/NCVHaarObjectDetection.hpp index a70d4b9..d66a52c 100644 --- a/modules/gpu/src/nvidia/NCVHaarObjectDetection.hpp +++ b/modules/gpu/src/nvidia/NCVHaarObjectDetection.hpp @@ -438,18 +438,18 @@ NCV_EXPORTS NCVStatus ncvGrowDetectionsVector_host(NCVVector &pixelMask, Ncv32f curScale); -NCV_EXPORTS NCVStatus ncvHaarGetClassifierSize(const String &filename, Ncv32u &numStages, +NCV_EXPORTS NCVStatus ncvHaarGetClassifierSize(const cv::String &filename, Ncv32u &numStages, Ncv32u &numNodes, Ncv32u &numFeatures); -NCV_EXPORTS NCVStatus ncvHaarLoadFromFile_host(const String &filename, +NCV_EXPORTS NCVStatus ncvHaarLoadFromFile_host(const cv::String &filename, HaarClassifierCascadeDescriptor &haar, NCVVector &h_HaarStages, NCVVector &h_HaarNodes, NCVVector &h_HaarFeatures); -NCV_EXPORTS NCVStatus ncvHaarStoreNVBIN_host(const String &filename, +NCV_EXPORTS NCVStatus ncvHaarStoreNVBIN_host(const cv::String &filename, HaarClassifierCascadeDescriptor haar, NCVVector &h_HaarStages, NCVVector &h_HaarNodes, @@ -457,4 +457,4 @@ NCV_EXPORTS NCVStatus ncvHaarStoreNVBIN_host(const String &filename, -#endif // _ncvhaarobjectdetection_hpp_ \ No newline at end of file +#endif // _ncvhaarobjectdetection_hpp_ diff --git a/modules/gpu/src/nvidia/core/NCV.cu b/modules/gpu/src/nvidia/core/NCV.cu index e99cc9d..791a793 100644 --- a/modules/gpu/src/nvidia/core/NCV.cu +++ b/modules/gpu/src/nvidia/core/NCV.cu @@ -52,16 +52,16 @@ //============================================================================== -static void stdDebugOutput(const String &msg) +static void stdDebugOutput(const cv::String &msg) { - std::cout << msg; + std::cout << msg.c_str() << std::endl; } static NCVDebugOutputHandler *debugOutputHandler = stdDebugOutput; -void ncvDebugOutput(const String &msg) +void ncvDebugOutput(const cv::String &msg) { debugOutputHandler(msg); } @@ -905,4 +905,4 @@ NCVStatus ncvDrawRects_32u_device(Ncv32u *d_dst, return drawRectsWrapperDevice(d_dst, dstStride, dstWidth, dstHeight, d_rects, numRects, color, cuStream); } -#endif /* CUDA_DISABLER */ \ No newline at end of file +#endif /* CUDA_DISABLER */ diff --git a/modules/gpu/src/nvidia/core/NCV.hpp b/modules/gpu/src/nvidia/core/NCV.hpp index b403884..1a2d6ec 100644 --- a/modules/gpu/src/nvidia/core/NCV.hpp +++ b/modules/gpu/src/nvidia/core/NCV.hpp @@ -53,8 +53,8 @@ #endif #include -#include -#include +#include "opencv2/core/cvstd.hpp" +#include "opencv2/core/utility.hpp" //============================================================================== @@ -243,10 +243,10 @@ const Ncv32u K_LOG2_WARP_SIZE = 5; //============================================================================== -NCV_EXPORTS void ncvDebugOutput(const String &msg); +NCV_EXPORTS void ncvDebugOutput(const cv::String &msg); -typedef void NCVDebugOutputHandler(const String &msg); +typedef void NCVDebugOutputHandler(const cv::String &msg); NCV_EXPORTS void ncvSetDebugOutputHandler(NCVDebugOutputHandler* func); @@ -257,9 +257,8 @@ NCV_EXPORTS void ncvSetDebugOutputHandler(NCVDebugOutputHandler* func); { \ if (!(pred)) \ { \ - std::ostringstream oss; \ - oss << "NCV Assertion Failed: " << msg << ", file=" << __FILE__ << ", line=" << __LINE__ << std::endl; \ - ncvDebugOutput(oss.str()); \ + cv::String str = cv::format("NCV Assertion Failed: %s, file=%s, line=%d", msg, __FILE__, __LINE__); \ + ncvDebugOutput(str); \ } \ } while (0) @@ -273,14 +272,19 @@ NCV_EXPORTS void ncvSetDebugOutputHandler(NCVDebugOutputHandler* func); #define ncvAssertReturn(pred, err) \ - ncvAssertPrintReturn(pred, "retcode=" << (int)err, err) + do \ + { \ + cv::String msg = cv::format("retcode=%d", (int)err); \ + ncvAssertPrintReturn(pred, msg.c_str(), err); \ + } while (0) #define ncvAssertReturnNcvStat(ncvOp) \ do \ { \ NCVStatus _ncvStat = ncvOp; \ - ncvAssertPrintReturn(NCV_SUCCESS==_ncvStat, "NcvStat=" << (int)_ncvStat, _ncvStat); \ + cv::String msg = cv::format("NcvStat=%d", (int)_ncvStat); \ + ncvAssertPrintReturn(NCV_SUCCESS==_ncvStat, msg.c_str(), _ncvStat); \ } while (0) @@ -288,7 +292,8 @@ NCV_EXPORTS void ncvSetDebugOutputHandler(NCVDebugOutputHandler* func); do \ { \ cudaError_t res = cudacall; \ - ncvAssertPrintReturn(cudaSuccess==res, "cudaError_t=" << (int)res, errCode); \ + cv::String msg = cv::format("cudaError_t=%d", (int)res); \ + ncvAssertPrintReturn(cudaSuccess==res, msg.c_str(), errCode); \ } while (0) @@ -296,7 +301,8 @@ NCV_EXPORTS void ncvSetDebugOutputHandler(NCVDebugOutputHandler* func); do \ { \ cudaError_t res = cudaGetLastError(); \ - ncvAssertPrintReturn(cudaSuccess==res, "cudaError_t=" << (int)res, errCode); \ + cv::String msg = cv::format("cudaError_t=%d", (int)res); \ + ncvAssertPrintReturn(cudaSuccess==res, msg.c_str(), errCode); \ } while (0) @@ -805,7 +811,7 @@ public: T& at(Ncv32u x, Ncv32u y) const { NcvBool bOutRange = (x >= this->_width || y >= this->_height); - ncvAssertPrintCheck(!bOutRange, "Error addressing matrix at [" << x << ", " << y << "]"); + ncvAssertPrintCheck(!bOutRange, "Error addressing matrix"); if (bOutRange) { return *this->_ptr; diff --git a/modules/gpu/src/precomp.hpp b/modules/gpu/src/precomp.hpp index 41f5af5..966f95d 100644 --- a/modules/gpu/src/precomp.hpp +++ b/modules/gpu/src/precomp.hpp @@ -65,6 +65,8 @@ #include #include +#include "opencv2/core.hpp" +#include "opencv2/core/utility.hpp" #include "opencv2/gpu.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/imgproc/imgproc_c.h" diff --git a/modules/gpu/src/video_writer.cpp b/modules/gpu/src/video_writer.cpp index 3a97fb3..b134f51 100644 --- a/modules/gpu/src/video_writer.cpp +++ b/modules/gpu/src/video_writer.cpp @@ -736,7 +736,7 @@ void NVENCAPI cv::gpu::VideoWriter_GPU::Impl::HandleOnEndFrame(const NVVE_EndFra class EncoderCallBackFFMPEG : public cv::gpu::VideoWriter_GPU::EncoderCallBack { public: - EncoderCallBackFFMPEG(const String& fileName, cv::Size frameSize, double fps); + EncoderCallBackFFMPEG(const cv::String& fileName, cv::Size frameSize, double fps); ~EncoderCallBackFFMPEG(); unsigned char* acquireBitStream(int* bufferSize); @@ -799,7 +799,7 @@ namespace } } -EncoderCallBackFFMPEG::EncoderCallBackFFMPEG(const String& fileName, cv::Size frameSize, double fps) : +EncoderCallBackFFMPEG::EncoderCallBackFFMPEG(const cv::String& fileName, cv::Size frameSize, double fps) : stream_(0), isKeyFrame_(false) { int buf_size = std::max(frameSize.area() * 4, 1024 * 1024); diff --git a/modules/gpu/test/nvidia/main_nvidia.cpp b/modules/gpu/test/nvidia/main_nvidia.cpp index 86839a4..4bb3652 100644 --- a/modules/gpu/test/nvidia/main_nvidia.cpp +++ b/modules/gpu/test/nvidia/main_nvidia.cpp @@ -271,7 +271,7 @@ void generateHaarApplicationTests(NCVAutoTestLister &testLister, NCVTestSourcePr } } -static void devNullOutput(const std::string& msg) +static void devNullOutput(const cv::String& msg) { (void)msg; } diff --git a/modules/gpu/test/test_stream.cpp b/modules/gpu/test/test_stream.cpp index 1ac8ae8..c17f978 100644 --- a/modules/gpu/test/test_stream.cpp +++ b/modules/gpu/test/test_stream.cpp @@ -46,7 +46,7 @@ using namespace cvtest; -#if CUDA_VERSION >= 5000 +#if CUDART_VERSION >= 5000 struct Async : testing::TestWithParam {