exclude compactPoints and calcWobbleSuppressionMaps from compilation
authorVladislav Vinogradov <vlad.vinogradov@itseez.com>
Thu, 22 Jan 2015 13:36:16 +0000 (16:36 +0300)
committerVladislav Vinogradov <vlad.vinogradov@itseez.com>
Thu, 22 Jan 2015 13:36:16 +0000 (16:36 +0300)
if they are not needed

modules/videostab/src/global_motion.cpp
modules/videostab/src/wobble_suppression.cpp

index d73751e..d840e89 100644 (file)
 
 #include "opencv2/core/private.cuda.hpp"
 
-#if !defined HAVE_CUDA || defined(CUDA_DISABLER)
-
-namespace cv { namespace cuda {
-    static void compactPoints(GpuMat&, GpuMat&, const GpuMat&) { throw_no_cuda(); }
-}}
-
-#else
-
-namespace cv { namespace cuda { namespace device { namespace globmotion {
-    int compactPoints(int N, float *points0, float *points1, const uchar *mask);
-}}}}
-
-namespace cv { namespace cuda {
-    static void compactPoints(GpuMat &points0, GpuMat &points1, const GpuMat &mask)
-    {
-        CV_Assert(points0.rows == 1 && points1.rows == 1 && mask.rows == 1);
-        CV_Assert(points0.type() == CV_32FC2 && points1.type() == CV_32FC2 && mask.type() == CV_8U);
-        CV_Assert(points0.cols == mask.cols && points1.cols == mask.cols);
+#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_CUDAOPTFLOW)
+    #if !defined HAVE_CUDA || defined(CUDA_DISABLER)
+        namespace cv { namespace cuda {
+            static void compactPoints(GpuMat&, GpuMat&, const GpuMat&) { throw_no_cuda(); }
+        }}
+    #else
+        namespace cv { namespace cuda { namespace device { namespace globmotion {
+            int compactPoints(int N, float *points0, float *points1, const uchar *mask);
+        }}}}
+        namespace cv { namespace cuda {
+            static void compactPoints(GpuMat &points0, GpuMat &points1, const GpuMat &mask)
+            {
+                CV_Assert(points0.rows == 1 && points1.rows == 1 && mask.rows == 1);
+                CV_Assert(points0.type() == CV_32FC2 && points1.type() == CV_32FC2 && mask.type() == CV_8U);
+                CV_Assert(points0.cols == mask.cols && points1.cols == mask.cols);
 
-        int npoints = points0.cols;
-        int remaining = cv::cuda::device::globmotion::compactPoints(
-                npoints, (float*)points0.data, (float*)points1.data, mask.data);
-
-        points0 = points0.colRange(0, remaining);
-        points1 = points1.colRange(0, remaining);
-    }
-}}
+                int npoints = points0.cols;
+                int remaining = cv::cuda::device::globmotion::compactPoints(
+                        npoints, (float*)points0.data, (float*)points1.data, mask.data);
 
+                points0 = points0.colRange(0, remaining);
+                points1 = points1.colRange(0, remaining);
+            }
+        }}
+    #endif
 #endif
 
 namespace cv
index 98fb699..86067fb 100644 (file)
 #  include "opencv2/cudawarping.hpp"
 #endif
 
-#if !defined HAVE_CUDA || defined(CUDA_DISABLER)
-
-namespace cv { namespace cuda {
-    static void calcWobbleSuppressionMaps(int, int, int, Size, const Mat&, const Mat&, GpuMat&, GpuMat&) { throw_no_cuda(); }
-}}
-
-#else
-
-namespace cv { namespace cuda { namespace device { namespace globmotion {
-    void calcWobbleSuppressionMaps(
-            int left, int idx, int right, int width, int height,
-            const float *ml, const float *mr, PtrStepSzf mapx, PtrStepSzf mapy);
-}}}}
-
-namespace cv { namespace cuda {
-    static void calcWobbleSuppressionMaps(
-            int left, int idx, int right, Size size, const Mat &ml, const Mat &mr,
-            GpuMat &mapx, GpuMat &mapy)
-    {
-        CV_Assert(ml.size() == Size(3, 3) && ml.type() == CV_32F && ml.isContinuous());
-        CV_Assert(mr.size() == Size(3, 3) && mr.type() == CV_32F && mr.isContinuous());
-
-        mapx.create(size, CV_32F);
-        mapy.create(size, CV_32F);
-
-        cv::cuda::device::globmotion::calcWobbleSuppressionMaps(
-                    left, idx, right, size.width, size.height,
-                    ml.ptr<float>(), mr.ptr<float>(), mapx, mapy);
-    }
-}}
-
+#if defined(HAVE_OPENCV_CUDAWARPING)
+    #if !defined HAVE_CUDA || defined(CUDA_DISABLER)
+        namespace cv { namespace cuda {
+            static void calcWobbleSuppressionMaps(int, int, int, Size, const Mat&, const Mat&, GpuMat&, GpuMat&) { throw_no_cuda(); }
+        }}
+    #else
+        namespace cv { namespace cuda { namespace device { namespace globmotion {
+            void calcWobbleSuppressionMaps(
+                    int left, int idx, int right, int width, int height,
+                    const float *ml, const float *mr, PtrStepSzf mapx, PtrStepSzf mapy);
+        }}}}
+        namespace cv { namespace cuda {
+            static void calcWobbleSuppressionMaps(
+                    int left, int idx, int right, Size size, const Mat &ml, const Mat &mr,
+                    GpuMat &mapx, GpuMat &mapy)
+            {
+                CV_Assert(ml.size() == Size(3, 3) && ml.type() == CV_32F && ml.isContinuous());
+                CV_Assert(mr.size() == Size(3, 3) && mr.type() == CV_32F && mr.isContinuous());
+
+                mapx.create(size, CV_32F);
+                mapy.create(size, CV_32F);
+
+                cv::cuda::device::globmotion::calcWobbleSuppressionMaps(
+                            left, idx, right, size.width, size.height,
+                            ml.ptr<float>(), mr.ptr<float>(), mapx, mapy);
+            }
+        }}
+    #endif
 #endif
 
 namespace cv