Repository: opencv
Issue: opencv2/core/private.cuda.hpp:112: error: (-213:The function/feature is not implemented) The called functionality is disabled for current build or platform in function 'throw_no_cuda'
Labels: question (invalid tracker),category: build/install,category: gpu/cuda (contrib)

<!--
If you have a question rather than reporting a bug please go to https://forum.opencv.org where you get much faster responses.
If you need further assistance please read [How To Contribute](https://github.com/opencv/opencv/wiki/How_to_contribute).

This is a template helping you to create an issue which can be processed as quickly as possible. This is the bug reporting section for the OpenCV library.
-->

##### System information (version)
<!-- Example
- OpenCV => 4.2
- Operating System / Platform => Windows 64 Bit
- Compiler => Visual Studio 2017
-->

- OpenCV => 4.4.5 or 3.4.18
- Operating System / Platform => Ubuntu 20.04 or 18.04
- Compiler => gcc 7.5.0

##### Detailed description

run  cv::cudacodec::createVideoReader  and I get this error:

```
Failed to load module "canberra-gtk-module"
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(3.4.16) /opt/opencv-3.4.16/modules/core/include/opencv2/core/private.cuda.hpp:112: error: (-213:The function/feature is not implemented) The called functionality is disabled for current build or platform in function 'throw_no_cuda'

```



##### Steps to reproduce



my code like this:


```

#include <opencv2/core.hpp>
#include <opencv2/core/opengl.hpp>
#include <opencv2/cudacodec.hpp>
#include <opencv2/highgui.hpp>
 


using namespace std;

int main(int argc, char *argv[])
{
    bool use_texture = true;

    cv::namedWindow("img", cv::WINDOW_OPENGL | cv::WINDOW_AUTOSIZE);
    cv::Mat img = cv::Mat(200, 200, CV_8UC3, cv::Scalar(255, 255, 0));

    const std::string fname("/data/movie/test/001.mp4"); 

    // cv::Mat frame;
    // cv::VideoCapture reader(fname);

    cv::cuda::GpuMat frame;
    cv::Ptr<cv::cudacodec::VideoReader> reader = cv::cudacodec::createVideoReader(fname);

    for (;;)
    {

        if (!reader->nextFrame(frame))
            break;


   
        // cv::imshow("CPU", frame);
        if (frame.cols > 0)
        {
            cout << "frame width:" << frame.cols << endl;

            cv::ogl::Texture2D tex;
            tex.copyFrom(frame);
            cv::imshow("img", tex);
        }

        if (cv::waitKey(3) > 0)
            break;
    }
  

    cv::waitKey(0);
}
```


and I already install cuda 11.4 or cuda 10.2 with cudnn  in two machines ,and compile opencv like this:

```
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv-${OPENCV_VERSION}
-D WITH_TBB=ON
-D ENABLE_FAST_MATH=1
-D CUDA_FAST_MATH=1
-D WITH_CUBLAS=1
-D WITH_CUDA=ON
-D BUILD_opencv_cudacodec=OFF
-D WITH_CUDNN=ON
-D OPENCV_DNN_CUDA=ON
-D CUDA_ARCH_BIN=7.5
-D WITH_V4L=ON
-D WITH_QT=OFF
-D WITH_OPENGL=ON
-D WITH_GSTREAMER=ON
-D OPENCV_GENERATE_PKGCONFIG=ON
-D OPENCV_PC_FILE_NAME=opencv.pc
-D OPENCV_ENABLE_NONFREE=ON
-D OPENCV_EXTRA_MODULES_PATH=~/software/opencv_contrib-${OPENCV_VERSION}/modules
-D INSTALL_PYTHON_EXAMPLES=OFF
-D INSTALL_C_EXAMPLES=OFF
-D BUILD_EXAMPLES=OFF ..
```


and I got same error,I try many days with all way,but i got fail! 


so, is opencv work for cuda?or just only cudacodec::createVideoReader cannot work?