From b7eff9413704338933e0db3c0d9dea22d74fe270 Mon Sep 17 00:00:00 2001 From: Vladislav Vinogradov Date: Fri, 6 Sep 2013 15:52:07 +0400 Subject: [PATCH] fixed compilation issues with new Ptr --- modules/core/src/opengl.cpp | 24 ++++++++++-------------- modules/gpucodec/src/video_reader.cpp | 14 +++++++------- modules/gpucodec/src/video_source.cpp | 2 +- modules/gpucodec/src/video_writer.cpp | 4 ++-- 4 files changed, 20 insertions(+), 24 deletions(-) diff --git a/modules/core/src/opengl.cpp b/modules/core/src/opengl.cpp index 827d276..7bff69b 100644 --- a/modules/core/src/opengl.cpp +++ b/modules/core/src/opengl.cpp @@ -484,7 +484,7 @@ cv::ogl::Buffer::Buffer(int arows, int acols, int atype, unsigned int abufId, bo (void) autoRelease; throw_no_ogl(); #else - impl_ = new Impl(abufId, autoRelease); + impl_.reset(new Impl(abufId, autoRelease)); rows_ = arows; cols_ = acols; type_ = atype; @@ -500,7 +500,7 @@ cv::ogl::Buffer::Buffer(Size asize, int atype, unsigned int abufId, bool autoRel (void) autoRelease; throw_no_ogl(); #else - impl_ = new Impl(abufId, autoRelease); + impl_.reset(new Impl(abufId, autoRelease)); rows_ = asize.height; cols_ = asize.width; type_ = atype; @@ -529,7 +529,7 @@ cv::ogl::Buffer::Buffer(InputArray arr, Target target, bool autoRelease) : rows_ Mat mat = arr.getMat(); CV_Assert( mat.isContinuous() ); const GLsizeiptr asize = mat.rows * mat.cols * mat.elemSize(); - impl_ = new Impl(asize, mat.data, target, autoRelease); + impl_.reset(new Impl(asize, mat.data, target, autoRelease)); rows_ = mat.rows; cols_ = mat.cols; type_ = mat.type(); @@ -552,7 +552,7 @@ void cv::ogl::Buffer::create(int arows, int acols, int atype, Target target, boo if (rows_ != arows || cols_ != acols || type_ != atype) { const GLsizeiptr asize = arows * acols * CV_ELEM_SIZE(atype); - impl_ = new Impl(asize, 0, target, autoRelease); + impl_.reset(new Impl(asize, 0, target, autoRelease)); rows_ = arows; cols_ = acols; type_ = atype; @@ -563,8 +563,6 @@ void cv::ogl::Buffer::create(int arows, int acols, int atype, Target target, boo void cv::ogl::Buffer::release() { #ifdef HAVE_OPENGL - if (*impl_.refcount == 1) - impl_->setAutoRelease(true); impl_ = Impl::empty(); rows_ = 0; cols_ = 0; @@ -968,7 +966,7 @@ cv::ogl::Texture2D::Texture2D(int arows, int acols, Format aformat, unsigned int (void) autoRelease; throw_no_ogl(); #else - impl_ = new Impl(atexId, autoRelease); + impl_.reset(new Impl(atexId, autoRelease)); rows_ = arows; cols_ = acols; format_ = aformat; @@ -984,7 +982,7 @@ cv::ogl::Texture2D::Texture2D(Size asize, Format aformat, unsigned int atexId, b (void) autoRelease; throw_no_ogl(); #else - impl_ = new Impl(atexId, autoRelease); + impl_.reset(new Impl(atexId, autoRelease)); rows_ = asize.height; cols_ = asize.width; format_ = aformat; @@ -1024,7 +1022,7 @@ cv::ogl::Texture2D::Texture2D(InputArray arr, bool autoRelease) : rows_(0), cols { ogl::Buffer buf = arr.getOGlBuffer(); buf.bind(ogl::Buffer::PIXEL_UNPACK_BUFFER); - impl_ = new Impl(internalFormats[cn], asize.width, asize.height, srcFormats[cn], gl_types[depth], 0, autoRelease); + impl_.reset(new Impl(internalFormats[cn], asize.width, asize.height, srcFormats[cn], gl_types[depth], 0, autoRelease)); ogl::Buffer::unbind(ogl::Buffer::PIXEL_UNPACK_BUFFER); break; } @@ -1037,7 +1035,7 @@ cv::ogl::Texture2D::Texture2D(InputArray arr, bool autoRelease) : rows_(0), cols GpuMat dmat = arr.getGpuMat(); ogl::Buffer buf(dmat, ogl::Buffer::PIXEL_UNPACK_BUFFER); buf.bind(ogl::Buffer::PIXEL_UNPACK_BUFFER); - impl_ = new Impl(internalFormats[cn], asize.width, asize.height, srcFormats[cn], gl_types[depth], 0, autoRelease); + impl_.reset(new Impl(internalFormats[cn], asize.width, asize.height, srcFormats[cn], gl_types[depth], 0, autoRelease)); ogl::Buffer::unbind(ogl::Buffer::PIXEL_UNPACK_BUFFER); #endif @@ -1049,7 +1047,7 @@ cv::ogl::Texture2D::Texture2D(InputArray arr, bool autoRelease) : rows_(0), cols Mat mat = arr.getMat(); CV_Assert( mat.isContinuous() ); ogl::Buffer::unbind(ogl::Buffer::PIXEL_UNPACK_BUFFER); - impl_ = new Impl(internalFormats[cn], asize.width, asize.height, srcFormats[cn], gl_types[depth], mat.data, autoRelease); + impl_.reset(new Impl(internalFormats[cn], asize.width, asize.height, srcFormats[cn], gl_types[depth], mat.data, autoRelease)); break; } } @@ -1072,7 +1070,7 @@ void cv::ogl::Texture2D::create(int arows, int acols, Format aformat, bool autoR if (rows_ != arows || cols_ != acols || format_ != aformat) { ogl::Buffer::unbind(ogl::Buffer::PIXEL_UNPACK_BUFFER); - impl_ = new Impl(aformat, acols, arows, aformat, gl::FLOAT, 0, autoRelease); + impl_.reset(new Impl(aformat, acols, arows, aformat, gl::FLOAT, 0, autoRelease)); rows_ = arows; cols_ = acols; format_ = aformat; @@ -1083,8 +1081,6 @@ void cv::ogl::Texture2D::create(int arows, int acols, Format aformat, bool autoR void cv::ogl::Texture2D::release() { #ifdef HAVE_OPENGL - if (*impl_.refcount == 1) - impl_->setAutoRelease(true); impl_ = Impl::empty(); rows_ = 0; cols_ = 0; diff --git a/modules/gpucodec/src/video_reader.cpp b/modules/gpucodec/src/video_reader.cpp index 67e9cd1..abb0da3 100644 --- a/modules/gpucodec/src/video_reader.cpp +++ b/modules/gpucodec/src/video_reader.cpp @@ -99,9 +99,9 @@ namespace cuSafeCall( cuCtxGetCurrent(&ctx) ); cuSafeCall( cuvidCtxLockCreate(&lock_, ctx) ); - frameQueue_ = new detail::FrameQueue; - videoDecoder_ = new detail::VideoDecoder(videoSource_->format(), lock_); - videoParser_ = new detail::VideoParser(videoDecoder_, frameQueue_); + frameQueue_.reset(new FrameQueue); + videoDecoder_.reset(new VideoDecoder(videoSource_->format(), lock_)); + videoParser_.reset(new VideoParser(videoDecoder_, frameQueue_)); videoSource_->setVideoParser(videoParser_); videoSource_->start(); @@ -216,21 +216,21 @@ Ptr cv::gpucodec::createVideoReader(const String& filename) try { - videoSource = new detail::CuvidVideoSource(filename); + videoSource.reset(new CuvidVideoSource(filename)); } catch (...) { Ptr source(new detail::FFmpegVideoSource(filename)); - videoSource = new detail::RawVideoSourceWrapper(source); + videoSource.reset(new RawVideoSourceWrapper(source)); } - return new VideoReaderImpl(videoSource); + return makePtr(videoSource); } Ptr cv::gpucodec::createVideoReader(const Ptr& source) { Ptr videoSource(new detail::RawVideoSourceWrapper(source)); - return new VideoReaderImpl(videoSource); + return makePtr(videoSource); } #endif // HAVE_NVCUVID diff --git a/modules/gpucodec/src/video_source.cpp b/modules/gpucodec/src/video_source.cpp index ce6a1bd..e4241cf 100644 --- a/modules/gpucodec/src/video_source.cpp +++ b/modules/gpucodec/src/video_source.cpp @@ -69,7 +69,7 @@ void cv::gpucodec::detail::RawVideoSourceWrapper::start() { stop_ = false; hasError_ = false; - thread_ = new Thread(readLoop, this); + thread_.reset(new Thread(readLoop, this)); } void cv::gpucodec::detail::RawVideoSourceWrapper::stop() diff --git a/modules/gpucodec/src/video_writer.cpp b/modules/gpucodec/src/video_writer.cpp index 6ffb7c1..a1484c2 100644 --- a/modules/gpucodec/src/video_writer.cpp +++ b/modules/gpucodec/src/video_writer.cpp @@ -908,12 +908,12 @@ Ptr cv::gpucodec::createVideoWriter(const String& fileName, Size fr Ptr cv::gpucodec::createVideoWriter(const Ptr& encoderCallback, Size frameSize, double fps, SurfaceFormat format) { - return new VideoWriterImpl(encoderCallback, frameSize, fps, format); + return makePtr(encoderCallback, frameSize, fps, format); } Ptr cv::gpucodec::createVideoWriter(const Ptr& encoderCallback, Size frameSize, double fps, const EncoderParams& params, SurfaceFormat format) { - return new VideoWriterImpl(encoderCallback, frameSize, fps, params, format); + return makePtr(encoderCallback, frameSize, fps, params, format); } #endif // !defined HAVE_CUDA || !defined WIN32 -- 2.7.4