From: Vladislav Vinogradov Date: Wed, 24 Dec 2014 14:23:54 +0000 (+0300) Subject: fix compilation without CUDA X-Git-Tag: accepted/tizen/6.0/unified/20201030.111113~2738^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b4e7ee46c633b06e6c5ca8374b1bf22357c76fd1;p=platform%2Fupstream%2Fopencv.git fix compilation without CUDA --- diff --git a/modules/core/include/opencv2/core/private.cuda.hpp b/modules/core/include/opencv2/core/private.cuda.hpp index aaa777c..5c473b8 100644 --- a/modules/core/include/opencv2/core/private.cuda.hpp +++ b/modules/core/include/opencv2/core/private.cuda.hpp @@ -80,6 +80,16 @@ namespace cv { namespace cuda { CV_EXPORTS cv::String getNppErrorMessage(int code); CV_EXPORTS cv::String getCudaDriverApiErrorMessage(int code); + + CV_EXPORTS GpuMat getInputMat(InputArray _src, Stream& stream); + + CV_EXPORTS GpuMat getOutputMat(OutputArray _dst, int rows, int cols, int type, Stream& stream); + static inline GpuMat getOutputMat(OutputArray _dst, Size size, int type, Stream& stream) + { + return getOutputMat(_dst, size.height, size.width, type, stream); + } + + CV_EXPORTS void syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream); }} #ifndef HAVE_CUDA @@ -106,16 +116,6 @@ namespace cv { namespace cuda GpuMat::Allocator* allocator_; }; - CV_EXPORTS GpuMat getInputMat(InputArray _src, Stream& stream); - - CV_EXPORTS GpuMat getOutputMat(OutputArray _dst, int rows, int cols, int type, Stream& stream); - static inline GpuMat getOutputMat(OutputArray _dst, Size size, int type, Stream& stream) - { - return getOutputMat(_dst, size.height, size.width, type, stream); - } - - CV_EXPORTS void syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream); - static inline void checkNppError(int code, const char* file, const int line, const char* func) { if (code < 0) diff --git a/modules/core/src/cuda_gpu_mat.cpp b/modules/core/src/cuda_gpu_mat.cpp index 8a7b236..9a17ddd 100644 --- a/modules/core/src/cuda_gpu_mat.cpp +++ b/modules/core/src/cuda_gpu_mat.cpp @@ -346,6 +346,11 @@ GpuMat cv::cuda::getInputMat(InputArray _src, Stream& stream) { GpuMat src; +#ifndef HAVE_CUDA + (void) _src; + (void) stream; + throw_no_cuda(); +#else if (_src.kind() == _InputArray::CUDA_GPU_MAT) { src = _src.getGpuMat(); @@ -356,6 +361,7 @@ GpuMat cv::cuda::getInputMat(InputArray _src, Stream& stream) src = pool.getBuffer(_src.size(), _src.type()); src.upload(_src, stream); } +#endif return src; } @@ -364,6 +370,14 @@ GpuMat cv::cuda::getOutputMat(OutputArray _dst, int rows, int cols, int type, St { GpuMat dst; +#ifndef HAVE_CUDA + (void) _dst; + (void) rows; + (void) cols; + (void) type; + (void) stream; + throw_no_cuda(); +#else if (_dst.kind() == _InputArray::CUDA_GPU_MAT) { _dst.create(rows, cols, type); @@ -374,12 +388,19 @@ GpuMat cv::cuda::getOutputMat(OutputArray _dst, int rows, int cols, int type, St BufferPool pool(stream); dst = pool.getBuffer(rows, cols, type); } +#endif return dst; } void cv::cuda::syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream) { +#ifndef HAVE_CUDA + (void) dst; + (void) _dst; + (void) stream; + throw_no_cuda(); +#else if (_dst.kind() != _InputArray::CUDA_GPU_MAT) { if (stream) @@ -387,6 +408,7 @@ void cv::cuda::syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream) else dst.download(_dst); } +#endif } #ifndef HAVE_CUDA