mirror of
https://github.com/opencv/opencv.git
synced 2026-07-21 19:33:03 +04:00
videoio: remove cap_libv4l in favour of cap_v4l
cap_libv4l depends on an external library (libv4l) yet is still larger (1966 loc vs 1822 loc). It was initially introduced copy pasting cap_v4l in order to offload various color conversions to libv4l. However nowadays we handle most of the needed color conversions inside OpenCV. Our own implementation is better tested and (probably) also better performing. (as it can optionally leverage IPP/ OpenCL) Currently cap_v4l is better maintained and generally the code is in better shape. There is however an API difference in getting unconverted frames: * on cap_libv4l one need to set `CV_CAP_MODE_GRAY=1` or `CV_CAP_MODE_YUYV=1` * on cap_v4l one needs to set `CV_CAP_PROP_CONVERT_RGB=0` the latter is more flexible though as it also allows accessing undecoded JPEG images. fixes #4563
This commit is contained in:
committed by
Maksim Shabunin
parent
5459c11e99
commit
0d65397ae7
@@ -156,18 +156,8 @@ if(WITH_XINE)
|
||||
endif(WITH_XINE)
|
||||
|
||||
# --- V4L ---
|
||||
ocv_clear_vars(HAVE_LIBV4L HAVE_CAMV4L HAVE_CAMV4L2 HAVE_VIDEOIO)
|
||||
ocv_clear_vars(HAVE_CAMV4L2 HAVE_VIDEOIO)
|
||||
if(WITH_V4L)
|
||||
if(WITH_LIBV4L)
|
||||
CHECK_MODULE(libv4l1 HAVE_LIBV4L1 VIDEOIO)
|
||||
CHECK_MODULE(libv4l2 HAVE_LIBV4L2 VIDEOIO)
|
||||
if(HAVE_LIBV4L1 AND HAVE_LIBV4L2)
|
||||
set(HAVE_LIBV4L YES)
|
||||
else()
|
||||
set(HAVE_LIBV4L NO)
|
||||
endif()
|
||||
endif()
|
||||
CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L)
|
||||
CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2)
|
||||
CHECK_INCLUDE_FILE(sys/videoio.h HAVE_VIDEOIO)
|
||||
endif(WITH_V4L)
|
||||
|
||||
Reference in New Issue
Block a user