mirror of
https://github.com/opencv/opencv_contrib.git
synced 2025-10-21 23:01:45 +08:00
cudaarithm: fix the compile faiure of CUDA 12.4.x .
A slight API change of NPP nppiMeanStdDevGetBufferHostSize_8u_C1R The type of bufSize is size_t instead of int in CUDA 12.4.x
This commit is contained in:
@@ -151,7 +151,12 @@ void cv::cuda::meanStdDev(InputArray src, OutputArray dst, Stream& stream)
|
||||
sz.width = gsrc.cols;
|
||||
sz.height = gsrc.rows;
|
||||
|
||||
#if (CUDA_VERSION >= 12040)
|
||||
size_t bufSize;
|
||||
#else
|
||||
int bufSize;
|
||||
#endif
|
||||
|
||||
#if (CUDA_VERSION <= 4020)
|
||||
nppSafeCall( nppiMeanStdDev8uC1RGetBufferHostSize(sz, &bufSize) );
|
||||
#else
|
||||
@@ -162,7 +167,8 @@ void cv::cuda::meanStdDev(InputArray src, OutputArray dst, Stream& stream)
|
||||
#endif
|
||||
|
||||
BufferPool pool(stream);
|
||||
GpuMat buf = pool.getBuffer(1, bufSize, gsrc.type());
|
||||
CV_Assert(bufSize <= std::numeric_limits<int>::max());
|
||||
GpuMat buf = pool.getBuffer(1, static_cast<int>(bufSize), gsrc.type());
|
||||
|
||||
// detail: https://github.com/opencv/opencv/issues/11063
|
||||
//NppStreamHandler h(StreamAccessor::getStream(stream));
|
||||
@@ -227,7 +233,12 @@ void cv::cuda::meanStdDev(InputArray src, OutputArray dst, InputArray mask, Stre
|
||||
sz.width = gsrc.cols;
|
||||
sz.height = gsrc.rows;
|
||||
|
||||
#if (CUDA_VERSION >= 12040)
|
||||
size_t bufSize;
|
||||
#else
|
||||
int bufSize;
|
||||
#endif
|
||||
|
||||
#if (CUDA_VERSION <= 4020)
|
||||
nppSafeCall( nppiMeanStdDev8uC1MRGetBufferHostSize(sz, &bufSize) );
|
||||
#else
|
||||
@@ -238,7 +249,8 @@ void cv::cuda::meanStdDev(InputArray src, OutputArray dst, InputArray mask, Stre
|
||||
#endif
|
||||
|
||||
BufferPool pool(stream);
|
||||
GpuMat buf = pool.getBuffer(1, bufSize, gsrc.type());
|
||||
CV_Assert(bufSize <= std::numeric_limits<int>::max());
|
||||
GpuMat buf = pool.getBuffer(1, static_cast<int>(bufSize), gsrc.type());
|
||||
|
||||
if(gsrc.type() == CV_8UC1)
|
||||
nppSafeCall( nppiMean_StdDev_8u_C1MR(gsrc.ptr<Npp8u>(), static_cast<int>(gsrc.step), gmask.ptr<Npp8u>(), static_cast<int>(gmask.step),
|
||||
|
Reference in New Issue
Block a user