OpenCV bump
v5 cover OpenCV bump
Hi all,
Here is another round for the bump of OpenCV package, and related features/packages.
Patches 1 and 2 clean-up the current opencv.mk file.
Patch 3 does the actual bump
Patch 4 fixes a long-standing issue in the OpenCV integration. Patch 5 improves the OpenCV menu.
Patches 6 to 11 add/improve 3rd-party supports.
Patches 12 and 13 fix reverse dependencies (vlc and gst1-plugins-bad).
Regards,
Samuel
Samuel Martin (13):
package/opencv: cleanup spaces at ends of line package/opencv: alphabetically sorted each _CONF_OPTS group package/opencv: bump to version 3.0
package/opencv: define modules inter-dependencies package/opencv: reword modules' prompt and help text package/opencv: add qt5 support
package/opencv: add python support
package/opencv: add gstreamer-1.x support package/opencv: add opengl support
package/opencv: add openmp support
package/opencv: add gtk3 support
package/vlc: add opencv support package/gstreamer1/gst1-plugins-bad: disable opencv plugin with
opencv-3
Config.in.legacy | 16 ++ package/gstreamer1/gst1-plugins-bad/Config.in | 1 + .../0001-core-fix-x86-PIC-code-compilation.patch | 49 ---- ...ix-return-type-value-VideoFrameSource_GPU.patch | 40 ---- ...VGenPkgconfig.cmake-rework-opencv.pc-gene.patch | 156 ------------- package/opencv/Config.in | 235 ++++++++++++++------ package/opencv/opencv.mk | 247 ++++++++++++++------- ...opencv_wrapper-use-opencv2-style-includes.patch | 34 +++ ...cv_example-add-missing-include-statements.patch | 27 +++ package/vlc/Config.in | 2 + package/vlc/vlc.mk | 8 +- 11 files changed, 425 insertions(+), 390 deletions(-) delete mode 100644 package/opencv/0001-core-fix-x86-PIC-code-compilation.patch delete mode 100644 package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch delete mode 100644 package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch create mode 100644 package/vlc/0008-opencv_wrapper-use-opencv2-style-includes.patch create mode 100644 package/vlc/0009-opencv_example-add-missing-include-statements.patch
--
2.4.2
PATCH v5 1/13 package/opencv: cleanup spaces at ends of line
Nothing more than removing white spaces before '\' characters. Of course, 'git diff -w' shows no change at all.
---
changes v4->v5:
- new patch
--- package/opencv/opencv.mk | 112 +++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 56 deletions(-)
package/opencv/opencv.mk +56 -56
@@ -18,51 +18,51 @@ OPENCV_CONF_OPTS += \ # OpenCV build options OPENCV_CONF_OPTS += \ - -DBUILD_WITH_STATIC_CRT=OFF \ - -DENABLE_FAST_MATH=ON \ - -DENABLE_NOISY_WARNINGS=OFF \ - -DENABLE_OMIT_FRAME_POINTER=ON \ + -DBUILD_WITH_STATIC_CRT=OFF \ + -DENABLE_FAST_MATH=ON \ + -DENABLE_NOISY_WARNINGS=OFF \ + -DENABLE_OMIT_FRAME_POINTER=ON \ -DENABLE_PRECOMPILED_HEADERS=OFF \ - -DENABLE_PROFILING=OFF \ + -DENABLE_PROFILING=OFF \ -DOPENCV_CAN_BREAK_BINARY_COMPATIBILITY=ON # OpenCV link options OPENCV_CONF_OPTS += \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \ - -DCMAKE_SKIP_RPATH=OFF \ + -DCMAKE_SKIP_RPATH=OFF \ -DCMAKE_USE_RELATIVE_PATHS=OFF # OpenCV packaging options: OPENCV_CONF_OPTS += \ - -DBUILD_PACKAGE=OFF \ + -DBUILD_PACKAGE=OFF \ -DENABLE_SOLUTION_FOLDERS=OFF \ -DINSTALL_CREATE_DISTRIB=OFF # OpenCV module selection OPENCV_CONF_OPTS += \ - -DBUILD_opencv_androidcamera=OFF \ - -DBUILD_opencv_apps=OFF \ - -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \ - -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ - -DBUILD_opencv_core=ON \ - -DBUILD_opencv_dynamicuda=OFF \ + -DBUILD_opencv_androidcamera=OFF \ + -DBUILD_opencv_apps=OFF \ + -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \ + -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ + -DBUILD_opencv_core=ON \ + -DBUILD_opencv_dynamicuda=OFF \ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \ - -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ - -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ - -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \ - -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \ - -DBUILD_opencv_java=OFF \ - -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \ - -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ - -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \ + -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ + -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ + -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \ + -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \ + -DBUILD_opencv_java=OFF \ + -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \ + -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ + -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \ - -DBUILD_opencv_ocl=OFF \ - -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ - -DBUILD_opencv_python=OFF \ + -DBUILD_opencv_ocl=OFF \ + -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ + -DBUILD_opencv_python=OFF \ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \ -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \ - -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF) \ - -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF) \ + -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF) \ + -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF) \ -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \ -DBUILD_opencv_world=OFF
@@ -72,10 +72,10 @@ OPENCV_CONF_OPTS += \ # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. OPENCV_CONF_OPTS += \ -DENABLE_POWERPC=OFF \ - -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ - -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ - -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ - -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ + -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ + -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ + -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ + -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \
@@ -84,7 +84,7 @@ OPENCV_CONF_OPTS += \ # Cuda stuff OPENCV_CONF_OPTS += \ -DWITH_CUBLAS=OFF \ - -DWITH_CUDA=OFF \ + -DWITH_CUDA=OFF \ -DWITH_CUFFT=OFF # NVidia stuff
@@ -98,7 +98,7 @@ OPENCV_CONF_OPTS += \ # Intel stuff OPENCV_CONF_OPTS += \ -DWITH_INTELPERC=OFF \ - -DWITH_IPP=OFF \ + -DWITH_IPP=OFF \ -DWITH_TBB=OFF # Smartek stuff
@@ -112,53 +112,53 @@ OPENCV_CONF_OPTS += -DWITH_XIMEA=OFF # Non-Linux support (Android options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_ANDROID_CAMERA=OFF \ + -DWITH_ANDROID_CAMERA=OFF \ -DBUILD_ANDROID_CAMERA_WRAPPER=OFF \ - -DBUILD_ANDROID_EXAMPLES=OFF \ - -DINSTALL_ANDROID_EXAMPLES=OFF \ - -DBUILD_FAT_JAVA_LIB=OFF \ + -DBUILD_ANDROID_EXAMPLES=OFF \ + -DINSTALL_ANDROID_EXAMPLES=OFF \ + -DBUILD_FAT_JAVA_LIB=OFF \ -DBUILD_JAVA_SUPPORT=OFF # Non-Linux support (Mac OSX options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_AVFOUNDATION=OFF \ - -DWITH_CARBON=OFF \ + -DWITH_AVFOUNDATION=OFF \ + -DWITH_CARBON=OFF \ -DWITH_QUICKTIME=OFF # Non-Linux support (Windows options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_VFW=OFF \ - -DWITH_WIN32UI=OFF \ + -DWITH_VFW=OFF \ + -DWITH_WIN32UI=OFF \ -DWITH_CSTRIPES=OFF \ - -DWITH_DSHOW=OFF \ - -DWITH_MSMF=OFF \ + -DWITH_DSHOW=OFF \ + -DWITH_MSMF=OFF \ -DWITH_VIDEOINPUT=OFF # Software/3rd-party support options. OPENCV_CONF_OPTS += \ - -DBUILD_JASPER=OFF \ - -DBUILD_JPEG=OFF \ + -DBUILD_JASPER=OFF \ + -DBUILD_JPEG=OFF \ -DBUILD_OPENEXR=OFF \ - -DBUILD_PNG=OFF \ - -DBUILD_TIFF=OFF \ - -DBUILD_ZLIB=OFF \ + -DBUILD_PNG=OFF \ + -DBUILD_TIFF=OFF \ + -DBUILD_ZLIB=OFF \ -DBUILD_NEW_PYTHON_SUPPORT=OFF \ - -DINSTALL_C_EXAMPLES=OFF \ - -DINSTALL_PYTHON_EXAMPLES=OFF \ + -DINSTALL_C_EXAMPLES=OFF \ + -DINSTALL_PYTHON_EXAMPLES=OFF \ -DINSTALL_TO_MANGLED_PATHS=OFF # Disabled features (mostly because they are not available in Buildroot), but # - eigen: OpenCV does not use it, not take any benefit from it. OPENCV_CONF_OPTS += \ - -DWITH_1394=OFF \ - -DWITH_EIGEN=OFF \ + -DWITH_1394=OFF \ + -DWITH_EIGEN=OFF \ -DWITH_IMAGEIO=OFF \ - -DWITH_OPENCL=OFF \ + -DWITH_OPENCL=OFF \ -DWITH_OPENEXR=OFF \ - -DWITH_OPENGL=OFF \ - -DWITH_OPENMP=OFF \ - -DWITH_OPENNI=OFF \ - -DWITH_UNICAP=OFF \ + -DWITH_OPENGL=OFF \ + -DWITH_OPENMP=OFF \ + -DWITH_OPENNI=OFF \ + -DWITH_UNICAP=OFF \ -DWITH_XINE=OFF OPENCV_DEPENDENCIES += zlib
Signature · 1 line
2.4.2
PATCH v5 1/13 package/opencv: cleanup spaces at ends of line
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 4 lines
Nothing more than removing white spaces before '\' characters. Of course, 'git diff -w' shows no change at all.
Signed-off-by Samuel Martin <[email protected]>
Regards,
Yann E. MORIN.
Quoted 207 lines
---
changesv4->v5:
- new patch--- package/opencv/opencv.mk | 112 +++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 56 deletions(-)package/opencv/opencv.mk +56
-56@@ -18,51 +18,51 @@ OPENCV_CONF_OPTS += \ # OpenCV build options OPENCV_CONF_OPTS += \ - -DBUILD_WITH_STATIC_CRT=OFF \ - -DENABLE_FAST_MATH=ON \ - -DENABLE_NOISY_WARNINGS=OFF \ - -DENABLE_OMIT_FRAME_POINTER=ON \ + -DBUILD_WITH_STATIC_CRT=OFF \ + -DENABLE_FAST_MATH=ON \ + -DENABLE_NOISY_WARNINGS=OFF \ + -DENABLE_OMIT_FRAME_POINTER=ON \ -DENABLE_PRECOMPILED_HEADERS=OFF \ - -DENABLE_PROFILING=OFF \ + -DENABLE_PROFILING=OFF \ -DOPENCV_CAN_BREAK_BINARY_COMPATIBILITY=ON # OpenCV link options OPENCV_CONF_OPTS += \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \ - -DCMAKE_SKIP_RPATH=OFF \ + -DCMAKE_SKIP_RPATH=OFF \ -DCMAKE_USE_RELATIVE_PATHS=OFF # OpenCV packaging options: OPENCV_CONF_OPTS += \ - -DBUILD_PACKAGE=OFF \ + -DBUILD_PACKAGE=OFF \ -DENABLE_SOLUTION_FOLDERS=OFF \ -DINSTALL_CREATE_DISTRIB=OFF # OpenCV module selection OPENCV_CONF_OPTS += \ - -DBUILD_opencv_androidcamera=OFF \ - -DBUILD_opencv_apps=OFF \ - -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \ - -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ - -DBUILD_opencv_core=ON \ - -DBUILD_opencv_dynamicuda=OFF \ + -DBUILD_opencv_androidcamera=OFF \ + -DBUILD_opencv_apps=OFF \ + -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \ + -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ + -DBUILD_opencv_core=ON \ + -DBUILD_opencv_dynamicuda=OFF \ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \ - -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ - -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ - -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \ - -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \ - -DBUILD_opencv_java=OFF \ - -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \ - -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ - -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \ + -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ + -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ + -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \ + -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \ + -DBUILD_opencv_java=OFF \ + -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \ + -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ + -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \ - -DBUILD_opencv_ocl=OFF \ - -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ - -DBUILD_opencv_python=OFF \ + -DBUILD_opencv_ocl=OFF \ + -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ + -DBUILD_opencv_python=OFF \ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \ -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \ - -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF) \ - -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF) \ + -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF) \ + -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF) \ -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \ -DBUILD_opencv_world=OFF@@ -72,10 +72,10 @@ OPENCV_CONF_OPTS += \ # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. OPENCV_CONF_OPTS += \ -DENABLE_POWERPC=OFF \ - -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ - -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ - -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ - -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ + -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ + -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ + -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ + -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \@@ -84,7 +84,7 @@ OPENCV_CONF_OPTS += \ # Cuda stuff OPENCV_CONF_OPTS += \ -DWITH_CUBLAS=OFF \ - -DWITH_CUDA=OFF \ + -DWITH_CUDA=OFF \ -DWITH_CUFFT=OFF # NVidia stuff@@ -98,7 +98,7 @@ OPENCV_CONF_OPTS += \ # Intel stuff OPENCV_CONF_OPTS += \ -DWITH_INTELPERC=OFF \ - -DWITH_IPP=OFF \ + -DWITH_IPP=OFF \ -DWITH_TBB=OFF # Smartek stuff@@ -112,53 +112,53 @@ OPENCV_CONF_OPTS += -DWITH_XIMEA=OFF # Non-Linux support (Android options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_ANDROID_CAMERA=OFF \ + -DWITH_ANDROID_CAMERA=OFF \ -DBUILD_ANDROID_CAMERA_WRAPPER=OFF \ - -DBUILD_ANDROID_EXAMPLES=OFF \ - -DINSTALL_ANDROID_EXAMPLES=OFF \ - -DBUILD_FAT_JAVA_LIB=OFF \ + -DBUILD_ANDROID_EXAMPLES=OFF \ + -DINSTALL_ANDROID_EXAMPLES=OFF \ + -DBUILD_FAT_JAVA_LIB=OFF \ -DBUILD_JAVA_SUPPORT=OFF # Non-Linux support (Mac OSX options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_AVFOUNDATION=OFF \ - -DWITH_CARBON=OFF \ + -DWITH_AVFOUNDATION=OFF \ + -DWITH_CARBON=OFF \ -DWITH_QUICKTIME=OFF # Non-Linux support (Windows options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_VFW=OFF \ - -DWITH_WIN32UI=OFF \ + -DWITH_VFW=OFF \ + -DWITH_WIN32UI=OFF \ -DWITH_CSTRIPES=OFF \ - -DWITH_DSHOW=OFF \ - -DWITH_MSMF=OFF \ + -DWITH_DSHOW=OFF \ + -DWITH_MSMF=OFF \ -DWITH_VIDEOINPUT=OFF # Software/3rd-party support options. OPENCV_CONF_OPTS += \ - -DBUILD_JASPER=OFF \ - -DBUILD_JPEG=OFF \ + -DBUILD_JASPER=OFF \ + -DBUILD_JPEG=OFF \ -DBUILD_OPENEXR=OFF \ - -DBUILD_PNG=OFF \ - -DBUILD_TIFF=OFF \ - -DBUILD_ZLIB=OFF \ + -DBUILD_PNG=OFF \ + -DBUILD_TIFF=OFF \ + -DBUILD_ZLIB=OFF \ -DBUILD_NEW_PYTHON_SUPPORT=OFF \ - -DINSTALL_C_EXAMPLES=OFF \ - -DINSTALL_PYTHON_EXAMPLES=OFF \ + -DINSTALL_C_EXAMPLES=OFF \ + -DINSTALL_PYTHON_EXAMPLES=OFF \ -DINSTALL_TO_MANGLED_PATHS=OFF # Disabled features (mostly because they are not available in Buildroot), but # - eigen: OpenCV does not use it, not take any benefit from it. OPENCV_CONF_OPTS += \ - -DWITH_1394=OFF \ - -DWITH_EIGEN=OFF \ + -DWITH_1394=OFF \ + -DWITH_EIGEN=OFF \ -DWITH_IMAGEIO=OFF \ - -DWITH_OPENCL=OFF \ + -DWITH_OPENCL=OFF \ -DWITH_OPENEXR=OFF \ - -DWITH_OPENGL=OFF \ - -DWITH_OPENMP=OFF \ - -DWITH_OPENNI=OFF \ - -DWITH_UNICAP=OFF \ + -DWITH_OPENGL=OFF \ + -DWITH_OPENMP=OFF \ + -DWITH_OPENNI=OFF \ + -DWITH_UNICAP=OFF \ -DWITH_XINE=OFF OPENCV_DEPENDENCIES += zlibSignature · 6 lines
2.4.2 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
Thomas Petazzoni
AppliedPATCH v5 1/13 package/opencv: cleanup spaces at ends of line
In reply to Samuel MartinDear Samuel Martin,
Quoted 11 lines · Samuel Martin
Nothing more than removing white spaces before '\' characters. Of course, 'git diff -w' shows no change at all.
Signed-off-by Samuel Martin <[email protected]>---
changesv4->v5:
- new patch--- package/opencv/opencv.mk | 112 +++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 56 deletions(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 2/13 package/opencv: alphabetically sorted each _CONF_OPTS group
In reply to Samuel MartinNo new option added nor removed.
---
changes v4->v5:
- new patch
--- package/opencv/opencv.mk | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-)
package/opencv/opencv.mk +16 -16
@@ -12,9 +12,9 @@ OPENCV_LICENSE_FILES = LICENSE # OpenCV component options OPENCV_CONF_OPTS += \ - -DBUILD_WITH_DEBUG_INFO=OFF \ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),ON,OFF) \ - -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) + -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \ + -DBUILD_WITH_DEBUG_INFO=OFF # OpenCV build options OPENCV_CONF_OPTS += \
@@ -71,14 +71,14 @@ OPENCV_CONF_OPTS += \ # * PowerPC support is turned off since its only effect is altering CFLAGS, # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. OPENCV_CONF_OPTS += \ + -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ -DENABLE_POWERPC=OFF \ - -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ - -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ - -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ -DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF) # Cuda stuff
@@ -92,8 +92,8 @@ OPENCV_CONF_OPTS += -DWITH_NVCUVID=OFF # AMD stuff OPENCV_CONF_OPTS += \ - -DWITH_OPENCLAMDFFT=OFF \ - -DWITH_OPENCLAMDBLAS=OFF + -DWITH_OPENCLAMDBLAS=OFF \ + -DWITH_OPENCLAMDFFT=OFF # Intel stuff OPENCV_CONF_OPTS += \
@@ -112,12 +112,12 @@ OPENCV_CONF_OPTS += -DWITH_XIMEA=OFF # Non-Linux support (Android options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_ANDROID_CAMERA=OFF \ -DBUILD_ANDROID_CAMERA_WRAPPER=OFF \ -DBUILD_ANDROID_EXAMPLES=OFF \ - -DINSTALL_ANDROID_EXAMPLES=OFF \ -DBUILD_FAT_JAVA_LIB=OFF \ - -DBUILD_JAVA_SUPPORT=OFF + -DBUILD_JAVA_SUPPORT=OFF \ + -DINSTALL_ANDROID_EXAMPLES=OFF \ + -DWITH_ANDROID_CAMERA=OFF # Non-Linux support (Mac OSX options) must remain OFF: OPENCV_CONF_OPTS += \
@@ -127,22 +127,22 @@ OPENCV_CONF_OPTS += \ # Non-Linux support (Windows options) must remain OFF: OPENCV_CONF_OPTS += \ - -DWITH_VFW=OFF \ - -DWITH_WIN32UI=OFF \ -DWITH_CSTRIPES=OFF \ -DWITH_DSHOW=OFF \ -DWITH_MSMF=OFF \ - -DWITH_VIDEOINPUT=OFF + -DWITH_VFW=OFF \ + -DWITH_VIDEOINPUT=OFF \ + -DWITH_WIN32UI=OFF # Software/3rd-party support options. OPENCV_CONF_OPTS += \ -DBUILD_JASPER=OFF \ -DBUILD_JPEG=OFF \ + -DBUILD_NEW_PYTHON_SUPPORT=OFF \ -DBUILD_OPENEXR=OFF \ -DBUILD_PNG=OFF \ -DBUILD_TIFF=OFF \ -DBUILD_ZLIB=OFF \ - -DBUILD_NEW_PYTHON_SUPPORT=OFF \ -DINSTALL_C_EXAMPLES=OFF \ -DINSTALL_PYTHON_EXAMPLES=OFF \ -DINSTALL_TO_MANGLED_PATHS=OFF
@@ -221,8 +221,8 @@ endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_V4L),y) OPENCV_CONF_OPTS += \ - -DWITH_V4L=ON \ - -DWITH_LIBV4L=$(if $(BR2_PACKAGE_LIBV4L),ON,OFF) + -DWITH_LIBV4L=$(if $(BR2_PACKAGE_LIBV4L),ON,OFF) \ + -DWITH_V4L=ON OPENCV_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBV4L),libv4l) else OPENCV_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
Signature · 1 line
2.4.2
PATCH v5 2/13 package/opencv: alphabetically sorted each _CONF_OPTS group
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
package/opencv/opencv.mk
Quoted 8 lines
No new option added nor removed.
Signed-off-by Samuel Martin <[email protected]>package/opencv/opencv.mk +0
-0
[--SNIP--]
Quoted 6 lines
package/opencv/opencv.mk +2
-0@@ -71,14 +71,14 @@ OPENCV_CONF_OPTS += \ # * PowerPC support is turned off since its only effect is altering CFLAGS, # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. OPENCV_CONF_OPTS += \ + -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \
package/opencv/opencv.mk OPENCV_CONF_OPTS += \ · line 82
Quoted 10 lines
package/opencv/opencv.mk +1
-3-DENABLE_POWERPC=OFF \ - -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ - -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ - -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ -DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)
I don't know how you sorted, but for me, SSE sorts before SSE2.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 2/13 package/opencv: alphabetically sorted each _CONF_OPTS group
Quoted 22 lines · Yann E. MORIN
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
package/opencv/opencv.mk
Quoted 8 lines
No new option added nor removed.
Signed-off-by Samuel Martin <[email protected]>package/opencv/opencv.mk +0
-0[--SNIP--]
Quoted 10 lines
package/opencv/opencv.mk +2
-1@@ -71,14 +71,14 @@ OPENCV_CONF_OPTS += \ # * PowerPC support is turned off since its only effect is altering CFLAGS, # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. OPENCV_CONF_OPTS += \ + -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ -DENABLE_POWERPC=OFF \ - -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \
Quoted 8 lines
package/opencv/opencv.mk OPENCV_CONF_OPTS += \ · line 82
Quoted 6 lines
package/opencv/opencv.mk +1
-2-DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ - -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ - -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \ -DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)I don't know how you sorted, but for me, SSE sorts before SSE2.
vim sort...
Quoted 11 lines
Regards,
Yann E. MORIN.--
.-----------------.--------------------.------------------.--------------------.| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |'------------------------------^-------^------------------^--------------------'
Signature · 1 line
Samuel
PATCH v5 3/13 package/opencv: bump to version 3.0
In reply to Samuel MartinThis major version bump is in fact a bump from 2.4.10 to 2.4.11, then to 3.0.
OpenCV-2.4.11 improves a lot the Buildroot integration, including a couple of patches that no longer need to be carried in Buildroot tree:
- x86 PIC code compilation fix in core module [1];
- return type fix in superes module [2];
- opencv.pc generation [3].
It also improves the gstreamer-0.10/1.x detection [4], that will needed in a follow-up patch.
The OpenCV-3.0 does some major changes, for which a transition guide has been published [5].
Among these changes coming with OpenCV-3.0, some new modules have been introduced and others got removed; leading to a bunch of configure option updates (to keep as much as possible an iso-functional-perimeter) and the legacy menu has been updated too.
The worth noticing removal being:
- the opencv_legacy and opencv_nonfree modules no longer exist;
- the opencv_contrib module has moved out of the opencv base tree and now has its own repository [6].
There is currently no plan to support it.
Some 3rd-party supports have been improved or added; their integrations in Buildroot will be addressed in follow-up patches.
[1] https://github.com/Itseez/opencv/commit/ea50be0529c248961e1b66293f8a9e4b807294a6
[2] https://github.com/Itseez/opencv/commit/2e393ab83362743ba1825ad4b31d4a2925c606b4
[3] https://github.com/Itseez/opencv/commit/eceada586bbf18fc267e437522ec4f1f23ddc656
[4] https://github.com/Itseez/opencv/commit/38bb0db9dbec08666c8a64b3e4ead8fadf15c980
[5] http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html
[6] https://github.com/itseez/opencv_contrib
---
changes v4->v5:
- new patch
--- Config.in.legacy | 16 +++ .../0001-core-fix-x86-PIC-code-compilation.patch | 49 ------- ...ix-return-type-value-VideoFrameSource_GPU.patch | 40 ------ ...VGenPkgconfig.cmake-rework-opencv.pc-gene.patch | 156 --------------------- package/opencv/Config.in | 44 +++--- package/opencv/opencv.mk | 70 +++++++-- 6 files changed, 96 insertions(+), 279 deletions(-) delete mode 100644 package/opencv/0001-core-fix-x86-PIC-code-compilation.patch delete mode 100644 package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch delete mode 100644 package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch
Config.in.legacy +16 -0
@@ -113,6 +113,22 @@ config BR2_TARGET_UBOOT_NETWORK help U-Boot's custom network settings options have been removed. +config BR2_PACKAGE_OPENCV_LIB_CONTRIB + bool "opencv contrib module" + select BR2_LEGACY + +config BR2_PACKAGE_OPENCV_LIB_GPU + bool "opencv gpu module (splited in several 'cudaXXX' modules)" + select BR2_LEGACY + +config BR2_PACKAGE_OPENCV_LIB_LEGACY + bool "opencv legacy module" + select BR2_LEGACY + +config BR2_PACKAGE_OPENCV_LIB_NONFREE + bool "opencv nonfree module" + select BR2_LEGACY + ############################################################################### comment "Legacy options removed in 2015.05"
package/opencv/0001-core-fix-x86-PIC-code-compilation.patch deleted +0 -49
49 lines not on this page · raw message
package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch deleted +0 -40
@@ -1,40 +0,0 @@ -superres: Fix return value VideoFrameSource_GPU - -Signed-off-by: Vicente Olivert Riera <[email protected]> - -From 2e393ab83362743ba1825ad4b31d4a2925c606b4 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera <[email protected]> -Date: Mon, 27 Oct 2014 13:39:35 +0000 -Subject: [PATCH] superres: Fix return value VideoFrameSource_GPU - -superres module fails to compile with the following error messages: - -[100%] Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/super_resolution.cpp.o -/opencv-2.4.10/modules/superres/src/frame_source.cpp: In function 'cv::Ptr<cv::superres::FrameSource> cv::superres::createFrameSource_Video_GPU(const string&)': -/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected type-specifier before 'VideoFrameSource' -/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: could not convert '(int*)operator new(4ul)' from 'int*' to 'cv::Ptr<cv::superres::FrameSource>' -/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected ';' before 'VideoFrameSource' -/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:41: error: 'VideoFrameSource' was not declared in this scope -/opencv-2.4.10/modules/superres/src/frame_source.cpp:264:1: error: control reaches end of non-void function [-Werror=return-type] -cc1plus: some warnings being treated as errors -make[3]: *** [modules/superres/CMakeFiles/opencv_superres.dir/src/frame_source.cpp.o] Error 1 -make[3]: *** Waiting for unfinished jobs.... - -This is caused because the return value of the createFrameSource_Video_GPU function should be a VideoFrameSource_GPU object. ---- - modules/superres/src/frame_source.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/superres/src/frame_source.cpp b/modules/superres/src/frame_source.cpp -index 5f59a98..c5b2e76 100644 ---- a/modules/superres/src/frame_source.cpp -+++ b/modules/superres/src/frame_source.cpp -@@ -260,7 +260,7 @@ namespace - - Ptr<FrameSource> cv::superres::createFrameSource_Video_GPU(const string& fileName) - { -- return new VideoFrameSource(fileName); -+ return new VideoFrameSource_GPU(fileName); - } - - #endif // HAVE_OPENCV_GPU
package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch deleted +0 -156
156 lines not on this page · raw message
package/opencv/Config.in +24 -20
91 lines not on this page · raw message
package/opencv/opencv.mk +56 -14
182 lines not on this page · raw message
Signature · 1 line
2.4.2
PATCH v5 3/13 package/opencv: bump to version 3.0
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 5 lines
This major version bump is in fact a bump from 2.4.10 to 2.4.11, then to 3.0.
OpenCV-2.4.11 improves a lot the Buildroot integration, including a couple of patches that no longer need to be carried in Buildroot tree:
...that are no longer needed:
Quoted 5 lines
- x86 PIC code compilation fix in core module [1];
- return type fix in superes module [2];
- opencv.pc generation [3].It also improves the gstreamer-0.10/1.x detection [4], that will needed
...that will be needed...
Quoted 48 lines
in a follow-up patch.
The OpenCV-3.0 does some major changes, for which a transition guide has been published [5].
Among these changes coming with OpenCV-3.0, some new modules have been introduced and others got removed; leading to a bunch of configure option updates (to keep as much as possible an iso-functional-perimeter) and the legacy menu has been updated too.
The worth noticing removal being:
- theopencv_legacyandopencv_nonfreemodules no longer exist;
- theopencv_contribmodule has moved out of the opencv base tree and now has its own repository [6].
There is currently no plan to support it.Some 3rd-party supports have been improved or added; their integrations in Buildroot will be addressed in follow-up patches.
[1] https://github.com/Itseez/opencv/commit/ea50be0529c248961e1b66293f8a9e4b807294a6
[2] https://github.com/Itseez/opencv/commit/2e393ab83362743ba1825ad4b31d4a2925c606b4
[3] https://github.com/Itseez/opencv/commit/eceada586bbf18fc267e437522ec4f1f23ddc656
[4] https://github.com/Itseez/opencv/commit/38bb0db9dbec08666c8a64b3e4ead8fadf15c980
[5] http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html
[6] https://github.com/itseez/opencv_contribCc Vicente Olivert Riera <[email protected]>Signed-off-by Samuel Martin <[email protected]>---
changesv4->v5:
- new patch--- Config.in.legacy | 16 +++ .../0001-core-fix-x86-PIC-code-compilation.patch | 49 ------- ...ix-return-type-value-VideoFrameSource_GPU.patch | 40 ------ ...VGenPkgconfig.cmake-rework-opencv.pc-gene.patch | 156 --------------------- package/opencv/Config.in | 44 +++--- package/opencv/opencv.mk | 70 +++++++-- 6 files changed, 96 insertions(+), 279 deletions(-) delete mode 100644 package/opencv/0001-core-fix-x86-PIC-code-compilation.patch delete mode 100644 package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch delete mode 100644 package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patchConfig.in.legacy +0
-0
Config.in.legacy config BR2_TARGET_UBOOT_NETWORK · line 118
Quoted 6 lines
Config.in.legacy +3
-0@@ -113,6 +113,22 @@ config BR2_TARGET_UBOOT_NETWORK help U-Boot's custom network settings options have been removed. +config BR2_PACKAGE_OPENCV_LIB_CONTRIB + bool "opencv contrib module" + select BR2_LEGACY
We're usually to be more explicit in the legacy option, either with a longer prompt (e.g. "opencv contrib module no longer exists") or a help entry (e.g. "help\nOpenCV contrib module no longer exists") or both.
Config.in.legacy config BR2_TARGET_UBOOT_NETWORK · line 122
Quoted 3 lines
Config.in.legacy +3
-0+config BR2_PACKAGE_OPENCV_LIB_GPU + bool "opencv gpu module (splited in several 'cudaXXX' modules)" + select BR2_LEGACY
'split' is an irregular verb, so its participle past is just 'split'.
Also, I did not see those new cudaXXX modules being added in that patch, nor did I see a further patch adding them.
If we're not adding them, then no need to reference them in the legacy prompt, or that would confuse the user.
Config.in.legacy config BR2_TARGET_UBOOT_NETWORK · line 126
Quoted 3 lines
Config.in.legacy +3
-0+config BR2_PACKAGE_OPENCV_LIB_LEGACY + bool "opencv legacy module" + select BR2_LEGACY
Ditto, we're usually trying to be more explicit about legacy options.
Config.in.legacy config BR2_TARGET_UBOOT_NETWORK · line 130
Quoted 3 lines
Config.in.legacy +3
-0+config BR2_PACKAGE_OPENCV_LIB_NONFREE + bool "opencv nonfree module" + select BR2_LEGACY
Ditto.
package/opencv/opencv.mk
Quoted 4 lines
package/opencv/opencv.mk +0
-0
[--SNIP--]
Quoted 4 lines
package/opencv/opencv.mk +0
-0@@ -12,19 +12,28 @@ OPENCV_LICENSE_FILES = LICENSE # OpenCV component options OPENCV_CONF_OPTS += \
package/opencv/opencv.mk OPENCV_LICENSE_FILES = LICENSE · line 24
Quoted 10 lines
package/opencv/opencv.mk +6
-0+ -DBUILD_DOCS=OFF \ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),ON,OFF) \ -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \ -DBUILD_WITH_DEBUG_INFO=OFF +ifneq ($(BR2_PACKAGE_OPENCV_BUILD_TESTS)$(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),) +OPENCV_CONF_OPTS += -DINSTALL_TEST=ON +else +OPENCV_CONF_OPTS += -DINSTALL_TEST=OFF +endif
We usually prefer positive logic, like so:
ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TESTS)$(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),)
OPENCV_CONF_OPTS += -DINSTALL_TEST=OFF
else
OPENCV_CONF_OPTS += -DINSTALL_TEST=ON
endifpackage/opencv/opencv.mk OPENCV_CONF_OPTS += \ · line 51
Quoted 5 lines
package/opencv/opencv.mk +1
-0@@ -39,40 +48,49 @@ OPENCV_CONF_OPTS += \ -DINSTALL_CREATE_DISTRIB=OFF # OpenCV module selection +# - contrib modules are disabled.
'disabled' or 'no longer exist' ?
Quoted 22 lines
package/opencv/opencv.mk +2
-7OPENCV_CONF_OPTS += \ -DBUILD_opencv_androidcamera=OFF \ -DBUILD_opencv_apps=OFF \ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \ - -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ -DBUILD_opencv_core=ON \ - -DBUILD_opencv_dynamicuda=OFF \ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ - -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ + -DBUILD_opencv_hal=ON \ -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \ + -DBUILD_opencv_imgcodecs=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGCODECS),ON,OFF) \ -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \ -DBUILD_opencv_java=OFF \ - -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ - -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \ - -DBUILD_opencv_ocl=OFF \ -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ - -DBUILD_opencv_python=OFF \
package/opencv/opencv.mk OPENCV_CONF_OPTS += \ · line 76
Quoted 10 lines
package/opencv/opencv.mk +5
-0+ -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=OFF \ + -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV_LIB_SHAPE),ON,OFF) \ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \ -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \ -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF) \ -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF) \ + -DBUILD_opencv_videoio=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOIO),ON,OFF) \ -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \ + -DBUILD_opencv_viz=OFF \
Any reason not to add a Config.in option for viz?
Quoted 5 lines
package/opencv/opencv.mk +0
-0-DBUILD_opencv_world=OFF # Hardware support options. # # * PowerPC support is turned off since its only effect is altering CFLAGS,
package/opencv/opencv.mk OPENCV_CONF_OPTS += \ · line 91
Quoted 10 lines
package/opencv/opencv.mk +6
-0# adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. +# * fma3 and popcnt support is disabled because according to gcc manual [1], it +# is only available on x86_64 haswell, broadwell and knl architecture. +# +# [1] https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/x86-Options.html#x86-Options OPENCV_CONF_OPTS += \ -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ + -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \
Uho... Duplicating avx and avx2.
And like I said for SSE/. SE2: AVX sorts before AVX2. Don't trust your vim! ;-)
[--SNIP--]
Quoted 7 lines
package/opencv/opencv.mk +3
-0@@ -83,6 +101,19 @@ OPENCV_CONF_OPTS += \ # Cuda stuff OPENCV_CONF_OPTS += \ + -DBUILD_CUDA_STUBS=OFF \ + -DBUILD_opencv_cudaarithm=OFF \ + -DBUILD_opencv_cudabgsegm=OFF \
package/opencv/opencv.mk OPENCV_CONF_OPTS += \ · line 116
Quoted 10 lines
package/opencv/opencv.mk +10
-0+ -DBUILD_opencv_cudacodec=OFF \ + -DBUILD_opencv_cudafeatures2d=OFF \ + -DBUILD_opencv_cudafilters=OFF \ + -DBUILD_opencv_cudaimgproc=OFF \ + -DBUILD_opencv_cudalegacy=OFF \ + -DBUILD_opencv_cudaobjdetect=OFF \ + -DBUILD_opencv_cudaoptflow=OFF \ + -DBUILD_opencv_cudastereo=OFF \ + -DBUILD_opencv_cudawarping=OFF \ + -DBUILD_opencv_cudev=OFF \
Oh, we're adding all of the CUDA modules here, and they are forcibly disabled. So, don't refer to them in the legacy prompt, or the user would hunt for the corresponding options to enable/disable them, when they are always disabled anyway, and that would be quite confusing (He!, look how I was confused! ;-] ).
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 3/13 package/opencv: bump to version 3.0
Yann, all,
On Sun, Jun 7, 2015 at 2:03 PM, Yann E. MORIN <[email protected]> wrote:
[...]
Quoted 4 lines
Quoted 2 lines
# OpenCV module selection
+# - contrib modules are disabled.'disabled' or 'no longer exist' ?
Sorry for the confusion, I mean:
opencv contrib modules from [1] are not available because we don't set the OPENCV_EXTRA_MODULES_PATH CMake configure option.
I'll make the comment less cryptic in the next revision ;-).
Quoted 34 lines
Quoted 23 lines
OPENCV_CONF_OPTS += \ -DBUILD_opencv_androidcamera=OFF \ -DBUILD_opencv_apps=OFF \ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \package/opencv/opencv.mk +2
-7- -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ -DBUILD_opencv_core=ON \ - -DBUILD_opencv_dynamicuda=OFF \ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ - -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ + -DBUILD_opencv_hal=ON \ -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \ + -DBUILD_opencv_imgcodecs=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGCODECS),ON,OFF) \ -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \ -DBUILD_opencv_java=OFF \ - -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ - -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \ - -DBUILD_opencv_ocl=OFF \ -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ - -DBUILD_opencv_python=OFF \package/opencv/opencv.mk OPENCV_CONF_OPTS += \ · line 76
Quoted 10 lines
package/opencv/opencv.mk +5
-0+ -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=OFF \ + -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV_LIB_SHAPE),ON,OFF) \ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \ -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \ -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF) \ -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF) \ + -DBUILD_opencv_videoio=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOIO),ON,OFF) \ -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \ + -DBUILD_opencv_viz=OFF \
Quoted 1 line
Any reason not to add a Config.in option for viz?
Yes, it needs VTK. I'll add a comment about it as well in the next revision of the patch.
Regards,
[1] https://github.com/itseez/opencv_contrib
Signature · 1 line
Samuel
PATCH v5 4/13 package/opencv: define modules inter-dependencies
In reply to Samuel MartinOpenCV allows to enable/disable the selection of modules (a.k.a. opencv libraries). These modules depend one on the others; these dependencies are already handled by the build-system (CMake).
However, the way we handled them in Buildroot was not really clean. For each opencv module, there is a kconfig option, but we forced the corresponding CMake config option without checking for the modules' dependencies.
This patch replicates the modules' dependency relations in the Config.in, so that the selection of the user will actually be built.
---
changes v4->v5:
- rebase
- remove Reviewed-by tag form Yann (because of the changes introduced with the version bump)
changes v3->v4:
- rebase
- update ts module dependencies
changes v2->v3:
- rebase
- fix typo in commit log (Yann)
- update A/R/T tags
changes v1->v2:
- rebase
--- package/opencv/Config.in | 53 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 16 deletions(-)
package/opencv/Config.in +37 -16
@@ -19,7 +19,8 @@ comment "OpenCV modules" config BR2_PACKAGE_OPENCV_LIB_CALIB3D bool "calib3d" - default y + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_calib3d module into the OpenCV build.
@@ -27,13 +28,15 @@ config BR2_PACKAGE_OPENCV_LIB_CALIB3D config BR2_PACKAGE_OPENCV_LIB_FEATURES2D bool "features2d" - default y + select BR2_PACKAGE_OPENCV_LIB_FLANN + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_ML help Include opencv_features2d module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_FLANN bool "flann" - default y + # opencv_core dependency is already enabled help Include opencv_flann module into the OpenCV build.
@@ -42,37 +45,41 @@ config BR2_PACKAGE_OPENCV_LIB_FLANN config BR2_PACKAGE_OPENCV_LIB_HIGHGUI bool "highgui" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEOIO help Include opencv_highgui module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_IMGCODECS bool "imgcodecs (image codecs)" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_imgcodecs module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_IMGPROC bool "imgproc (image processing)" - default y + # opencv_core dependency is already enabled help Include opencv_imgproc module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_ML bool "ml (machine learning)" - default y + # opencv_core dependency is already enabled help Include opencv_ml module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_OBJDETECT bool "objdetect" - default y + # opencv_core dependency is already enabled + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_ML help Include opencv_objdetect module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_PHOTO bool "photo" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_photo module into the OpenCV build.
@@ -80,45 +87,59 @@ comment "opencv_python module requires numpy which is not yet available." config BR2_PACKAGE_OPENCV_LIB_SHAPE bool "shape (shape descriptors and matchers)" - default y + # opencv_core dependency is already enabled + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEO help Include opencv_shape module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_STITCHING bool "stitching" - default y + select BR2_PACKAGE_OPENCV_LIB_CALIB3D + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_OBJDETECT help Include opencv_stitching module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_SUPERRES bool "superres" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEO help Include opencv_superres "super resolution" - module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_TS bool "ts (touchscreen)" + # opencv_core dependency is already enabled select BR2_PACKAGE_OPENCV_LIB_HIGHGUI - default y + select BR2_PACKAGE_OPENCV_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEOIO help Include opencv_ts module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEOIO bool "videoio (media i/o)" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_videoio module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEO bool "video" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_video module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB bool "videostab" - default y + select BR2_PACKAGE_OPENCV_LIB_CALIB3D + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_PHOTO + select BR2_PACKAGE_OPENCV_LIB_VIDEO help Include opencv_videostab module into the OpenCV build.
Signature · 1 line
2.4.2
PATCH v5 4/13 package/opencv: define modules inter-dependencies
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 9 lines
OpenCV allows to enable/disable the selection of modules (a.k.a. opencv libraries). These modules depend one on the others; these dependencies are already handled by the build-system (CMake).
However, the way we handled them in Buildroot was not really clean. For each opencv module, there is a kconfig option, but we forced the corresponding CMake config option without checking for the modules' dependencies.
Quoted 6 lines
This patch replicates the modules' dependency relations in the Config.in, so that the selection of the user will actually be built.
Signed-off-by Samuel Martin <[email protected]>Cc Vicente Olivert Riera <[email protected]>Cc "Yann E. MORIN" <[email protected]>
[--SNIP--]
package/opencv/Config.in comment "OpenCV modules" · line 23
Quoted 11 lines
package/opencv/Config.in +2
-1@@ -19,7 +19,8 @@ comment "OpenCV modules" config BR2_PACKAGE_OPENCV_LIB_CALIB3D bool "calib3d" - default y + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_IMGPROC
You remove the 'default y' but that means existing defconfig files will no longer be usable.
Also, it is not documented in the commit log.
And it leaves quite a few options to default to 'y' anyway.
I'm not opposed to changing that, but it must be really thought about.
And in any case, this should probably be a separate patch, that removes all 'default y' for all options, while this patch only enforces dependency, like is explained in the commit log.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 5/13 package/opencv: reword modules' prompt and help text
In reply to Samuel MartinThis patch is mostly cosmetic changes improving the human interface.
---
changes v4->v5:
- new patch
--- package/opencv/Config.in | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-)
package/opencv/Config.in +12 -13
@@ -18,7 +18,7 @@ if BR2_PACKAGE_OPENCV comment "OpenCV modules" config BR2_PACKAGE_OPENCV_LIB_CALIB3D - bool "calib3d" + bool "calib3d (camera calibration and 3d reconstruction)" select BR2_PACKAGE_OPENCV_LIB_FEATURES2D select BR2_PACKAGE_OPENCV_LIB_IMGPROC help
@@ -27,7 +27,7 @@ config BR2_PACKAGE_OPENCV_LIB_CALIB3D # opencv_core module is automatically enabled when OpenCV package is selected config BR2_PACKAGE_OPENCV_LIB_FEATURES2D - bool "features2d" + bool "features2d (2d features framework)" select BR2_PACKAGE_OPENCV_LIB_FLANN select BR2_PACKAGE_OPENCV_LIB_IMGPROC select BR2_PACKAGE_OPENCV_LIB_ML
@@ -35,7 +35,7 @@ config BR2_PACKAGE_OPENCV_LIB_FEATURES2D Include opencv_features2d module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_FLANN - bool "flann" + bool "flann (clustering and search in multi-dimensional spaces)" # opencv_core dependency is already enabled help Include opencv_flann module into the OpenCV build.
@@ -44,7 +44,7 @@ config BR2_PACKAGE_OPENCV_LIB_FLANN # opencv_core, so it is automatically enabled config BR2_PACKAGE_OPENCV_LIB_HIGHGUI - bool "highgui" + bool "highgui (high-level gui and media i/o)" select BR2_PACKAGE_OPENCV_LIB_IMGCODECS select BR2_PACKAGE_OPENCV_LIB_IMGPROC select BR2_PACKAGE_OPENCV_LIB_VIDEOIO
@@ -70,7 +70,7 @@ config BR2_PACKAGE_OPENCV_LIB_ML Include opencv_ml module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_OBJDETECT - bool "objdetect" + bool "objdetect (object detection)" # opencv_core dependency is already enabled select BR2_PACKAGE_OPENCV_LIB_IMGPROC select BR2_PACKAGE_OPENCV_LIB_ML
@@ -78,7 +78,7 @@ config BR2_PACKAGE_OPENCV_LIB_OBJDETECT Include opencv_objdetect module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_PHOTO - bool "photo" + bool "photo (computational photography)" select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_photo module into the OpenCV build.
@@ -94,7 +94,7 @@ config BR2_PACKAGE_OPENCV_LIB_SHAPE Include opencv_shape module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_STITCHING - bool "stitching" + bool "stitching (images stitching)" select BR2_PACKAGE_OPENCV_LIB_CALIB3D select BR2_PACKAGE_OPENCV_LIB_FEATURES2D select BR2_PACKAGE_OPENCV_LIB_IMGPROC
@@ -103,15 +103,14 @@ config BR2_PACKAGE_OPENCV_LIB_STITCHING Include opencv_stitching module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_SUPERRES - bool "superres" + bool "superres (super resolution)" select BR2_PACKAGE_OPENCV_LIB_IMGPROC select BR2_PACKAGE_OPENCV_LIB_VIDEO help - Include opencv_superres "super resolution" - module into the OpenCV - build. + Include opencv_superres module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_TS - bool "ts (touchscreen)" + bool "ts (test module)" # opencv_core dependency is already enabled select BR2_PACKAGE_OPENCV_LIB_HIGHGUI select BR2_PACKAGE_OPENCV_LIB_IMGCODECS
@@ -128,13 +127,13 @@ config BR2_PACKAGE_OPENCV_LIB_VIDEOIO Include opencv_videoio module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEO - bool "video" + bool "video (video analysis)" select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_video module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB - bool "videostab" + bool "videostab (video stabilization)" select BR2_PACKAGE_OPENCV_LIB_CALIB3D select BR2_PACKAGE_OPENCV_LIB_FEATURES2D select BR2_PACKAGE_OPENCV_LIB_IMGPROC
Signature · 1 line
2.4.2
PATCH v5 5/13 package/opencv: reword modules' prompt and help text
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 1 line
This patch is mostly cosmetic changes improving the human interface.
We're not usually doing that in the prompt, but in the help texts.
So I'm not sure...
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 5/13 package/opencv: reword modules' prompt and help text
Yann, Samuel,
Quoted 6 lines · Yann E. MORIN
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 1 line
This patch is mostly cosmetic changes improving the human interface.
We're not usually doing that in the prompt, but in the help texts.
So I'm not sure...
Agreed with Yann here. Keep just the module name in the prompt, and extend the help text if needed.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 6/13 package/opencv: add qt5 support
In reply to Samuel MartinStarting with the 2.4.6 release, OpenCV supports both Qt4 and Qt5, but only one can be enabled at the same time.
Since Buildroot does not support Qt4/Qt5 co-existence, we keep the Qt support knob as a boolean, but make it depend on BR2_PACKAGE_QT or BR2_PACKAGE_QT5, and automatically uses the enabled one.
Note that we usually use 'select ...' to express the dependencies between packages, but in this case, we cannot since the Qt4/Qt5 co-existence exclusion is not handled by a simple choice, but by a dependency. This makes impossible using 'select ...' for the Qt support knob without triggering a circular dependency at the kconfig level.
Besides, we already use 'depends on ...' to express the dependencies with some "big" packages (like xorg or libgtk2). qt or qt5* packages are fairly big. So, I don't think it will hurt that much to use a 'depends on ...' statement in this case.
---
changes v4->v5:
- rebase
changes v3->v4:
- rebase
- rename _OPT -> _OPTS options
- rework qt backend selection (Yann)
changes v2->v3:
- rebase
- remove duplicate qt/qt5 dependencies (Yann)
- add missing 'depends on' to the comment about qt4
changes v1->v2:
- rebase
- update threads support dependency for qt5
--- package/opencv/Config.in | 32 ++++++++++++++++++++++++++++---- package/opencv/opencv.mk | 4 ++-- 2 files changed, 30 insertions(+), 6 deletions(-)
package/opencv/Config.in +28 -4
@@ -209,13 +209,37 @@ config BR2_PACKAGE_OPENCV_WITH_QT bool "qt backend support" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # qt - depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI - select BR2_PACKAGE_QT + depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + select BR2_PACKAGE_OPENCV_QT_BACKEND if BR2_PACKAGE_QT + select BR2_PACKAGE_OPENCV_QT5_BACKEND if BR2_PACKAGE_QT5 + help + Enable Qt support for OpenCV. + + This uses whatever Qt version you enabled: Qt4 or Qt5. + + If Qt4 is already enabled, then QtTest and QtGui modules and STL support + will be enabled as well. + + If Qt5 is already enabled, then the following components will be enabled + as well: base, concurrent, test, gui and widgets. + +config BR2_PACKAGE_OPENCV_QT_BACKEND + bool select BR2_PACKAGE_QT_STL select BR2_PACKAGE_QT_GUI_MODULE select BR2_PACKAGE_QT_TEST - help - Use Qt with QtTest module and STL support + +config BR2_PACKAGE_OPENCV_QT5_BACKEND + bool + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_QT5BASE_CONCURRENT + select BR2_PACKAGE_QT5BASE_TEST + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + +comment "qt backend needs either Qt4 or Qt5" + depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 + depends on !BR2_avr32 config BR2_PACKAGE_OPENCV_WITH_TIFF bool "tiff support"
package/opencv/opencv.mk +2 -2
@@ -248,8 +248,8 @@ OPENCV_CONF_OPTS += -DWITH_PNG=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y) -OPENCV_CONF_OPTS += -DWITH_QT=4 -OPENCV_DEPENDENCIES += qt +OPENCV_CONF_OPTS += -DWITH_QT=$(if $(BR2_PACKAGE_QT),4,5) +OPENCV_DEPENDENCIES += $(if $(BR2_PACKAGE_QT),qt,qt5base) else OPENCV_CONF_OPTS += -DWITH_QT=OFF endif
Signature · 1 line
2.4.2
PATCH v5 6/13 package/opencv: add qt5 support
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 14 lines
Starting with the 2.4.6 release, OpenCV supports both Qt4 and Qt5, but only one can be enabled at the same time.
Since Buildroot does not support Qt4/Qt5 co-existence, we keep the Qt support knob as a boolean, but make it depend on
BR2_PACKAGE_QTorBR2_PACKAGE_QT5, and automatically uses the enabled one.Note that we usually use 'select ...' to express the dependencies between packages, but in this case, we cannot since the Qt4/Qt5 co-existence exclusion is not handled by a simple choice, but by a dependency. This makes impossible using 'select ...' for the Qt support knob without triggering a circular dependency at the kconfig level.
Quoted 7 lines
Besides, we already use 'depends on ...' to express the dependencies with some "big" packages (like xorg or libgtk2). qt or qt5* packages are fairly big. So, I don't think it will hurt that much to use a 'depends on ...' statement in this case.
Signed-off-by Samuel Martin <[email protected]>Cc "Yann E. MORIN" <[email protected]>
[--SNIP--]
package/opencv/Config.in config BR2_PACKAGE_OPENCV_WITH_QT
Quoted 5 lines
package/opencv/Config.in +0
-0@@ -209,13 +209,37 @@ config BR2_PACKAGE_OPENCV_WITH_QT
[--SNIP--]
package/opencv/Config.in config BR2_PACKAGE_OPENCV_WITH_QT · line 242
Quoted 3 lines
package/opencv/Config.in +3
-0+comment "qt backend needs either Qt4 or Qt5" + depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 + depends on !BR2_avr32
We no longer support avr32. I should know, I ditched it! ;-)
Otherwise, looks good.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 7/13 package/opencv: add python support
In reply to Samuel Martinopencv_python module needs python-numpy because it uses some numpy headers in this wrapper.
From its 2.4 release, OpenCV offers python bindings, but they required most of the OpenCV modules to be enabled.
Since OpenCV-3.0.0, python bindings have been reworked:
- it now supports both python2 and python3
- only built modules supporting wrapped in python will be included in the bindings.
---
changes v4->v5:
- rebase
- update commit log
- fix python-numpy selection
- add python3 support
changes v3->v4:
- rebase
- rename _OPT -> _OPTS
- remove python/numpy patch (merged upstream since opencv bump)
changes v2->v3:
- rebase
- add fetch uri in the opencv's patch (Yann)
- move pyhton module knob under the multi-line if block about python deps (Yann)
changes v1->v2:
- rebase
- use patch merged upstream
--- package/opencv/Config.in | 12 +++++++++++- package/opencv/opencv.mk | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-)
package/opencv/Config.in +11 -1
@@ -83,7 +83,17 @@ config BR2_PACKAGE_OPENCV_LIB_PHOTO help Include opencv_photo module into the OpenCV build. -comment "opencv_python module requires numpy which is not yet available." +config BR2_PACKAGE_OPENCV_LIB_PYTHON + bool "python" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 \ + || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_powerpc64 \ + || BR2_sh || BR2_x86_64 # python-numpy + depends on !BR2_TOOLCHAIN_USES_UCLIBC || BR2_i386 || BR2_x86_64 # python-numpy + select BR2_PACKAGE_PYTHON_NUMPY + help + Include opencv_python module into the OpenCV build. + No python example is installed. config BR2_PACKAGE_OPENCV_LIB_SHAPE bool "shape (shape descriptors and matchers)"
package/opencv/opencv.mk +31 -2
@@ -64,8 +64,6 @@ OPENCV_CONF_OPTS += \ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \ -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ - -DBUILD_opencv_python2=OFF \ - -DBUILD_opencv_python3=OFF \ -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV_LIB_SHAPE),ON,OFF) \ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \ -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \
@@ -270,6 +268,37 @@ else OPENCV_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF endif +ifeq ($(BR2_PACKAGE_OPENCV_LIB_PYTHON),y) +ifeq ($(BR2_PACKAGE_PYTHON),y) +OPENCV_CONF_OPTS += \ + -DBUILD_opencv_python2=ON \ + -DBUILD_opencv_python3=OFF \ + -DPYTHON2_EXECUTABLE=$(HOST_DIR)/usr/bin/python2 \ + -DPYTHON2_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \ + -DPYTHON2_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR).so \ + -DPYTHON2_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/numpy/core/include \ + -DPYTHON2_PACKAGES_PATH=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \ + -DPYTHON2_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) +OPENCV_DEPENDENCIES += python +else +OPENCV_CONF_OPTS += \ + -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=ON \ + -DPYTHON3_EXECUTABLE=$(HOST_DIR)/usr/bin/python3 \ + -DPYTHON3_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m \ + -DPYTHON3_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON3_VERSION_MAJOR)m.so \ + -DPYTHON3_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \ + -DPYTHON3_PACKAGES_PATH=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ + -DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) +OPENCV_DEPENDENCIES += python3 +endif +OPENCV_DEPENDENCIES += python-numpy +else +OPENCV_CONF_OPTS += \ + -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=OFF +endif + # Installation hooks: define OPENCV_CLEAN_INSTALL_DOC $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/doc
Signature · 1 line
2.4.2
PATCH v5 7/13 package/opencv: add python support
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 6 lines
opencv_pythonmodule needs python-numpy because it uses some numpy headers in this wrapper.From its 2.4 release, OpenCV offers python bindings, but they required most of the OpenCV modules to be enabled.
Quoted 6 lines
Since OpenCV-3.0.0, python bindings have been reworked:
- it now supports both python2 and python3
- only built modules supporting wrapped in python will be included in the bindings.Signed-off-by Samuel Martin <[email protected]>
Regards,
Yann E. MORIN.
Quoted 107 lines
---
changesv4->v5:
- rebase
- update commit log
- fix python-numpy selection
- add python3 supportchanges
v3->v4:
- rebase
- rename_OPT->_OPTS
- remove python/numpy patch (merged upstream since opencv bump)changes
v2->v3:
- rebase
- add fetch uri in the opencv's patch (Yann)
- move pyhton module knob under the multi-line if block about python deps (Yann)changes
v1->v2:
- rebase
- use patch merged upstream--- package/opencv/Config.in | 12 +++++++++++- package/opencv/opencv.mk | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-)package/opencv/Config.in +11
-1@@ -83,7 +83,17 @@ config BR2_PACKAGE_OPENCV_LIB_PHOTO help Include opencv_photo module into the OpenCV build. -comment "opencv_python module requires numpy which is not yet available." +config BR2_PACKAGE_OPENCV_LIB_PYTHON + bool "python" + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 \ + || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_powerpc64 \ + || BR2_sh || BR2_x86_64 # python-numpy + depends on !BR2_TOOLCHAIN_USES_UCLIBC || BR2_i386 || BR2_x86_64 # python-numpy + select BR2_PACKAGE_PYTHON_NUMPY + help + Include opencv_python module into the OpenCV build. + No python example is installed. config BR2_PACKAGE_OPENCV_LIB_SHAPE bool "shape (shape descriptors and matchers)"package/opencv/opencv.mk +31
-2@@ -64,8 +64,6 @@ OPENCV_CONF_OPTS += \ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \ -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF) \ - -DBUILD_opencv_python2=OFF \ - -DBUILD_opencv_python3=OFF \ -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV_LIB_SHAPE),ON,OFF) \ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \ -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \@@ -270,6 +268,37 @@ else OPENCV_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF endif +ifeq ($(BR2_PACKAGE_OPENCV_LIB_PYTHON),y) +ifeq ($(BR2_PACKAGE_PYTHON),y) +OPENCV_CONF_OPTS += \ + -DBUILD_opencv_python2=ON \ + -DBUILD_opencv_python3=OFF \ + -DPYTHON2_EXECUTABLE=$(HOST_DIR)/usr/bin/python2 \ + -DPYTHON2_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \ + -DPYTHON2_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR).so \ + -DPYTHON2_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/numpy/core/include \ + -DPYTHON2_PACKAGES_PATH=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \ + -DPYTHON2_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) +OPENCV_DEPENDENCIES += python +else +OPENCV_CONF_OPTS += \ + -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=ON \ + -DPYTHON3_EXECUTABLE=$(HOST_DIR)/usr/bin/python3 \ + -DPYTHON3_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m \ + -DPYTHON3_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON3_VERSION_MAJOR)m.so \ + -DPYTHON3_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \ + -DPYTHON3_PACKAGES_PATH=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ + -DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) +OPENCV_DEPENDENCIES += python3 +endif +OPENCV_DEPENDENCIES += python-numpy +else +OPENCV_CONF_OPTS += \ + -DBUILD_opencv_python2=OFF \ + -DBUILD_opencv_python3=OFF +endif + # Installation hooks: define OPENCV_CLEAN_INSTALL_DOC $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/docSignature · 6 lines
2.4.2 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 8/13 package/opencv: add gstreamer-1.x support
In reply to Samuel MartinStarting with the 2.4.10 release, OpenCV supports both Gstreamer-0.10 and Gstreamer-1, but only one can be enabled at the same time (OpenCV uses Gstreamer-1 when available).
Since Buildroot allows both Gstreamer versions to co-exist, the configure options and dependencies are set to reflect the OpenCV preference.
---
changes v4->v5:
- rebase
- rework gst-X backend selection (use similar structure for qt)
- remove patch merged upstream
changes v3->v4:
- new patch
--- package/opencv/Config.in | 34 ++++++++++++++++++++++++++-------- package/opencv/opencv.mk | 9 +++++++-- 2 files changed, 33 insertions(+), 10 deletions(-)
package/opencv/Config.in +26 -8
@@ -170,17 +170,35 @@ config BR2_PACKAGE_OPENCV_WITH_FFMPEG Use ffmpeg from the target system. config BR2_PACKAGE_OPENCV_WITH_GSTREAMER - bool "gstreamer support" - depends on BR2_USE_MMU # gstreamer -> libglib2 - depends on BR2_USE_WCHAR # gstreamer -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer -> libglib2 - select BR2_PACKAGE_GSTREAMER + bool "gstreamer backend support" + depends on BR2_PACKAGE_GSTREAMER || BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_OPENCV_GSTREAMER_BACKEND if BR2_PACKAGE_GSTREAMER && \ + !BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_OPENCV_GSTREAMER1_BACKEND if BR2_PACKAGE_GSTREAMER1 + help + Enable Gstreamer support for OpenCV. + + This uses whatever Gstreamer version you enabled: Gstreamer-0.10 + or Gstreamer-1. + + If both Gstreamer version are enable, only Gstreamer-1 will be + used by OpenCV. + +config BR2_PACKAGE_OPENCV_GSTREAMER_BACKEND + bool + # no need to select gstreamer select BR2_PACKAGE_GST_PLUGINS_BASE select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP -comment "gstreamer support needs a toolchain w/ wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS +config BR2_PACKAGE_OPENCV_GSTREAMER1_BACKEND + bool + # no need to select gstreamer1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP + +comment "gstreamer backend needs either Gstreamer-0.10 or Gstreamer-1" + depends on !BR2_PACKAGE_GSTREAMER && !BR2_PACKAGE_GSTREAMER1 + depends on BR2_USE_MMU # gstreamer -> libglib2 config BR2_PACKAGE_OPENCV_WITH_GTK bool "gtk support"
package/opencv/opencv.mk +7 -2
@@ -211,10 +211,15 @@ OPENCV_CONF_OPTS += -DWITH_FFMPEG=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_GSTREAMER),y) -OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON +ifeq ($(BR2_PACKAGE_GSTREAMER1),y) +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON -DWITH_GSTREAMER_0_10=OFF +OPENCV_DEPENDENCIES += gstreamer1 gst1-plugins-base +else +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=ON OPENCV_DEPENDENCIES += gstreamer gst-plugins-base +endif else -OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK),y)
Signature · 1 line
2.4.2
PATCH v5 8/13 package/opencv: add gstreamer-1.x support
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 10 lines
Starting with the 2.4.10 release, OpenCV supports both Gstreamer-0.10 and Gstreamer-1, but only one can be enabled at the same time (OpenCV uses Gstreamer-1 when available).
Since Buildroot allows both Gstreamer versions to co-exist, the configure options and dependencies are set to reflect the OpenCV preference.
Signed-off-by Samuel Martin <[email protected]>Cc "Yann E. MORIN" <[email protected]>
But see a comment below...
Quoted 9 lines
package/opencv/opencv.mk +0
-1@@ -211,10 +211,15 @@ OPENCV_CONF_OPTS += -DWITH_FFMPEG=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_GSTREAMER),y) -OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON
package/opencv/opencv.mk OPENCV_CONF_OPTS += -DWITH_FFMPEG=OFF · line 222
Quoted 10 lines
package/opencv/opencv.mk +7
-1+ifeq ($(BR2_PACKAGE_GSTREAMER1),y) +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON -DWITH_GSTREAMER_0_10=OFF +OPENCV_DEPENDENCIES += gstreamer1 gst1-plugins-base +else +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=ON OPENCV_DEPENDENCIES += gstreamer gst-plugins-base +endif else -OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF +OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF
This -DWITH_GSTREAMER_0_10=OFF should be added at the time you do the OpenCV bump, I believe.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 9/13 package/opencv: add opengl support
In reply to Samuel MartinIn OpenCV, OpenGL support is done using extensions from 3rd party
framework: either Qt5OpenGL with Qt5 (with GL support only, not GLES); or gtkglext (which is not available in Buildroot) with gtk2
So, make OpenGL knob visible when Qt5 support is selected.
---
changes v4->v5:
- new patch
--- package/opencv/Config.in | 11 +++++++++++ package/opencv/opencv.mk | 7 +++++++ 2 files changed, 18 insertions(+)
package/opencv/Config.in +11 -0
@@ -227,6 +227,17 @@ config BR2_PACKAGE_OPENCV_WITH_JPEG help Use shared libjpeg from the target system. +config BR2_PACKAGE_OPENCV_WITH_OPENGL + bool "opengl support" + # OpenGL support done using Qt5OpenGL, so depends on QT5_BACKEND + depends on BR2_PACKAGE_OPENCV_QT5_BACKEND + # OpenGL support requires Qt5OpenGL with GL support + depends on BR2_PACKAGE_QT5_GL_AVAILABLE + depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_QT5BASE_OPENGL + help + Enable OpenGL for UI. + config BR2_PACKAGE_OPENCV_WITH_PNG bool "png support" select BR2_PACKAGE_LIBPNG
package/opencv/opencv.mk +7 -0
@@ -243,6 +243,13 @@ else OPENCV_CONF_OPTS += -DWITH_JPEG=OFF endif +ifeq ($(BR2_PACKAGE_OPENCV_WITH_OPENGL),y) +OPENCV_CONF_OPTS += -DWITH_OPENGL=ON +OPENCV_DEPENDENCIES += libgl qt5base +else +OPENCV_CONF_OPTS += -DWITH_OPENGL=OFF +endif + ifeq ($(BR2_PACKAGE_OPENCV_WITH_PNG),y) OPENCV_CONF_OPTS += -DWITH_PNG=ON OPENCV_DEPENDENCIES += libpng
Signature · 1 line
2.4.2
PATCH v5 9/13 package/opencv: add opengl support
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 21 lines
In OpenCV, OpenGL support is done using extensions from 3rd party
framework: either Qt5OpenGL with Qt5 (with GL support only, not GLES); or gtkglext (which is not available in Buildroot) with gtk2So, make OpenGL knob visible when Qt5 support is selected.
Signed-off-by Samuel Martin <[email protected]>---
changesv4->v5:
- new patch--- package/opencv/Config.in | 11 +++++++++++ package/opencv/opencv.mk | 7 +++++++ 2 files changed, 18 insertions(+)package/opencv/Config.in +0
-0
package/opencv/Config.in config BR2_PACKAGE_OPENCV_WITH_JPEG · line 236
Quoted 10 lines
package/opencv/Config.in +7
-0@@ -227,6 +227,17 @@ config BR2_PACKAGE_OPENCV_WITH_JPEG help Use shared libjpeg from the target system. +config BR2_PACKAGE_OPENCV_WITH_OPENGL + bool "opengl support" + # OpenGL support done using Qt5OpenGL, so depends on QT5_BACKEND + depends on BR2_PACKAGE_OPENCV_QT5_BACKEND + # OpenGL support requires Qt5OpenGL with GL support + depends on BR2_PACKAGE_QT5_GL_AVAILABLE + depends on BR2_PACKAGE_HAS_LIBGL
I was going to say that BR2_PACKAGE_QT5_GL_AVAILABLE already depends on BR2_PACKAGE_HAS_LIBGL, so it was not needed.
However, as you say in the commit log, BR2_PACKAGE_QT5_GL_AVAILABLE also alternatively depends on BR2_PACKAGE_HAS_LIBGLES, which OpenCV does not support.
So, that 'depends on BR2_PACKAGE_HAS_LIBGL' makes sense. I'd however add a comment about that, like so:
# OpenGL support requires Qt5OpenGL with GL support, not GLES depends on BR2_PACKAGE_QT5_GL_AVAILABLE
depends on BR2_PACKAGE_HAS_LIBGL
package/opencv/Config.in config BR2_PACKAGE_OPENCV_WITH_JPEG · line 239
Quoted 3 lines
package/opencv/Config.in +3
-0+ select BR2_PACKAGE_QT5BASE_OPENGL + help + Enable OpenGL for UI.
Maybe add a comment about the Qt5 dependency:
comment "OpenGL support needs Qt5 and an OpenGL provider"
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 10/13 package/opencv: add openmp support
In reply to Samuel MartinNote that this situation is not ideal because it only add openmp support to the Buildroot toolchain, not the external ones; but a couple of packages already are in this situation.
---
changes v4->v5:
- new patch
--- package/opencv/opencv.mk | 2 ++ 1 file changed, 2 insertions(+)
package/opencv/opencv.mk +2 -0
@@ -250,6 +250,8 @@ else OPENCV_CONF_OPTS += -DWITH_OPENGL=OFF endif +OPENCV_CONF_OPTS += -DWITH_OPENMP=$(if $(BR2_GCC_ENABLE_OPENMP),ON,OFF) + ifeq ($(BR2_PACKAGE_OPENCV_WITH_PNG),y) OPENCV_CONF_OPTS += -DWITH_PNG=ON OPENCV_DEPENDENCIES += libpng
Signature · 1 line
2.4.2
PATCH v5 10/13 package/opencv: add openmp support
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 6 lines
Note that this situation is not ideal because it only add openmp support to the Buildroot toolchain, not the external ones; but a couple of packages already are in this situation.
Signed-off-by Samuel Martin <[email protected]>Cc "Yann E. MORIN" <[email protected]>
Regards,
Yann E. MORIN.
Quoted 23 lines
---
changesv4->v5:
- new patch--- package/opencv/opencv.mk | 2 ++ 1 file changed, 2 insertions(+)package/opencv/opencv.mk +2
-0@@ -250,6 +250,8 @@ else OPENCV_CONF_OPTS += -DWITH_OPENGL=OFF endif +OPENCV_CONF_OPTS += -DWITH_OPENMP=$(if $(BR2_GCC_ENABLE_OPENMP),ON,OFF) + ifeq ($(BR2_PACKAGE_OPENCV_WITH_PNG),y) OPENCV_CONF_OPTS += -DWITH_PNG=ON OPENCV_DEPENDENCIES += libpngSignature · 1 line
2.4.2
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 11/13 package/opencv: add gtk3 support
In reply to Samuel MartinFully rework the GTK support in OpenCV because it now supports gtk-2 and gtk-3 (but only one at the time).
Note that, in the build-system, the gtk support is only available when Qt support is disabled; so make sure the menuconfig reflects this.
---
changes v4->v5:
- new patch
--- package/opencv/Config.in | 38 +++++++++++++++++++++++++++++++------- package/opencv/opencv.mk | 10 ++++++++-- 2 files changed, 39 insertions(+), 9 deletions(-)
package/opencv/Config.in +31 -7
@@ -200,17 +200,41 @@ comment "gstreamer backend needs either Gstreamer-0.10 or Gstreamer-1" depends on !BR2_PACKAGE_GSTREAMER && !BR2_PACKAGE_GSTREAMER1 depends on BR2_USE_MMU # gstreamer -> libglib2 + +choice + prompt "gtk support" + # common dependencies to libgtk2 and libgtk3 + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_MMU + depends on BR2_ARCH_HAS_ATOMICS + # GTK check is disabled when Qt support is on in the OpenCV's cmake code + depends on !BR2_PACKAGE_OPENCV_WITH_QT + default BR2_PACKAGE_OPENCV_WITHOUT_GTK + help + GTK support is disabled if Qt support is enabled. + +config BR2_PACKAGE_OPENCV_WITHOUT_GTK + bool "none" + config BR2_PACKAGE_OPENCV_WITH_GTK - bool "gtk support" + bool "libgtk2" depends on BR2_PACKAGE_XORG7 - depends on BR2_USE_WCHAR # libgtk2 -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2 - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_MMU # libgtk2 -> glib2 - depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo - depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI select BR2_PACKAGE_LIBGTK2 +config BR2_PACKAGE_OPENCV_WITH_GTK3 + bool "libgtk3" + select BR2_PACKAGE_LIBGTK3 + +endchoice + +comment "gtk support needs wchar, threads, C++" + depends on !(BR2_USE_WCHAR || BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_INSTALL_LIBSTDCPP) + depends on BR2_USE_MMU + depends on BR2_ARCH_HAS_ATOMICS + config BR2_PACKAGE_OPENCV_WITH_JASPER bool "jpeg2000 support" select BR2_PACKAGE_JASPER
package/opencv/opencv.mk +8 -2
@@ -222,11 +222,17 @@ else OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF endif +ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK)$(BR2_PACKAGE_OPENCV_WITH_GTK3),y) +OPENCV_CONF_OPTS += -DWITH_GTK=ON ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK),y) -OPENCV_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=ON +OPENCV_CONF_OPTS += -DWITH_GTK_2_X=ON OPENCV_DEPENDENCIES += libgtk2 else -OPENCV_CONF_OPTS += -DWITH_GTK=OFF +OPENCV_CONF_OPTS += -DWITH_GTK_2_X=OFF +OPENCV_DEPENDENCIES += libgtk3 +endif +else +OPENCV_CONF_OPTS += -DWITH_GTK=OFF -DWITH_GTK_2_X=OFF endif ifeq ($(BR2_PACKAGE_OPENCV_WITH_JASPER),y)
Signature · 1 line
2.4.2
PATCH v5 11/13 package/opencv: add gtk3 support
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 6 lines
Fully rework the GTK support in OpenCV because it now supports gtk-2 and gtk-3 (but only one at the time).
Note that, in the build-system, the gtk support is only available when Qt support is disabled; so make sure the menuconfig reflects this.Signed-off-by Samuel Martin <[email protected]>
[--SNIP--]
Quoted 9 lines
package/opencv/Config.in +1
-0@@ -200,17 +200,41 @@ comment "gstreamer backend needs either Gstreamer-0.10 or Gstreamer-1" depends on !BR2_PACKAGE_GSTREAMER && !BR2_PACKAGE_GSTREAMER1 depends on BR2_USE_MMU # gstreamer -> libglib2 +
package/opencv/Config.in comment "gstreamer backend needs either Gstreamer-0.10 or Gstreamer-1" · line 213
Quoted 10 lines
package/opencv/Config.in +10
-0+choice + prompt "gtk support" + # common dependencies to libgtk2 and libgtk3 + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_MMU + depends on BR2_ARCH_HAS_ATOMICS + # GTK check is disabled when Qt support is on in the OpenCV's cmake code + depends on !BR2_PACKAGE_OPENCV_WITH_QT
No need for a default here, because 'none' is the first entry, so it is expressly the default.
Otherwise looks good:
But see a comment below...
Quoted 20 lines
package/opencv/Config.in +9
-7+ default BR2_PACKAGE_OPENCV_WITHOUT_GTK + help + GTK support is disabled if Qt support is enabled. + +config BR2_PACKAGE_OPENCV_WITHOUT_GTK + bool "none" + config BR2_PACKAGE_OPENCV_WITH_GTK - bool "gtk support" + bool "libgtk2" depends on BR2_PACKAGE_XORG7 - depends on BR2_USE_WCHAR # libgtk2 -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2 - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_MMU # libgtk2 -> glib2 - depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo - depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI select BR2_PACKAGE_LIBGTK2 +config BR2_PACKAGE_OPENCV_WITH_GTK3
package/opencv/Config.in comment "gstreamer backend needs either Gstreamer-0.10 or Gstreamer-1" · line 236
Quoted 10 lines
package/opencv/Config.in +10
-0+ bool "libgtk3" + select BR2_PACKAGE_LIBGTK3 + +endchoice + +comment "gtk support needs wchar, threads, C++" + depends on !(BR2_USE_WCHAR || BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_INSTALL_LIBSTDCPP) + depends on BR2_USE_MMU + depends on BR2_ARCH_HAS_ATOMICS
I like that you've made it a choice. But it is inconsistent with how we present the Qt/Qt5 options.
What about making it a single choice (with proper dependencies, of course), like so:
choice
prompt "GUI toolkit"
config BR2_PKG_OPENCV_GUI_NONE
bool "none"
config BR2_PKG_OPENCV_GUI_QT
bool "Qt4"
depends on BR2_PKG_QT
...
select ...
comment "Qt needs ..."
config BR2_PKG_OPENCV_GUI_QT5
bool "Qt5"
depends on BR2_PKG_QT5
...
select ...
comment "Qt5 needs ..."
config BR2_PKG_OPENCV_GUI_GTK
bool "gtk2"
depends on ...
select BR2_PKG_GTK
select ...
comment "gtk2 needs ..."
config BR2_PKG_OPENCV_GUI_GTK3
bool "gtk3"
depends on ...
select BR2_PKG_GTK3
select ...
comment "gtk3 needs ..."
endchoiceWhat's your opinion on that?
If you agree, then the series should look like:
package/opencv: add a choice for selecting the GUI toolkit
=> moves the existing Qt4 and gtk2 options in that choice
package/opencv: add qt5 support
=> adds Qt5 option to the GUI choice
package/opencv: add gtk3 to the GUI toolkit choice
=> adds gtk3 option to thw GUI choice
Of course, that's not a show-stopper, as my Reviewed-by tag implies.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 12/13 package/vlc: add opencv support
In reply to Samuel MartinThis change adds 2 patches (backported from upstream) to vlc fixing the build against opencv2 APIs.
This allows to select the minimal set of opencv modules when opencv support is enabled.
---
changes v4->v5:
- new patch
--- ...opencv_wrapper-use-opencv2-style-includes.patch | 34 ++++++++++++++++++++++ ...cv_example-add-missing-include-statements.patch | 27 +++++++++++++++++ package/vlc/Config.in | 2 ++ package/vlc/vlc.mk | 8 ++++- 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 package/vlc/0008-opencv_wrapper-use-opencv2-style-includes.patch create mode 100644 package/vlc/0009-opencv_example-add-missing-include-statements.patch
package/vlc/0008-opencv_wrapper-use-opencv2-style-includes.patch new file +34 -0
@@ -0,0 +1,34 @@ +From cc236e4652255902f2c2cee3b18f83367f35a8c7 Mon Sep 17 00:00:00 2001 +From: Samuel Martin <[email protected]> +Date: Sun, 24 May 2015 14:30:09 +0200 +Subject: [PATCH 8/9] opencv_wrapper: use opencv2-style includes + +If old opencv1-style legacy include directory is available, this change +becomes purely cosmetic (maybe will compile a bit faster). +It becomes an FTBFS fix when opencv1-style include directory is missing +(i.e. from opencv-3.0). + +Signed-off-by: Samuel Martin <[email protected]> +Signed-off-by: Jean-Baptiste Kempf <[email protected]> +--- + modules/video_filter/opencv_wrapper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules/video_filter/opencv_wrapper.c b/modules/video_filter/opencv_wrapper.c +index e36e1a5..5d74241 100644 +--- a/modules/video_filter/opencv_wrapper.c ++++ b/modules/video_filter/opencv_wrapper.c +@@ -39,8 +39,8 @@ + #include <vlc_image.h> + #include "filter_picture.h" + +-#include <cxcore.h> +-#include <cv.h> ++#include <opencv2/core/core_c.h> ++#include <opencv2/core/types_c.h> + + /***************************************************************************** + * Local prototypes +-- +2.4.2 +
package/vlc/0009-opencv_example-add-missing-include-statements.patch new file +27 -0
@@ -0,0 +1,27 @@ +From b82416d7000a993b33e903095a590fe32212a85e Mon Sep 17 00:00:00 2001 +From: Samuel Martin <[email protected]> +Date: Sun, 24 May 2015 14:30:10 +0200 +Subject: [PATCH 9/9] opencv_example: add missing #include statements + +Signed-off-by: Samuel Martin <[email protected]> +Signed-off-by: Jean-Baptiste Kempf <[email protected]> +--- + modules/video_filter/opencv_example.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules/video_filter/opencv_example.cpp b/modules/video_filter/opencv_example.cpp +index ae3af05..998f286 100644 +--- a/modules/video_filter/opencv_example.cpp ++++ b/modules/video_filter/opencv_example.cpp +@@ -41,6 +41,8 @@ + + #include <opencv2/core/core_c.h> + #include <opencv2/core/core.hpp> ++#include <opencv2/imgproc/imgproc_c.h> ++#include <opencv2/imgproc/imgproc.hpp> + #include <opencv2/objdetect/objdetect.hpp> + + /***************************************************************************** +-- +2.4.2 +
package/vlc/Config.in +2 -0
@@ -11,6 +11,8 @@ config BR2_PACKAGE_VLC depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 select BR2_PACKAGE_LIBVORBIS if BR2_PACKAGE_OPUS + select BR2_PACKAGE_OPENCV_LIB_IMGPROC if BR2_PACKAGE_OPENCV + select BR2_PACKAGE_OPENCV_LIB_OBJDETECT if BR2_PACKAGE_OPENCV help VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVD,
package/vlc/vlc.mk +7 -1
@@ -41,7 +41,6 @@ VLC_CONF_OPTS += \ --disable-projectm \ --disable-vsxu \ --disable-mtp \ - --disable-opencv \ --disable-mmal-codec \ --disable-mmal-vout \ --disable-dvdnav \
@@ -145,6 +144,13 @@ else VLC_CONF_OPTS += --disable-gles2 endif +ifeq ($(BR2_PACKAGE_OPENCV),y) +VLC_CONF_OPTS += --enable-opencv +VLC_DEPENDENCIES += opencv +else +VLC_CONF_OPTS += --disable-opencv +endif + ifeq ($(BR2_PACKAGE_OPUS),y) VLC_CONF_OPTS += --enable-opus VLC_DEPENDENCIES += libvorbis opus
Signature · 1 line
2.4.2
PATCH v5 12/13 package/vlc: add opencv support
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 27 lines
This change adds 2 patches (backported from upstream) to vlc fixing the build against opencv2 APIs.
This allows to select the minimal set of opencv modules when opencv support is enabled.Signed-off-by Samuel Martin <[email protected]>---
changesv4->v5:
- new patch--- ...opencv_wrapper-use-opencv2-style-includes.patch | 34 ++++++++++++++++++++++ ...cv_example-add-missing-include-statements.patch | 27 +++++++++++++++++ package/vlc/Config.in | 2 ++ package/vlc/vlc.mk | 8 ++++- 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 package/vlc/0008-opencv_wrapper-use-opencv2-style-includes.patch create mode 100644 package/vlc/0009-opencv_example-add-missing-include-statements.patchpackage/vlc/0008-opencv_wrapper-use-opencv2-style-includes.patch new file +2
-0@@ -0,0 +1,34 @@ +From cc236e4652255902f2c2cee3b18f83367f35a8c7 Mon Sep 17 00:00:00 2001 +From: Samuel Martin <[email protected]>
package/vlc/0008-opencv_wrapper-use-opencv2-style-includes.patch line 12
Quoted 10 lines
package/vlc/0008-opencv_wrapper-use-opencv2-style-includes.patch new file +10
-0+Date: Sun, 24 May 2015 14:30:09 +0200 +Subject: [PATCH 8/9] opencv_wrapper: use opencv2-style includes + +If old opencv1-style legacy include directory is available, this change +becomes purely cosmetic (maybe will compile a bit faster). +It becomes an FTBFS fix when opencv1-style include directory is missing +(i.e. from opencv-3.0). + +Signed-off-by: Samuel Martin <[email protected]> +Signed-off-by: Jean-Baptiste Kempf <[email protected]>
Since this patch is a backport from upstream, it would be nice to provide the link to the corresponding commit:
https://git.videolan.org/?p=vlc.git;a=commit;h=cc236e4652255902f2c2cee3b18f83367f35a8c7
[--SNIP--]
package/vlc/0009-opencv_example-add-missing-include-statements.patch line 7
Quoted 13 lines
package/vlc/0009-opencv_example-add-missing-include-statements.patch new file +7
-0@@ -0,0 +1,27 @@ +From b82416d7000a993b33e903095a590fe32212a85e Mon Sep 17 00:00:00 2001 +From: Samuel Martin <[email protected]> +Date: Sun, 24 May 2015 14:30:10 +0200 +Subject: [PATCH 9/9] opencv_example: add missing #include statements + +Signed-off-by: Samuel Martin <[email protected]> +Signed-off-by: Jean-Baptiste Kempf <[email protected]>
Ditto;
https://git.videolan.org/?p=vlc.git;a=commit;h=b82416d7000a993b33e903095a590fe32212a85eOtherwise, looks good:
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 13/13 package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3
In reply to Samuel MartinThe opencv plugin uses stuff from the now removed opencv's legacy module. Note that the configure script already correctly check the opencv version and disable the opencv plugin with opencv-3.x.
---
changes v4->v5:
- new patch
--- package/gstreamer1/gst1-plugins-bad/Config.in | 1 + 1 file changed, 1 insertion(+)
package/gstreamer1/gst1-plugins-bad/Config.in +1 -0
@@ -432,6 +432,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV bool "opencv" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BROKEN # gst1-plugin-opencv does not (yet) support opencv >=3.x select BR2_PACKAGE_OPENCV # Remove the following opencv modules when gstreamer fixes the # problem of including the old "cv.h" header
Signature · 1 line
2.4.2
PATCH v5 13/13 package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3
Samuel, All,
On 2015-06-07 12:26 +0200, Samuel Martin spake thusly:
Quoted 3 lines
The opencv plugin uses stuff from the now removed opencv's legacy module. Note that the configure script already correctly check the opencv version and disable the opencv plugin with opencv-3.x.
So, this patch should right after you bump the OpenCV version, not late in the series.
Note: it needs not be part of the bump-patch, because the build does not break, so it is OK to keep it as a separate patch.
Regards,
Yann E. MORIN.
Quoted 28 lines
Signed-off-by Samuel Martin <[email protected]>---
changesv4->v5:
- new patch--- package/gstreamer1/gst1-plugins-bad/Config.in | 1 + 1 file changed, 1 insertion(+)package/gstreamer1/gst1-plugins-bad/Config.in +1
-0@@ -432,6 +432,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV bool "opencv" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BROKEN # gst1-plugin-opencv does not (yet) support opencv >=3.x select BR2_PACKAGE_OPENCV # Remove the following opencv modules when gstreamer fixes the # problem of including the old "cv.h" headerSignature · 6 lines
2.4.2 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'