From 508fb6aa5b15aef698c1fe37d655a1f11ecf17fd Mon Sep 17 00:00:00 2001
From: Vladislav Vinogradov <vlad.vinogradov@itseez.com>
Date: Thu, 18 Apr 2013 10:14:43 +0400
Subject: [PATCH] renamed gpunvidia -> gpulegacy

---
 modules/gpuarithm/CMakeLists.txt                 |  2 +-
 modules/gpuarithm/src/arithm.cpp                 |  4 ++--
 modules/gpuarithm/src/precomp.hpp                |  6 +++---
 modules/gpulegacy/CMakeLists.txt                 |  9 +++++++++
 .../include/opencv2/gpulegacy.hpp}               | 16 ++++++++--------
 .../include/opencv2/gpulegacy}/NCV.hpp           |  0
 .../opencv2/gpulegacy}/NCVBroxOpticalFlow.hpp    |  2 +-
 .../gpulegacy}/NCVHaarObjectDetection.hpp        |  2 +-
 .../include/opencv2/gpulegacy}/NCVPyramid.hpp    | 12 +++++++++++-
 .../include/opencv2/gpulegacy}/NPP_staging.hpp   |  2 +-
 .../include/opencv2/gpulegacy}/private.hpp       | 10 +++++-----
 modules/{gpunvidia => gpulegacy}/src/NCV.cpp     |  0
 modules/{gpunvidia => gpulegacy}/src/cuda/NCV.cu |  2 +-
 .../{gpunvidia => gpulegacy}/src/cuda/NCVAlg.hpp |  2 +-
 .../src/cuda/NCVBroxOpticalFlow.cu               |  4 ++--
 .../src/cuda/NCVColorConversion.hpp              |  0
 .../src/cuda/NCVHaarObjectDetection.cu           |  6 +++---
 .../src/cuda/NCVPixelOperations.hpp              |  2 +-
 .../src/cuda/NCVPyramid.cu                       |  4 ++--
 .../src/cuda/NCVRuntimeTemplates.hpp             |  0
 .../src/cuda/NPP_staging.cu                      |  2 +-
 modules/{gpunvidia => gpulegacy}/src/precomp.cpp |  0
 modules/{gpunvidia => gpulegacy}/src/precomp.hpp |  4 ++--
 .../test/NCVAutoTestLister.hpp                   |  0
 .../{gpunvidia => gpulegacy}/test/NCVTest.hpp    |  2 +-
 .../test/NCVTestSourceProvider.hpp               |  2 +-
 .../test/TestCompact.cpp                         |  0
 .../{gpunvidia => gpulegacy}/test/TestCompact.h  |  0
 .../test/TestDrawRects.cpp                       |  0
 .../test/TestDrawRects.h                         |  0
 .../test/TestHaarCascadeApplication.cpp          |  0
 .../test/TestHaarCascadeApplication.h            |  0
 .../test/TestHaarCascadeLoader.cpp               |  0
 .../test/TestHaarCascadeLoader.h                 |  0
 .../test/TestHypothesesFilter.cpp                |  0
 .../test/TestHypothesesFilter.h                  |  0
 .../test/TestHypothesesGrow.cpp                  |  0
 .../test/TestHypothesesGrow.h                    |  0
 .../test/TestIntegralImage.cpp                   |  0
 .../test/TestIntegralImage.h                     |  0
 .../test/TestIntegralImageSquared.cpp            |  0
 .../test/TestIntegralImageSquared.h              |  0
 .../test/TestRectStdDev.cpp                      |  0
 .../test/TestRectStdDev.h                        |  0
 .../{gpunvidia => gpulegacy}/test/TestResize.cpp |  0
 .../{gpunvidia => gpulegacy}/test/TestResize.h   |  0
 .../test/TestTranspose.cpp                       |  0
 .../test/TestTranspose.h                         |  0
 .../test/main_nvidia.cpp                         |  0
 .../test/main_test_nvidia.h                      |  0
 .../{gpunvidia => gpulegacy}/test/test_main.cpp  |  0
 .../test/test_nvidia.cpp                         |  5 ++---
 .../test/test_precomp.cpp                        |  0
 .../test/test_precomp.hpp                        |  2 +-
 modules/gpunvidia/CMakeLists.txt                 |  9 ---------
 modules/gpuobjdetect/CMakeLists.txt              |  2 +-
 modules/gpuobjdetect/src/precomp.hpp             |  4 ++--
 modules/gpuvideo/CMakeLists.txt                  |  2 +-
 modules/gpuvideo/src/precomp.hpp                 |  4 ++--
 samples/gpu/CMakeLists.txt                       |  2 +-
 samples/gpu/cascadeclassifier_nvidia_api.cpp     |  2 +-
 samples/gpu/opticalflow_nvidia_api.cpp           |  2 +-
 62 files changed, 69 insertions(+), 60 deletions(-)
 create mode 100644 modules/gpulegacy/CMakeLists.txt
 rename modules/{gpunvidia/include/opencv2/gpunvidia.hpp => gpulegacy/include/opencv2/gpulegacy.hpp} (86%)
 rename modules/{gpunvidia/include/opencv2/gpunvidia => gpulegacy/include/opencv2/gpulegacy}/NCV.hpp (100%)
 rename modules/{gpunvidia/include/opencv2/gpunvidia => gpulegacy/include/opencv2/gpulegacy}/NCVBroxOpticalFlow.hpp (99%)
 rename modules/{gpunvidia/include/opencv2/gpunvidia => gpulegacy/include/opencv2/gpulegacy}/NCVHaarObjectDetection.hpp (99%)
 rename modules/{gpunvidia/include/opencv2/gpunvidia => gpulegacy/include/opencv2/gpulegacy}/NCVPyramid.hpp (89%)
 rename modules/{gpunvidia/include/opencv2/gpunvidia => gpulegacy/include/opencv2/gpulegacy}/NPP_staging.hpp (99%)
 rename modules/{gpunvidia/include/opencv2/gpunvidia => gpulegacy/include/opencv2/gpulegacy}/private.hpp (94%)
 rename modules/{gpunvidia => gpulegacy}/src/NCV.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCV.cu (99%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCVAlg.hpp (99%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCVBroxOpticalFlow.cu (99%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCVColorConversion.hpp (100%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCVHaarObjectDetection.cu (99%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCVPixelOperations.hpp (99%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCVPyramid.cu (99%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NCVRuntimeTemplates.hpp (100%)
 rename modules/{gpunvidia => gpulegacy}/src/cuda/NPP_staging.cu (99%)
 rename modules/{gpunvidia => gpulegacy}/src/precomp.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/src/precomp.hpp (97%)
 rename modules/{gpunvidia => gpulegacy}/test/NCVAutoTestLister.hpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/NCVTest.hpp (99%)
 rename modules/{gpunvidia => gpulegacy}/test/NCVTestSourceProvider.hpp (99%)
 rename modules/{gpunvidia => gpulegacy}/test/TestCompact.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestCompact.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestDrawRects.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestDrawRects.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHaarCascadeApplication.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHaarCascadeApplication.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHaarCascadeLoader.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHaarCascadeLoader.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHypothesesFilter.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHypothesesFilter.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHypothesesGrow.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestHypothesesGrow.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestIntegralImage.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestIntegralImage.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestIntegralImageSquared.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestIntegralImageSquared.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestRectStdDev.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestRectStdDev.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestResize.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestResize.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestTranspose.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/TestTranspose.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/main_nvidia.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/main_test_nvidia.h (100%)
 rename modules/{gpunvidia => gpulegacy}/test/test_main.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/test_nvidia.cpp (96%)
 rename modules/{gpunvidia => gpulegacy}/test/test_precomp.cpp (100%)
 rename modules/{gpunvidia => gpulegacy}/test/test_precomp.hpp (99%)
 delete mode 100644 modules/gpunvidia/CMakeLists.txt

diff --git a/modules/gpuarithm/CMakeLists.txt b/modules/gpuarithm/CMakeLists.txt
index 4be25dd8d..c5ce72304 100644
--- a/modules/gpuarithm/CMakeLists.txt
+++ b/modules/gpuarithm/CMakeLists.txt
@@ -6,7 +6,7 @@ set(the_description "GPU-accelerated Operations on Matrices")
 
 ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations)
 
-ocv_define_module(gpuarithm opencv_core OPTIONAL opencv_gpunvidia opencv_imgproc)
+ocv_define_module(gpuarithm opencv_core OPTIONAL opencv_gpulegacy opencv_imgproc)
 
 if(HAVE_CUBLAS)
   CUDA_ADD_CUBLAS_TO_TARGET(${the_module})
diff --git a/modules/gpuarithm/src/arithm.cpp b/modules/gpuarithm/src/arithm.cpp
index 59fd2ee1d..f5af24ee2 100644
--- a/modules/gpuarithm/src/arithm.cpp
+++ b/modules/gpuarithm/src/arithm.cpp
@@ -824,7 +824,7 @@ void cv::gpu::integralBuffered(const GpuMat& src, GpuMat& sum, GpuMat& buffer, S
     }
     else
     {
-#ifndef HAVE_OPENCV_GPUNVIDIA
+#ifndef HAVE_OPENCV_GPULEGACY
     throw_no_cuda();
 #else
         sum.create(src.rows + 1, src.cols + 1, CV_32SC1);
@@ -856,7 +856,7 @@ void cv::gpu::integralBuffered(const GpuMat& src, GpuMat& sum, GpuMat& buffer, S
 
 void cv::gpu::sqrIntegral(const GpuMat& src, GpuMat& sqsum, Stream& s)
 {
-#ifndef HAVE_OPENCV_GPUNVIDIA
+#ifndef HAVE_OPENCV_GPULEGACY
     (void) src;
     (void) sqsum;
     (void) s;
diff --git a/modules/gpuarithm/src/precomp.hpp b/modules/gpuarithm/src/precomp.hpp
index f8e38e8cd..05493aa96 100644
--- a/modules/gpuarithm/src/precomp.hpp
+++ b/modules/gpuarithm/src/precomp.hpp
@@ -53,9 +53,9 @@
 
 #include "opencv2/opencv_modules.hpp"
 
-#ifdef HAVE_OPENCV_GPUNVIDIA
-#  include "opencv2/gpunvidia.hpp"
-#  include "opencv2/gpunvidia/private.hpp"
+#ifdef HAVE_OPENCV_GPULEGACY
+#  include "opencv2/gpulegacy.hpp"
+#  include "opencv2/gpulegacy/private.hpp"
 #endif
 
 #ifdef HAVE_CUBLAS
diff --git a/modules/gpulegacy/CMakeLists.txt b/modules/gpulegacy/CMakeLists.txt
new file mode 100644
index 000000000..6dd61bd5b
--- /dev/null
+++ b/modules/gpulegacy/CMakeLists.txt
@@ -0,0 +1,9 @@
+if(NOT HAVE_CUDA)
+  ocv_module_disable(gpulegacy)
+endif()
+
+set(the_description "GPU-accelerated Computer Vision (legacy)")
+
+ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations -Wuninitialized)
+
+ocv_define_module(gpulegacy opencv_core OPTIONAL opencv_objdetect)
diff --git a/modules/gpunvidia/include/opencv2/gpunvidia.hpp b/modules/gpulegacy/include/opencv2/gpulegacy.hpp
similarity index 86%
rename from modules/gpunvidia/include/opencv2/gpunvidia.hpp
rename to modules/gpulegacy/include/opencv2/gpulegacy.hpp
index 47555f890..fb88481a8 100644
--- a/modules/gpunvidia/include/opencv2/gpunvidia.hpp
+++ b/modules/gpulegacy/include/opencv2/gpulegacy.hpp
@@ -40,13 +40,13 @@
 //
 //M*/
 
-#ifndef __OPENCV_GPUNVIDIA_HPP__
-#define __OPENCV_GPUNVIDIA_HPP__
+#ifndef __OPENCV_GPULEGACY_HPP__
+#define __OPENCV_GPULEGACY_HPP__
 
-#include "opencv2/gpunvidia/NCV.hpp"
-#include "opencv2/gpunvidia/NPP_staging.hpp"
-#include "opencv2/gpunvidia/NCVPyramid.hpp"
-#include "opencv2/gpunvidia/NCVHaarObjectDetection.hpp"
-#include "opencv2/gpunvidia/NCVBroxOpticalFlow.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
+#include "opencv2/gpulegacy/NPP_staging.hpp"
+#include "opencv2/gpulegacy/NCVPyramid.hpp"
+#include "opencv2/gpulegacy/NCVHaarObjectDetection.hpp"
+#include "opencv2/gpulegacy/NCVBroxOpticalFlow.hpp"
 
-#endif /* __OPENCV_GPUNVIDIA_HPP__ */
+#endif /* __OPENCV_GPULEGACY_HPP__ */
diff --git a/modules/gpunvidia/include/opencv2/gpunvidia/NCV.hpp b/modules/gpulegacy/include/opencv2/gpulegacy/NCV.hpp
similarity index 100%
rename from modules/gpunvidia/include/opencv2/gpunvidia/NCV.hpp
rename to modules/gpulegacy/include/opencv2/gpulegacy/NCV.hpp
diff --git a/modules/gpunvidia/include/opencv2/gpunvidia/NCVBroxOpticalFlow.hpp b/modules/gpulegacy/include/opencv2/gpulegacy/NCVBroxOpticalFlow.hpp
similarity index 99%
rename from modules/gpunvidia/include/opencv2/gpunvidia/NCVBroxOpticalFlow.hpp
rename to modules/gpulegacy/include/opencv2/gpulegacy/NCVBroxOpticalFlow.hpp
index 0634fff8f..689347ac4 100644
--- a/modules/gpunvidia/include/opencv2/gpunvidia/NCVBroxOpticalFlow.hpp
+++ b/modules/gpulegacy/include/opencv2/gpulegacy/NCVBroxOpticalFlow.hpp
@@ -60,7 +60,7 @@
 #ifndef _ncv_optical_flow_h_
 #define _ncv_optical_flow_h_
 
-#include "opencv2/gpunvidia/NCV.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
 
 /// \brief Model and solver parameters
 struct NCVBroxOpticalFlowDescriptor
diff --git a/modules/gpunvidia/include/opencv2/gpunvidia/NCVHaarObjectDetection.hpp b/modules/gpulegacy/include/opencv2/gpulegacy/NCVHaarObjectDetection.hpp
similarity index 99%
rename from modules/gpunvidia/include/opencv2/gpunvidia/NCVHaarObjectDetection.hpp
rename to modules/gpulegacy/include/opencv2/gpulegacy/NCVHaarObjectDetection.hpp
index 323c629e6..78ecf3b7e 100644
--- a/modules/gpunvidia/include/opencv2/gpunvidia/NCVHaarObjectDetection.hpp
+++ b/modules/gpulegacy/include/opencv2/gpulegacy/NCVHaarObjectDetection.hpp
@@ -59,7 +59,7 @@
 #ifndef _ncvhaarobjectdetection_hpp_
 #define _ncvhaarobjectdetection_hpp_
 
-#include "opencv2/gpunvidia/NCV.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
 
 
 //==============================================================================
diff --git a/modules/gpunvidia/include/opencv2/gpunvidia/NCVPyramid.hpp b/modules/gpulegacy/include/opencv2/gpulegacy/NCVPyramid.hpp
similarity index 89%
rename from modules/gpunvidia/include/opencv2/gpunvidia/NCVPyramid.hpp
rename to modules/gpulegacy/include/opencv2/gpulegacy/NCVPyramid.hpp
index 91972c575..8fda836fe 100644
--- a/modules/gpunvidia/include/opencv2/gpunvidia/NCVPyramid.hpp
+++ b/modules/gpulegacy/include/opencv2/gpulegacy/NCVPyramid.hpp
@@ -45,7 +45,17 @@
 
 #include <memory>
 #include <vector>
-#include "opencv2/gpunvidia/NCV.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
+#include "opencv2/core/cuda/common.hpp"
+
+namespace cv { namespace gpu { namespace cudev
+{
+    namespace pyramid
+    {
+        template <typename T> void kernelDownsampleX2_gpu(PtrStepSzb src, PtrStepSzb dst, cudaStream_t stream);
+        template <typename T> void kernelInterpolateFrom1_gpu(PtrStepSzb src, PtrStepSzb dst, cudaStream_t stream);
+    }
+}}}
 
 #if 0 //def _WIN32
 
diff --git a/modules/gpunvidia/include/opencv2/gpunvidia/NPP_staging.hpp b/modules/gpulegacy/include/opencv2/gpulegacy/NPP_staging.hpp
similarity index 99%
rename from modules/gpunvidia/include/opencv2/gpunvidia/NPP_staging.hpp
rename to modules/gpulegacy/include/opencv2/gpulegacy/NPP_staging.hpp
index 2df393a10..ce64ae810 100644
--- a/modules/gpunvidia/include/opencv2/gpunvidia/NPP_staging.hpp
+++ b/modules/gpulegacy/include/opencv2/gpulegacy/NPP_staging.hpp
@@ -43,7 +43,7 @@
 #ifndef _npp_staging_hpp_
 #define _npp_staging_hpp_
 
-#include "opencv2/gpunvidia/NCV.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
 
 
 /**
diff --git a/modules/gpunvidia/include/opencv2/gpunvidia/private.hpp b/modules/gpulegacy/include/opencv2/gpulegacy/private.hpp
similarity index 94%
rename from modules/gpunvidia/include/opencv2/gpunvidia/private.hpp
rename to modules/gpulegacy/include/opencv2/gpulegacy/private.hpp
index f23e53604..b8c9dd50a 100644
--- a/modules/gpunvidia/include/opencv2/gpunvidia/private.hpp
+++ b/modules/gpulegacy/include/opencv2/gpulegacy/private.hpp
@@ -41,8 +41,8 @@
 //
 //M*/
 
-#ifndef __OPENCV_CORE_GPUNVIDIA_PRIVATE_HPP__
-#define __OPENCV_CORE_GPUNVIDIA_PRIVATE_HPP__
+#ifndef __OPENCV_CORE_GPULEGACY_PRIVATE_HPP__
+#define __OPENCV_CORE_GPULEGACY_PRIVATE_HPP__
 
 #ifndef __OPENCV_BUILD
 #  error this is a private header which should not be used from outside of the OpenCV library
@@ -51,10 +51,10 @@
 #include "opencv2/core/gpu_private.hpp"
 
 #ifndef HAVE_CUDA
-#  error gpunvidia module requires CUDA
+#  error gpulegacy module requires CUDA
 #endif
 
-#include "opencv2/gpunvidia.hpp"
+#include "opencv2/gpulegacy.hpp"
 
 namespace cv { namespace gpu
 {
@@ -93,4 +93,4 @@ namespace cv { namespace gpu
     #define ncvSafeCall(expr)  cv::gpu::checkNcvError(expr, __FILE__, __LINE__, "")
 #endif
 
-#endif // __OPENCV_CORE_GPUNVIDIA_PRIVATE_HPP__
+#endif // __OPENCV_CORE_GPULEGACY_PRIVATE_HPP__
diff --git a/modules/gpunvidia/src/NCV.cpp b/modules/gpulegacy/src/NCV.cpp
similarity index 100%
rename from modules/gpunvidia/src/NCV.cpp
rename to modules/gpulegacy/src/NCV.cpp
diff --git a/modules/gpunvidia/src/cuda/NCV.cu b/modules/gpulegacy/src/cuda/NCV.cu
similarity index 99%
rename from modules/gpunvidia/src/cuda/NCV.cu
rename to modules/gpulegacy/src/cuda/NCV.cu
index 0e5b50e9a..8774af5c9 100644
--- a/modules/gpunvidia/src/cuda/NCV.cu
+++ b/modules/gpulegacy/src/cuda/NCV.cu
@@ -43,7 +43,7 @@
 #include <iostream>
 #include <vector>
 
-#include "opencv2/gpunvidia/NCV.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
 
 //===================================================================
 //
diff --git a/modules/gpunvidia/src/cuda/NCVAlg.hpp b/modules/gpulegacy/src/cuda/NCVAlg.hpp
similarity index 99%
rename from modules/gpunvidia/src/cuda/NCVAlg.hpp
rename to modules/gpulegacy/src/cuda/NCVAlg.hpp
index ad14d749f..dc086d944 100644
--- a/modules/gpunvidia/src/cuda/NCVAlg.hpp
+++ b/modules/gpulegacy/src/cuda/NCVAlg.hpp
@@ -43,7 +43,7 @@
 #ifndef _ncv_alg_hpp_
 #define _ncv_alg_hpp_
 
-#include "opencv2/gpunvidia/NCV.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
 
 
 template <class T>
diff --git a/modules/gpunvidia/src/cuda/NCVBroxOpticalFlow.cu b/modules/gpulegacy/src/cuda/NCVBroxOpticalFlow.cu
similarity index 99%
rename from modules/gpunvidia/src/cuda/NCVBroxOpticalFlow.cu
rename to modules/gpulegacy/src/cuda/NCVBroxOpticalFlow.cu
index 4faba6331..d9848ad4b 100644
--- a/modules/gpunvidia/src/cuda/NCVBroxOpticalFlow.cu
+++ b/modules/gpulegacy/src/cuda/NCVBroxOpticalFlow.cu
@@ -63,8 +63,8 @@
 
 #include "opencv2/core/cuda/utility.hpp"
 
-#include "opencv2/gpunvidia/NPP_staging.hpp"
-#include "opencv2/gpunvidia/NCVBroxOpticalFlow.hpp"
+#include "opencv2/gpulegacy/NPP_staging.hpp"
+#include "opencv2/gpulegacy/NCVBroxOpticalFlow.hpp"
 
 
 typedef NCVVectorAlloc<Ncv32f> FloatVector;
diff --git a/modules/gpunvidia/src/cuda/NCVColorConversion.hpp b/modules/gpulegacy/src/cuda/NCVColorConversion.hpp
similarity index 100%
rename from modules/gpunvidia/src/cuda/NCVColorConversion.hpp
rename to modules/gpulegacy/src/cuda/NCVColorConversion.hpp
diff --git a/modules/gpunvidia/src/cuda/NCVHaarObjectDetection.cu b/modules/gpulegacy/src/cuda/NCVHaarObjectDetection.cu
similarity index 99%
rename from modules/gpunvidia/src/cuda/NCVHaarObjectDetection.cu
rename to modules/gpulegacy/src/cuda/NCVHaarObjectDetection.cu
index 5296f24a3..da34ba731 100644
--- a/modules/gpunvidia/src/cuda/NCVHaarObjectDetection.cu
+++ b/modules/gpulegacy/src/cuda/NCVHaarObjectDetection.cu
@@ -68,9 +68,9 @@
 #  include "opencv2/objdetect.hpp"
 #endif
 
-#include "opencv2/gpunvidia/NCV.hpp"
-#include "opencv2/gpunvidia/NPP_staging.hpp"
-#include "opencv2/gpunvidia/NCVHaarObjectDetection.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
+#include "opencv2/gpulegacy/NPP_staging.hpp"
+#include "opencv2/gpulegacy/NCVHaarObjectDetection.hpp"
 
 #include "NCVRuntimeTemplates.hpp"
 #include "NCVAlg.hpp"
diff --git a/modules/gpunvidia/src/cuda/NCVPixelOperations.hpp b/modules/gpulegacy/src/cuda/NCVPixelOperations.hpp
similarity index 99%
rename from modules/gpunvidia/src/cuda/NCVPixelOperations.hpp
rename to modules/gpulegacy/src/cuda/NCVPixelOperations.hpp
index 2acdfb682..6409fab94 100644
--- a/modules/gpunvidia/src/cuda/NCVPixelOperations.hpp
+++ b/modules/gpulegacy/src/cuda/NCVPixelOperations.hpp
@@ -45,7 +45,7 @@
 
 #include <limits.h>
 #include <float.h>
-#include "opencv2/gpunvidia/NCV.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
 
 template<typename TBase> inline __host__ __device__ TBase _pixMaxVal();
 template<> static inline __host__ __device__ Ncv8u  _pixMaxVal<Ncv8u>()  {return UCHAR_MAX;}
diff --git a/modules/gpunvidia/src/cuda/NCVPyramid.cu b/modules/gpulegacy/src/cuda/NCVPyramid.cu
similarity index 99%
rename from modules/gpunvidia/src/cuda/NCVPyramid.cu
rename to modules/gpulegacy/src/cuda/NCVPyramid.cu
index 6b76c644b..acc4441b1 100644
--- a/modules/gpunvidia/src/cuda/NCVPyramid.cu
+++ b/modules/gpulegacy/src/cuda/NCVPyramid.cu
@@ -45,8 +45,8 @@
 
 #include "opencv2/core/cuda/common.hpp"
 
-#include "opencv2/gpunvidia/NCV.hpp"
-#include "opencv2/gpunvidia/NCVPyramid.hpp"
+#include "opencv2/gpulegacy/NCV.hpp"
+#include "opencv2/gpulegacy/NCVPyramid.hpp"
 
 #include "NCVAlg.hpp"
 #include "NCVPixelOperations.hpp"
diff --git a/modules/gpunvidia/src/cuda/NCVRuntimeTemplates.hpp b/modules/gpulegacy/src/cuda/NCVRuntimeTemplates.hpp
similarity index 100%
rename from modules/gpunvidia/src/cuda/NCVRuntimeTemplates.hpp
rename to modules/gpulegacy/src/cuda/NCVRuntimeTemplates.hpp
diff --git a/modules/gpunvidia/src/cuda/NPP_staging.cu b/modules/gpulegacy/src/cuda/NPP_staging.cu
similarity index 99%
rename from modules/gpunvidia/src/cuda/NPP_staging.cu
rename to modules/gpulegacy/src/cuda/NPP_staging.cu
index 31f7adc1d..9234e1795 100644
--- a/modules/gpunvidia/src/cuda/NPP_staging.cu
+++ b/modules/gpulegacy/src/cuda/NPP_staging.cu
@@ -48,7 +48,7 @@
 #include "opencv2/core/cuda/warp.hpp"
 #include "opencv2/core/cuda/warp_shuffle.hpp"
 
-#include "opencv2/gpunvidia/NPP_staging.hpp"
+#include "opencv2/gpulegacy/NPP_staging.hpp"
 
 
 texture<Ncv8u,  1, cudaReadModeElementType> tex8u;
diff --git a/modules/gpunvidia/src/precomp.cpp b/modules/gpulegacy/src/precomp.cpp
similarity index 100%
rename from modules/gpunvidia/src/precomp.cpp
rename to modules/gpulegacy/src/precomp.cpp
diff --git a/modules/gpunvidia/src/precomp.hpp b/modules/gpulegacy/src/precomp.hpp
similarity index 97%
rename from modules/gpunvidia/src/precomp.hpp
rename to modules/gpulegacy/src/precomp.hpp
index 106d0a321..c871296b2 100644
--- a/modules/gpunvidia/src/precomp.hpp
+++ b/modules/gpulegacy/src/precomp.hpp
@@ -47,7 +47,7 @@
 #include <iostream>
 #include <algorithm>
 
-#include "opencv2/gpunvidia.hpp"
+#include "opencv2/gpulegacy.hpp"
 #include "opencv2/core/utility.hpp"
 
 #include "opencv2/opencv_modules.hpp"
@@ -57,6 +57,6 @@
 #endif
 
 #include "opencv2/core/gpu_private.hpp"
-#include "opencv2/gpunvidia/private.hpp"
+#include "opencv2/gpulegacy/private.hpp"
 
 #endif /* __OPENCV_PRECOMP_H__ */
diff --git a/modules/gpunvidia/test/NCVAutoTestLister.hpp b/modules/gpulegacy/test/NCVAutoTestLister.hpp
similarity index 100%
rename from modules/gpunvidia/test/NCVAutoTestLister.hpp
rename to modules/gpulegacy/test/NCVAutoTestLister.hpp
diff --git a/modules/gpunvidia/test/NCVTest.hpp b/modules/gpulegacy/test/NCVTest.hpp
similarity index 99%
rename from modules/gpunvidia/test/NCVTest.hpp
rename to modules/gpulegacy/test/NCVTest.hpp
index d08044db0..b79c55e08 100644
--- a/modules/gpunvidia/test/NCVTest.hpp
+++ b/modules/gpulegacy/test/NCVTest.hpp
@@ -56,7 +56,7 @@
 
 #include <cuda_runtime.h>
 
-#include "opencv2/gpunvidia.hpp"
+#include "opencv2/gpulegacy.hpp"
 
 
 struct NCVTestReport
diff --git a/modules/gpunvidia/test/NCVTestSourceProvider.hpp b/modules/gpulegacy/test/NCVTestSourceProvider.hpp
similarity index 99%
rename from modules/gpunvidia/test/NCVTestSourceProvider.hpp
rename to modules/gpulegacy/test/NCVTestSourceProvider.hpp
index 38b9d814c..f2ffae56b 100644
--- a/modules/gpunvidia/test/NCVTestSourceProvider.hpp
+++ b/modules/gpulegacy/test/NCVTestSourceProvider.hpp
@@ -46,7 +46,7 @@
 #include <memory>
 
 #include "opencv2/highgui.hpp"
-#include "opencv2/gpunvidia.hpp"
+#include "opencv2/gpulegacy.hpp"
 
 
 template <class T>
diff --git a/modules/gpunvidia/test/TestCompact.cpp b/modules/gpulegacy/test/TestCompact.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestCompact.cpp
rename to modules/gpulegacy/test/TestCompact.cpp
diff --git a/modules/gpunvidia/test/TestCompact.h b/modules/gpulegacy/test/TestCompact.h
similarity index 100%
rename from modules/gpunvidia/test/TestCompact.h
rename to modules/gpulegacy/test/TestCompact.h
diff --git a/modules/gpunvidia/test/TestDrawRects.cpp b/modules/gpulegacy/test/TestDrawRects.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestDrawRects.cpp
rename to modules/gpulegacy/test/TestDrawRects.cpp
diff --git a/modules/gpunvidia/test/TestDrawRects.h b/modules/gpulegacy/test/TestDrawRects.h
similarity index 100%
rename from modules/gpunvidia/test/TestDrawRects.h
rename to modules/gpulegacy/test/TestDrawRects.h
diff --git a/modules/gpunvidia/test/TestHaarCascadeApplication.cpp b/modules/gpulegacy/test/TestHaarCascadeApplication.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestHaarCascadeApplication.cpp
rename to modules/gpulegacy/test/TestHaarCascadeApplication.cpp
diff --git a/modules/gpunvidia/test/TestHaarCascadeApplication.h b/modules/gpulegacy/test/TestHaarCascadeApplication.h
similarity index 100%
rename from modules/gpunvidia/test/TestHaarCascadeApplication.h
rename to modules/gpulegacy/test/TestHaarCascadeApplication.h
diff --git a/modules/gpunvidia/test/TestHaarCascadeLoader.cpp b/modules/gpulegacy/test/TestHaarCascadeLoader.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestHaarCascadeLoader.cpp
rename to modules/gpulegacy/test/TestHaarCascadeLoader.cpp
diff --git a/modules/gpunvidia/test/TestHaarCascadeLoader.h b/modules/gpulegacy/test/TestHaarCascadeLoader.h
similarity index 100%
rename from modules/gpunvidia/test/TestHaarCascadeLoader.h
rename to modules/gpulegacy/test/TestHaarCascadeLoader.h
diff --git a/modules/gpunvidia/test/TestHypothesesFilter.cpp b/modules/gpulegacy/test/TestHypothesesFilter.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestHypothesesFilter.cpp
rename to modules/gpulegacy/test/TestHypothesesFilter.cpp
diff --git a/modules/gpunvidia/test/TestHypothesesFilter.h b/modules/gpulegacy/test/TestHypothesesFilter.h
similarity index 100%
rename from modules/gpunvidia/test/TestHypothesesFilter.h
rename to modules/gpulegacy/test/TestHypothesesFilter.h
diff --git a/modules/gpunvidia/test/TestHypothesesGrow.cpp b/modules/gpulegacy/test/TestHypothesesGrow.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestHypothesesGrow.cpp
rename to modules/gpulegacy/test/TestHypothesesGrow.cpp
diff --git a/modules/gpunvidia/test/TestHypothesesGrow.h b/modules/gpulegacy/test/TestHypothesesGrow.h
similarity index 100%
rename from modules/gpunvidia/test/TestHypothesesGrow.h
rename to modules/gpulegacy/test/TestHypothesesGrow.h
diff --git a/modules/gpunvidia/test/TestIntegralImage.cpp b/modules/gpulegacy/test/TestIntegralImage.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestIntegralImage.cpp
rename to modules/gpulegacy/test/TestIntegralImage.cpp
diff --git a/modules/gpunvidia/test/TestIntegralImage.h b/modules/gpulegacy/test/TestIntegralImage.h
similarity index 100%
rename from modules/gpunvidia/test/TestIntegralImage.h
rename to modules/gpulegacy/test/TestIntegralImage.h
diff --git a/modules/gpunvidia/test/TestIntegralImageSquared.cpp b/modules/gpulegacy/test/TestIntegralImageSquared.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestIntegralImageSquared.cpp
rename to modules/gpulegacy/test/TestIntegralImageSquared.cpp
diff --git a/modules/gpunvidia/test/TestIntegralImageSquared.h b/modules/gpulegacy/test/TestIntegralImageSquared.h
similarity index 100%
rename from modules/gpunvidia/test/TestIntegralImageSquared.h
rename to modules/gpulegacy/test/TestIntegralImageSquared.h
diff --git a/modules/gpunvidia/test/TestRectStdDev.cpp b/modules/gpulegacy/test/TestRectStdDev.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestRectStdDev.cpp
rename to modules/gpulegacy/test/TestRectStdDev.cpp
diff --git a/modules/gpunvidia/test/TestRectStdDev.h b/modules/gpulegacy/test/TestRectStdDev.h
similarity index 100%
rename from modules/gpunvidia/test/TestRectStdDev.h
rename to modules/gpulegacy/test/TestRectStdDev.h
diff --git a/modules/gpunvidia/test/TestResize.cpp b/modules/gpulegacy/test/TestResize.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestResize.cpp
rename to modules/gpulegacy/test/TestResize.cpp
diff --git a/modules/gpunvidia/test/TestResize.h b/modules/gpulegacy/test/TestResize.h
similarity index 100%
rename from modules/gpunvidia/test/TestResize.h
rename to modules/gpulegacy/test/TestResize.h
diff --git a/modules/gpunvidia/test/TestTranspose.cpp b/modules/gpulegacy/test/TestTranspose.cpp
similarity index 100%
rename from modules/gpunvidia/test/TestTranspose.cpp
rename to modules/gpulegacy/test/TestTranspose.cpp
diff --git a/modules/gpunvidia/test/TestTranspose.h b/modules/gpulegacy/test/TestTranspose.h
similarity index 100%
rename from modules/gpunvidia/test/TestTranspose.h
rename to modules/gpulegacy/test/TestTranspose.h
diff --git a/modules/gpunvidia/test/main_nvidia.cpp b/modules/gpulegacy/test/main_nvidia.cpp
similarity index 100%
rename from modules/gpunvidia/test/main_nvidia.cpp
rename to modules/gpulegacy/test/main_nvidia.cpp
diff --git a/modules/gpunvidia/test/main_test_nvidia.h b/modules/gpulegacy/test/main_test_nvidia.h
similarity index 100%
rename from modules/gpunvidia/test/main_test_nvidia.h
rename to modules/gpulegacy/test/main_test_nvidia.h
diff --git a/modules/gpunvidia/test/test_main.cpp b/modules/gpulegacy/test/test_main.cpp
similarity index 100%
rename from modules/gpunvidia/test/test_main.cpp
rename to modules/gpulegacy/test/test_main.cpp
diff --git a/modules/gpunvidia/test/test_nvidia.cpp b/modules/gpulegacy/test/test_nvidia.cpp
similarity index 96%
rename from modules/gpunvidia/test/test_nvidia.cpp
rename to modules/gpulegacy/test/test_nvidia.cpp
index d713b41bd..1cda187bc 100644
--- a/modules/gpunvidia/test/test_nvidia.cpp
+++ b/modules/gpulegacy/test/test_nvidia.cpp
@@ -140,13 +140,12 @@ GPU_TEST_P(NCV, HypothesesFiltration)
 
 GPU_TEST_P(NCV, Visualization)
 {
-    // this functionality doesn't used in gpu module
     bool res = nvidia_NCV_Visualization(_path, nvidiaTestOutputLevel);
 
     ASSERT_TRUE(res);
 }
 
-INSTANTIATE_TEST_CASE_P(GPU_NVidia, NPPST, ALL_DEVICES);
-INSTANTIATE_TEST_CASE_P(GPU_NVidia, NCV, ALL_DEVICES);
+INSTANTIATE_TEST_CASE_P(GPU_Legacy, NPPST, ALL_DEVICES);
+INSTANTIATE_TEST_CASE_P(GPU_Legacy, NCV, ALL_DEVICES);
 
 #endif // HAVE_CUDA
diff --git a/modules/gpunvidia/test/test_precomp.cpp b/modules/gpulegacy/test/test_precomp.cpp
similarity index 100%
rename from modules/gpunvidia/test/test_precomp.cpp
rename to modules/gpulegacy/test/test_precomp.cpp
diff --git a/modules/gpunvidia/test/test_precomp.hpp b/modules/gpulegacy/test/test_precomp.hpp
similarity index 99%
rename from modules/gpunvidia/test/test_precomp.hpp
rename to modules/gpulegacy/test/test_precomp.hpp
index 46acfc2ec..0de044acb 100644
--- a/modules/gpunvidia/test/test_precomp.hpp
+++ b/modules/gpulegacy/test/test_precomp.hpp
@@ -69,7 +69,7 @@
 #include "opencv2/ts/gpu_test.hpp"
 
 #include "opencv2/core/gpumat.hpp"
-#include "opencv2/gpunvidia.hpp"
+#include "opencv2/gpulegacy.hpp"
 #include "opencv2/highgui.hpp"
 
 #include "opencv2/core/gpu_private.hpp"
diff --git a/modules/gpunvidia/CMakeLists.txt b/modules/gpunvidia/CMakeLists.txt
deleted file mode 100644
index 3f4e4f6a6..000000000
--- a/modules/gpunvidia/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-if(NOT HAVE_CUDA)
-  ocv_module_disable(gpunvidia)
-endif()
-
-set(the_description "GPU-accelerated Computer Vision (HAL module)")
-
-ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations)
-
-ocv_define_module(gpunvidia opencv_core OPTIONAL opencv_objdetect)
diff --git a/modules/gpuobjdetect/CMakeLists.txt b/modules/gpuobjdetect/CMakeLists.txt
index 745c02b5b..5bce4d283 100644
--- a/modules/gpuobjdetect/CMakeLists.txt
+++ b/modules/gpuobjdetect/CMakeLists.txt
@@ -6,4 +6,4 @@ set(the_description "GPU-accelerated Object Detection")
 
 ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations)
 
-ocv_define_module(gpuobjdetect opencv_objdetect opencv_gpuimgproc OPTIONAL opencv_gpunvidia)
+ocv_define_module(gpuobjdetect opencv_objdetect opencv_gpuimgproc OPTIONAL opencv_gpulegacy)
diff --git a/modules/gpuobjdetect/src/precomp.hpp b/modules/gpuobjdetect/src/precomp.hpp
index 47058499d..003df2eca 100644
--- a/modules/gpuobjdetect/src/precomp.hpp
+++ b/modules/gpuobjdetect/src/precomp.hpp
@@ -53,8 +53,8 @@
 
 #include "opencv2/opencv_modules.hpp"
 
-#ifdef HAVE_OPENCV_GPUNVIDIA
-#  include "opencv2/gpunvidia/private.hpp"
+#ifdef HAVE_OPENCV_GPULEGACY
+#  include "opencv2/gpulegacy/private.hpp"
 #endif
 
 #endif /* __OPENCV_PRECOMP_H__ */
diff --git a/modules/gpuvideo/CMakeLists.txt b/modules/gpuvideo/CMakeLists.txt
index 3e4e4baef..4e6264aed 100644
--- a/modules/gpuvideo/CMakeLists.txt
+++ b/modules/gpuvideo/CMakeLists.txt
@@ -6,4 +6,4 @@ set(the_description "GPU-accelerated Video Analysis")
 
 ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations)
 
-ocv_define_module(gpuvideo opencv_video opencv_legacy opencv_gpufilters opencv_gpuimgproc OPTIONAL opencv_gpunvidia)
+ocv_define_module(gpuvideo opencv_video opencv_legacy opencv_gpufilters opencv_gpuimgproc OPTIONAL opencv_gpulegacy)
diff --git a/modules/gpuvideo/src/precomp.hpp b/modules/gpuvideo/src/precomp.hpp
index 276eb22fc..1e37cf77d 100644
--- a/modules/gpuvideo/src/precomp.hpp
+++ b/modules/gpuvideo/src/precomp.hpp
@@ -57,8 +57,8 @@
 
 #include "opencv2/opencv_modules.hpp"
 
-#ifdef HAVE_OPENCV_GPUNVIDIA
-#  include "opencv2/gpunvidia/private.hpp"
+#ifdef HAVE_OPENCV_GPULEGACY
+#  include "opencv2/gpulegacy/private.hpp"
 #endif
 
 #ifdef HAVE_CUDA
diff --git a/samples/gpu/CMakeLists.txt b/samples/gpu/CMakeLists.txt
index 3bf506932..d69ccdc2e 100644
--- a/samples/gpu/CMakeLists.txt
+++ b/samples/gpu/CMakeLists.txt
@@ -2,7 +2,7 @@ SET(OPENCV_GPU_SAMPLES_REQUIRED_DEPS opencv_core opencv_flann opencv_imgproc ope
                                      opencv_ml opencv_video opencv_objdetect opencv_features2d
                                      opencv_calib3d opencv_legacy opencv_contrib opencv_gpu
                                      opencv_nonfree opencv_softcascade opencv_superres
-                                     opencv_gpucodec opencv_gpuarithm opencv_gpufilters opencv_gpunvidia opencv_gpuimgproc opencv_gpufeatures2d opencv_gpuvideo opencv_gpuobjdetect
+                                     opencv_gpucodec opencv_gpuarithm opencv_gpufilters opencv_gpulegacy opencv_gpuimgproc opencv_gpufeatures2d opencv_gpuvideo opencv_gpuobjdetect
                                      opencv_gpucalib3d)
 
 ocv_check_dependencies(${OPENCV_GPU_SAMPLES_REQUIRED_DEPS})
diff --git a/samples/gpu/cascadeclassifier_nvidia_api.cpp b/samples/gpu/cascadeclassifier_nvidia_api.cpp
index a4bc6a973..f8dd60d76 100644
--- a/samples/gpu/cascadeclassifier_nvidia_api.cpp
+++ b/samples/gpu/cascadeclassifier_nvidia_api.cpp
@@ -11,7 +11,7 @@
 #include "opencv2/objdetect/objdetect_c.h"
 
 #ifdef HAVE_CUDA
-#include "opencv2/gpunvidia.hpp"
+#include "opencv2/gpulegacy.hpp"
 #endif
 
 using namespace std;
diff --git a/samples/gpu/opticalflow_nvidia_api.cpp b/samples/gpu/opticalflow_nvidia_api.cpp
index e4fc93cd5..4e0863b46 100644
--- a/samples/gpu/opticalflow_nvidia_api.cpp
+++ b/samples/gpu/opticalflow_nvidia_api.cpp
@@ -16,7 +16,7 @@
 #include "opencv2/highgui/highgui_c.h"
 
 #ifdef HAVE_CUDA
-#include "opencv2/gpunvidia.hpp"
+#include "opencv2/gpulegacy.hpp"
 #endif
 
 #if !defined(HAVE_CUDA)