Installed from opencv-4.8.0-windows.exe, also built from git (using installOCV.sh from instructions) with Visual Stdio 22/17.7.1. Both either included or built a opencv_videoio_ffmpeg480_64.dll.
There is a cvCreateVideoWriter_FFMPEG entry point, but no cvCreateVideoCapture_FFMPEG.
There are opencv_videoio_capture_plugin_init_v1 and opencv_videoio_write_plugin_init_v1 entry points.
Is there a config option missing to create a VideoCapture object?
Also, google can’t find links to the plugin_init_v1 entry points.
no, you’re supposed to have two DLLs:
did you not notice the first one?
why are you concerned with entry points?
I guess that’s the problem.
Didn’t look through the whole system, but the install of opencv-4.8.0-windows.exe, created a few DLLs under build/binx64/vc16, but opencv_videoio480.dll. is not one of them, I have opencv_videoio_ffmpeg480_64.dll, _msmf480_64, and _msmf480+64d. Neither has a CreateVideoCapture entry point.
My build attempt only created the _ffmpeg versions, nothing else.
I’m concerned about entry points, as I need to call the DLL from a non C/C++ language and it can see the cvCreateVideoWriter but not VideoCapture, thus I won’t be able to open any camera.
do you have a
world dll? then all of that is in there.
opencv can be built to have
imgproc, … modules individually, or all of them bound together into a
OpenCV has no C API any more. if you find any old C API in there, that is by accident. anything you find will have to be C++ API, perhaps with name mangling or whatever is done in the C++ world.
I do have a world dll, it just has way to many exported functions and I couldn’t see the forest from the trees.
My problem is that all these DLLs have C and C++ exports and I can only (easily) access C exports. E.g. cvCreateVideoWriter and cvCreateCameraCapture are there as C exports, but VideoCapture::VideoCapture is there only as a C++ export.
Off I go to write C wrappers for the few things I need. Thanks.
please, those are package private, implementation functions.
do not use them for anything
Not planning in doing so, those were just exports I could see form a “C view” of the DLL.
As I said, I’ll just wrap the C++ code I need with C wrappers, as I can’t call C++ directly.