From f444f9b43e7153a539eb677595fe2ebae5b1a9c9 Mon Sep 17 00:00:00 2001 From: Anatoly Baksheev Date: Tue, 4 Oct 2011 17:37:05 +0000 Subject: [PATCH] optflow gpu compilation fix under vs2010 --- modules/gpu/src/nvidia/NCVBroxOpticalFlow.cu | 7 ++++--- modules/gpu/src/opencv2/gpu/device/utility.hpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/gpu/src/nvidia/NCVBroxOpticalFlow.cu b/modules/gpu/src/nvidia/NCVBroxOpticalFlow.cu index 663960932..06d88ea01 100644 --- a/modules/gpu/src/nvidia/NCVBroxOpticalFlow.cu +++ b/modules/gpu/src/nvidia/NCVBroxOpticalFlow.cu @@ -62,7 +62,7 @@ #include "NPP_staging/NPP_staging.hpp" #include "NCVBroxOpticalFlow.hpp" - +#include "opencv2/gpu/device/utility.hpp" //////////////////////////////////////////// @@ -131,6 +131,7 @@ template inline shared_ptr<_Tp>& shared_ptr<_Tp>::operator = (cons return *this; } + //////////////////////////////////////////// //using std::tr1::shared_ptr; @@ -1181,8 +1182,8 @@ NCVStatus NCVBroxOpticalFlow(const NCVBroxOpticalFlowDescriptor desc, ScaleVector(ptrVNew->ptr(), ptrVNew->ptr(), 1.0f/scale_factor, ns * nh, stream); } - std::swap(ptrU, ptrUNew); - std::swap(ptrV, ptrVNew); + cv::gpu::device::swap(ptrU, ptrUNew); + cv::gpu::device::swap(ptrV, ptrVNew); } scale /= scale_factor; } diff --git a/modules/gpu/src/opencv2/gpu/device/utility.hpp b/modules/gpu/src/opencv2/gpu/device/utility.hpp index 031fd7fa2..990158e63 100644 --- a/modules/gpu/src/opencv2/gpu/device/utility.hpp +++ b/modules/gpu/src/opencv2/gpu/device/utility.hpp @@ -58,7 +58,7 @@ namespace cv { namespace gpu { namespace device /////////////////////////////////////////////////////////////////////////////// // swap - template void __device__ __forceinline__ swap(T& a, T& b) + template void __device__ __host__ __forceinline__ swap(T& a, T& b) { const T temp = a; a = b;