kumquat-buildroot/package/opencv4/Config.in
Bernd Kuhls fa36a6375d package/ffmpeg: bump version to 6.1.1
Quoting Changelog:
http://git.videolan.org/?p=ffmpeg.git;a=blob;f=Changelog;h=b357f428abce2110904944c4cc066b8e297bb895;hb=3153c441e1d980ff9931ed26a0e01b4e366ac521
"- ffmpeg now requires threading to be built"

Propagate threads to reserve dependencies.
Rebased patches.
Removed patch 0005 which is included in this release.

Removed support for libavresample which was removed upstream.
No legacy handling necessary for opencv3/4 because libavresample was
an optional dependency.

Added upstream patch 0005 to fix build error with arm.

Drop configure options which were removed upstream.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-05-09 18:56:24 +02:00

395 lines
11 KiB
Plaintext

menuconfig BR2_PACKAGE_OPENCV4
bool "opencv4"
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS # include dlfcn.h
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
depends on !BR2_PACKAGE_OPENCV3
select BR2_PACKAGE_ZLIB
help
OpenCV (Open Source Computer Vision) is a library of
programming functions for real time computer vision.
Note that the opencv_core module and the opencv_hal library
are always built and installed, not matter which other
modules are enabled below.
http://opencv.org/
if BR2_PACKAGE_OPENCV4
comment "OpenCV modules"
config BR2_PACKAGE_OPENCV4_LIB_CALIB3D
bool "calib3d"
select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
help
Include opencv_calib3d (camera calibration and 3d
reconstruction) module into the OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_DNN
bool "dnn"
# dnn needs fenv.h which is not provided by uclibc
depends on !BR2_TOOLCHAIN_USES_UCLIBC
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
select BR2_PACKAGE_OPENCV4_WITH_PROTOBUF
help
Include opencv_dnn (Deep Neural Networks) module into the
OpenCV build.
comment "dnn needs a glibc or musl toolchain"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_USES_UCLIBC
config BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
bool "features2d"
select BR2_PACKAGE_OPENCV4_LIB_FLANN
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_ML
help
Include opencv_features2d (2d features framework) module
into the OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_FLANN
bool "flann"
# opencv_core dependency is already enabled
help
Include opencv_flann (clustering and search in
multi-dimensional spaces) module into the OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
bool "highgui"
select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO
help
Include opencv_highgui (high-level gui and media i/o) module
into the OpenCV build.
if BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
choice
prompt "gui toolkit"
help
GUI toolkit to be used by the opencv_highgui module.
config BR2_PACKAGE_OPENCV4_GUI_NONE
bool "none"
config BR2_PACKAGE_OPENCV4_WITH_GTK
bool "gtk2"
depends on BR2_PACKAGE_LIBGTK2
comment "gtk2 support needs libgtk2"
depends on BR2_USE_MMU # libgtk2 -> glib2
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_LIBGTK2
config BR2_PACKAGE_OPENCV4_WITH_GTK3
bool "gtk3"
depends on BR2_PACKAGE_LIBGTK3
comment "gtk3 support needs libgtk3"
depends on BR2_USE_MMU # libgtk3 -> glib2
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_LIBGTK3
config BR2_PACKAGE_OPENCV4_WITH_QT5
bool "qt5"
depends on BR2_PACKAGE_QT5
select BR2_PACKAGE_QT5BASE_CONCURRENT
select BR2_PACKAGE_QT5BASE_GUI
select BR2_PACKAGE_QT5BASE_WIDGETS
help
Use Qt5 with base, concurrent, test, gui and widgets
components, as GUI toolkit.
comment "qt5 support needs qt5"
depends on !BR2_PACKAGE_QT5
endchoice
config BR2_PACKAGE_OPENCV4_WITH_OPENGL
bool "opengl support"
# OpenGL support done using Qt5OpenGL, so depends on WITH_QT5
depends on BR2_PACKAGE_OPENCV4_WITH_QT5
# OpenGL support requires Qt5OpenGL with GL support, not GLES
depends on BR2_PACKAGE_QT5_GL_AVAILABLE
depends on BR2_PACKAGE_HAS_LIBGL
select BR2_PACKAGE_QT5BASE_OPENGL
help
Enable OpenGL for UI.
comment "opengl support needs an OpenGL provider"
depends on BR2_PACKAGE_OPENCV4_WITH_QT5
depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || \
!BR2_PACKAGE_HAS_LIBGL
endif # BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
config BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
bool "imgcodecs"
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
help
Include opencv_imgcodecs (image codecs) module into the
OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_IMGPROC
bool "imgproc"
# opencv_core dependency is already enabled
help
Include opencv_imgproc (image processing) module into the
OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_ML
bool "ml"
# opencv_core dependency is already enabled
help
Include opencv_ml (machine learning) module into the OpenCV
build.
config BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
bool "objdetect"
depends on !BR2_TOOLCHAIN_USES_UCLIBC # dnn support
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # dnn support
# opencv_core dependency is already enabled
select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
select BR2_PACKAGE_OPENCV4_LIB_DNN
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_ML
help
Include opencv_objdetect (object detection) module into the
OpenCV build.
comment "objdetect needs a glibc or musl toolchain"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_USES_UCLIBC
config BR2_PACKAGE_OPENCV4_LIB_PHOTO
bool "photo"
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
help
Include opencv_photo (computational photography) module into
the OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_PYTHON
bool "python"
depends on BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
select BR2_PACKAGE_PYTHON_NUMPY
help
Include opencv_python module into the OpenCV build. No
python example is installed.
comment "python support needs a glibc or musl toolchain w/ gcc >= 9"
depends on BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_9 ||\
!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
config BR2_PACKAGE_OPENCV4_LIB_SHAPE
bool "shape"
# opencv_core dependency is already enabled
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_VIDEO
help
Include opencv_shape (shape descriptors and matchers) module
into the OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_STITCHING
bool "stitching"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # objdetect
depends on !BR2_TOOLCHAIN_USES_UCLIBC # objdetect
select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
help
Include opencv_stitching (images stitching) module into the
OpenCV build.
comment "stitching needs a glibc or musl toolchain"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_USES_UCLIBC
config BR2_PACKAGE_OPENCV4_LIB_SUPERRES
bool "superres"
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_VIDEO
help
Include opencv_superres (super resolution) module into the
OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_TS
bool "ts"
# opencv_core dependency is already enabled
select BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO
help
Include opencv_ts (test) module into the OpenCV build.
config BR2_PACKAGE_OPENCV4_LIB_VIDEOIO
bool "videoio"
select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
help
Include opencv_videoio (media i/o) module into the OpenCV
build.
config BR2_PACKAGE_OPENCV4_LIB_VIDEO
bool "video"
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
help
Include opencv_video (video analysis) module into the OpenCV
build.
config BR2_PACKAGE_OPENCV4_LIB_VIDEOSTAB
bool "videostab"
select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_PHOTO
select BR2_PACKAGE_OPENCV4_LIB_VIDEO
help
Include opencv_videostab (video stabilization) module into
the OpenCV build.
comment "Test sets"
config BR2_PACKAGE_OPENCV4_BUILD_TESTS
bool "build tests"
config BR2_PACKAGE_OPENCV4_BUILD_PERF_TESTS
bool "build performance tests"
comment "3rd party support"
config BR2_PACKAGE_OPENCV4_WITH_FFMPEG
bool "ffmpeg support"
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_SWSCALE
help
Use ffmpeg from the target system.
config BR2_PACKAGE_OPENCV4_WITH_GSTREAMER1
bool "gstreamer-1.x"
depends on BR2_USE_MMU # gstreamer1 -> libglib2
select BR2_PACKAGE_GSTREAMER1
select BR2_PACKAGE_GST1_PLUGINS_BASE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
help
Enable gstreamer support.
choice
prompt "jpeg2000 support"
help
Select the desired jpeg2000 library provider.
config BR2_PACKAGE_OPENCV4_JPEG2000_NONE
bool "none"
config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_JASPER
bool "jasper"
select BR2_PACKAGE_JASPER
help
Enable jpeg2000 support through jasper.
Note: this does not use the libjasper bundled with opencv,
but uses the libjasper package installed system-wide by
Buildroot.
config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_OPENJPEG
bool "openjpeg"
select BR2_PACKAGE_OPENJPEG
help
Enable jpeg2000 support through openjpeg.
Note: this does not use the openjpeg bundled with opencv,
but uses the openjpeg package installed system-wide by
Buildroot.
endchoice
config BR2_PACKAGE_OPENCV4_WITH_JPEG
bool "jpeg support"
select BR2_PACKAGE_JPEG
help
Use shared libjpeg from the target system.
config BR2_PACKAGE_OPENCV4_WITH_PNG
bool "png support"
select BR2_PACKAGE_LIBPNG
help
Use shared libpng from the target system.
config BR2_PACKAGE_OPENCV4_WITH_PROTOBUF
bool "protobuf support"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
select BR2_PACKAGE_PROTOBUF
help
Use shared protobuf from the target system.
config BR2_PACKAGE_OPENCV4_WITH_TBB
bool "tbb support"
depends on !BR2_TOOLCHAIN_USES_UCLIBC # tbb
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # tbb
select BR2_PACKAGE_TBB
help
Use shared tbb from the target system.
comment "tbb needs a glibc or musl toolchain"
depends on BR2_TOOLCHAIN_USES_UCLIBC
comment "tbb needs exception_ptr"
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_OPENCV4_WITH_TIFF
bool "tiff support"
select BR2_PACKAGE_TIFF
help
Use shared libtiff from the target system.
config BR2_PACKAGE_OPENCV4_WITH_V4L
bool "v4l support"
help
Enable Video 4 Linux support.
If the package libv4l is enabled, its support is
automatically enabled.
config BR2_PACKAGE_OPENCV4_WITH_WEBP
bool "webp support"
select BR2_PACKAGE_WEBP
help
Enable WebP support.
Use shared libwebp from the target system.
comment "Install options"
config BR2_PACKAGE_OPENCV4_INSTALL_DATA
bool "install extra data"
help
Install various data that is used by cv libraries and/or
demo applications, specifically for haarcascades and
lbpcascades features.
For further information: see OpenCV documentation.
endif # BR2_PACKAGE_OPENCV4
comment "opencv4 needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 4.8"
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8