How to solve OpenCV Error "function not implemented (called functionality is disabled for current build or platform) when using VideoWriter_GPU?
My Hard- & Software:
- Windows 7 Enterprise version 6.1.7600
- Intel Xeon CPU Quadcore 3.07GHz
- NVidia Quadro 4000 GPU
- OpenCV v2.4.4 Precompiled version from Sourceforge
- OpenCV Cuda Package belonging to opencv v2.4.4
- CUDA v5.0 Toolkit and CUDA Driver for Windows x64 build
- CUDA v4.2 32 bits SDK (allows OpenCV 2.4.4, which is precompiled to work with CUDA v2.4, to communicate with the CUDA v5.0)
- Microsoft Visual Studios C++ 2010 Express ('vc10')
- No Cmake
Question Intro
I'm running an opencv project in Visual Studios 2010 and have implemented cuda support. All cuda-functionalities are working fine - to the best of my knowledge - and are indeed improving speed on the image processing, no errors encountered.
However, I now also wanted to attemp to speed up the video-writing function in this project of mine by replacing the current cv::VideoWriter with the gpu::VideoWriter_GPU function. (The reason for this is that the cv::VideoWriter seems to somehow cause processes running outside of the scope in which the VideoWriter is called to be slowed down, resulting in images available at the DirectShow driver being dropped by the VideoCapture-function, hence messing up an algorithm I've implemented. But that issue's worth a seperate question)
Problem
To attempt to speed-up the , I've now replaced the VideoWriter-calls with calls to the VideoWriter_GPU-functionality (and correspondingly adapted syntax, and naturally provided the function with GpuMat's).
When I run my project (Compile & Run in Debug-mode), I get the following error-message (directly originating at the calling of gpu::VideoWriter_GPU):
OpenCv Error: The function/feature is not implemented (The called functionality is disabled for current build or platform) in unknown function, file c:slave\builds\wininstallermegapack\opencv\modules\gpu\src\precomp.hpp, line 131.
and the program then ends with
code -529697949 (0xe06d7363)
Corresponding header-file and error message can also be viewed here.
The thrown error also refers back to a CV_ERROR-code (to be found in header file ...\build\include\opencv2\core\types_c.h) which reads:
'the requested function/feature is not implemented'
I've purposely currently not included any of my actual code, because the error-message originates so clearly from the call to the gpu::VideoWriter_GPU, which is making me think it's not a coding or syntax problem. (Please leave a comment if you feel my code is necessary for answering this question.
My steps so far
I miss the natural gift of understanding what precisely this message means or how to interpret it, or how to search deeper into openCV sourcecode to find the origin of the error. Does my opencv v2.4.4 simply not support what I want...? Does this function simply not work on my windows 7, 64bit system...? Or maybe is Sourceforge's precompiled OpenCV v2.4.4 limited?
OpenCV documentation neither on v2.4.4 nor v2.4.5 provide with any clarity regarding versioned use or build-availability of the function
Further, I've checked out as many available google-hits ...
P.S. I've asked this question on StackOverflow, but only received comment to 'refer to OpenCV developers'. Hence this post, which one could view as being a repost. My apologies for my internet-littering, however I do still believe this is a relevant question for this forum and it's members.