Regression in V4L (Bug #2084)
Description
Philippe FOUBERT wrote (see bug Bug #1988) :
[...] regression in highgui [....]
Suspected origin:
On some Linux OS (such as Fedora 16), V4L2 is available but V4L1 is not anymore available. Reading the OpenCV 2.4.0 source code, it seems that V4L2 (HAVE_CAMV4L2 define) is only compiled if V4L1 (HAVE_CAMV4L define) is also available (it was not the case in OpenCV 2.3.1).
Work around that can be checked:
I have not enought time to check it more seriously in the next days but a workaround could be to add the V4L1 header "videodev.h" (file which is tested in CMakeList.txt to define HAVE_CAMV4L) to your system include folder (it can for example be taken from QT SDK).
I have been able to confirm what I told: there is a regression in the way cap_v4l is built. On an operating system where V4L1 is not any more supported, OpenCV doesn't let us use V4L2.
A temporary work around (which has been sucessfully tested) is to add the old V4L1 header file on the operating system.
Philippe
Related issues
related to Patch #2360: NetBSD video support / decouple V4L2 from V4L | Done | 2012-09-17 |
Associated revisions
Merge pull request #2084 from ilya-lavrenov:cont
History
Updated by Patrick Welche over 12 years ago
I had hit this - attached is a patch "in progress" just in case it helps.
The patch makes HAVE_CAMV4L independent of HAVE_CAMV4L2 with a mess of preprocessor directives. It may make more sense to split this into a cap_v4l1.cpp and cap_v4l2.cpp and compile the correct one using cmake... It also means that cap_libv4l.cpp would no longer be required?
- File patch-modules_highgui_src_cap_v4l.cpp added
Updated by Patrick Welche over 12 years ago
I should have said - the patch was against the 2.4.1 tar file.
Updated by Andrey Kamaev over 12 years ago
- Category changed from highgui-images to highgui-camera
Updated by Patrick Welche over 12 years ago
I think the patches in issue 2360 should deal with this one.
Updated by Andrey Kamaev about 12 years ago
Fixes for #2360 are pushed to 2.4. So I'm closing this bug as fixed.
- Affected version set to branch '2.4'
- Target version deleted ()
- Status changed from Open to Done
- Assignee changed from Vadim Pisarevsky to Andrey Kamaev
Updated by Kirill Kornyakov about 12 years ago
- Target version set to 2.4.4