fix compilation without CUDA
authorVladislav Vinogradov <vlad.vinogradov@itseez.com>
Wed, 24 Dec 2014 14:23:54 +0000 (17:23 +0300)
committerVladislav Vinogradov <vlad.vinogradov@itseez.com>
Tue, 30 Dec 2014 08:06:33 +0000 (11:06 +0300)
modules/core/include/opencv2/core/private.cuda.hpp
modules/core/src/cuda_gpu_mat.cpp

index aaa777c..5c473b8 100644 (file)
 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)
index 8a7b236..9a17ddd 100644 (file)
@@ -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