Commit dfd0b297 authored by Adil Ibragimov's avatar Adil Ibragimov

datastart must be non-const in CUDA.

parent 28f3a44e
...@@ -261,7 +261,7 @@ public: ...@@ -261,7 +261,7 @@ public:
int* refcount; int* refcount;
//! helper fields used in locateROI and adjustROI //! helper fields used in locateROI and adjustROI
const uchar* datastart; uchar* datastart;
const uchar* dataend; const uchar* dataend;
//! allocator //! allocator
...@@ -349,7 +349,7 @@ public: ...@@ -349,7 +349,7 @@ public:
uchar* data; uchar* data;
int* refcount; int* refcount;
const uchar* datastart; uchar* datastart;
const uchar* dataend; const uchar* dataend;
AllocType alloc_type; AllocType alloc_type;
......
...@@ -160,7 +160,7 @@ void cv::cuda::GpuMat::release() ...@@ -160,7 +160,7 @@ void cv::cuda::GpuMat::release()
if (refcount && CV_XADD(refcount, -1) == 1) if (refcount && CV_XADD(refcount, -1) == 1)
allocator->free(this); allocator->free(this);
data = datastart = dataend = 0; dataend = data = datastart = 0;
step = rows = cols = 0; step = rows = cols = 0;
refcount = 0; refcount = 0;
} }
......
...@@ -49,7 +49,7 @@ using namespace cv::cuda; ...@@ -49,7 +49,7 @@ using namespace cv::cuda;
cv::cuda::GpuMat::GpuMat(int rows_, int cols_, int type_, void* data_, size_t step_) : cv::cuda::GpuMat::GpuMat(int rows_, int cols_, int type_, void* data_, size_t step_) :
flags(Mat::MAGIC_VAL + (type_ & Mat::TYPE_MASK)), rows(rows_), cols(cols_), flags(Mat::MAGIC_VAL + (type_ & Mat::TYPE_MASK)), rows(rows_), cols(cols_),
step(step_), data((uchar*)data_), refcount(0), step(step_), data((uchar*)data_), refcount(0),
datastart((uchar*)data_), dataend((uchar*)data_), datastart((uchar*)data_), dataend((const uchar*)data_),
allocator(defaultAllocator()) allocator(defaultAllocator())
{ {
size_t minstep = cols * elemSize(); size_t minstep = cols * elemSize();
...@@ -75,7 +75,7 @@ cv::cuda::GpuMat::GpuMat(int rows_, int cols_, int type_, void* data_, size_t st ...@@ -75,7 +75,7 @@ cv::cuda::GpuMat::GpuMat(int rows_, int cols_, int type_, void* data_, size_t st
cv::cuda::GpuMat::GpuMat(Size size_, int type_, void* data_, size_t step_) : cv::cuda::GpuMat::GpuMat(Size size_, int type_, void* data_, size_t step_) :
flags(Mat::MAGIC_VAL + (type_ & Mat::TYPE_MASK)), rows(size_.height), cols(size_.width), flags(Mat::MAGIC_VAL + (type_ & Mat::TYPE_MASK)), rows(size_.height), cols(size_.width),
step(step_), data((uchar*)data_), refcount(0), step(step_), data((uchar*)data_), refcount(0),
datastart((uchar*)data_), dataend((uchar*)data_), datastart((uchar*)data_), dataend((const uchar*)data_),
allocator(defaultAllocator()) allocator(defaultAllocator())
{ {
size_t minstep = cols * elemSize(); size_t minstep = cols * elemSize();
......
...@@ -175,7 +175,7 @@ void cv::cuda::CudaMem::release() ...@@ -175,7 +175,7 @@ void cv::cuda::CudaMem::release()
fastFree(refcount); fastFree(refcount);
} }
data = datastart = dataend = 0; dataend = data = datastart = 0;
step = rows = cols = 0; step = rows = cols = 0;
refcount = 0; refcount = 0;
#endif #endif
......
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