Commit b4e7ee46 authored by Vladislav Vinogradov's avatar Vladislav Vinogradov

fix compilation without CUDA

parent cd0e95de
...@@ -80,6 +80,16 @@ ...@@ -80,6 +80,16 @@
namespace cv { namespace cuda { namespace cv { namespace cuda {
CV_EXPORTS cv::String getNppErrorMessage(int code); CV_EXPORTS cv::String getNppErrorMessage(int code);
CV_EXPORTS cv::String getCudaDriverApiErrorMessage(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 #ifndef HAVE_CUDA
...@@ -106,16 +116,6 @@ namespace cv { namespace cuda ...@@ -106,16 +116,6 @@ namespace cv { namespace cuda
GpuMat::Allocator* allocator_; 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) static inline void checkNppError(int code, const char* file, const int line, const char* func)
{ {
if (code < 0) if (code < 0)
......
...@@ -346,6 +346,11 @@ GpuMat cv::cuda::getInputMat(InputArray _src, Stream& stream) ...@@ -346,6 +346,11 @@ GpuMat cv::cuda::getInputMat(InputArray _src, Stream& stream)
{ {
GpuMat src; GpuMat src;
#ifndef HAVE_CUDA
(void) _src;
(void) stream;
throw_no_cuda();
#else
if (_src.kind() == _InputArray::CUDA_GPU_MAT) if (_src.kind() == _InputArray::CUDA_GPU_MAT)
{ {
src = _src.getGpuMat(); src = _src.getGpuMat();
...@@ -356,6 +361,7 @@ GpuMat cv::cuda::getInputMat(InputArray _src, Stream& stream) ...@@ -356,6 +361,7 @@ GpuMat cv::cuda::getInputMat(InputArray _src, Stream& stream)
src = pool.getBuffer(_src.size(), _src.type()); src = pool.getBuffer(_src.size(), _src.type());
src.upload(_src, stream); src.upload(_src, stream);
} }
#endif
return src; return src;
} }
...@@ -364,6 +370,14 @@ GpuMat cv::cuda::getOutputMat(OutputArray _dst, int rows, int cols, int type, St ...@@ -364,6 +370,14 @@ GpuMat cv::cuda::getOutputMat(OutputArray _dst, int rows, int cols, int type, St
{ {
GpuMat dst; 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) if (_dst.kind() == _InputArray::CUDA_GPU_MAT)
{ {
_dst.create(rows, cols, type); _dst.create(rows, cols, type);
...@@ -374,12 +388,19 @@ GpuMat cv::cuda::getOutputMat(OutputArray _dst, int rows, int cols, int type, St ...@@ -374,12 +388,19 @@ GpuMat cv::cuda::getOutputMat(OutputArray _dst, int rows, int cols, int type, St
BufferPool pool(stream); BufferPool pool(stream);
dst = pool.getBuffer(rows, cols, type); dst = pool.getBuffer(rows, cols, type);
} }
#endif
return dst; return dst;
} }
void cv::cuda::syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream) 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 (_dst.kind() != _InputArray::CUDA_GPU_MAT)
{ {
if (stream) if (stream)
...@@ -387,6 +408,7 @@ void cv::cuda::syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream) ...@@ -387,6 +408,7 @@ void cv::cuda::syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream)
else else
dst.download(_dst); dst.download(_dst);
} }
#endif
} }
#ifndef HAVE_CUDA #ifndef HAVE_CUDA
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment