diff --git a/generated/opencl_kernels_core.hpp b/generated/opencl_kernels_core.hpp new file mode 100644 index 0000000..e0628e7 --- /dev/null +++ b/generated/opencl_kernels_core.hpp @@ -0,0 +1,60 @@ +// This file is auto-generated. Do not edit! + +#include "opencv2/core/ocl.hpp" +#include "opencv2/core/ocl_genbase.hpp" +#include "opencv2/core/opencl/ocl_defs.hpp" + +#ifdef HAVE_OPENCL + +namespace cv +{ +namespace ocl +{ +namespace core +{ + +extern const struct ProgramEntry arithm; +extern ProgramSource arithm_oclsrc; +extern const struct ProgramEntry convert; +extern ProgramSource convert_oclsrc; +extern const struct ProgramEntry copymakeborder; +extern ProgramSource copymakeborder_oclsrc; +extern const struct ProgramEntry copyset; +extern ProgramSource copyset_oclsrc; +extern const struct ProgramEntry cvtclr_dx; +extern ProgramSource cvtclr_dx_oclsrc; +extern const struct ProgramEntry fft; +extern ProgramSource fft_oclsrc; +extern const struct ProgramEntry flip; +extern ProgramSource flip_oclsrc; +extern const struct ProgramEntry gemm; +extern ProgramSource gemm_oclsrc; +extern const struct ProgramEntry inrange; +extern ProgramSource inrange_oclsrc; +extern const struct ProgramEntry lut; +extern ProgramSource lut_oclsrc; +extern const struct ProgramEntry meanstddev; +extern ProgramSource meanstddev_oclsrc; +extern const struct ProgramEntry minmaxloc; +extern ProgramSource minmaxloc_oclsrc; +extern const struct ProgramEntry mixchannels; +extern ProgramSource mixchannels_oclsrc; +extern const struct ProgramEntry mulspectrums; +extern ProgramSource mulspectrums_oclsrc; +extern const struct ProgramEntry normalize; +extern ProgramSource normalize_oclsrc; +extern const struct ProgramEntry reduce; +extern ProgramSource reduce_oclsrc; +extern const struct ProgramEntry reduce2; +extern ProgramSource reduce2_oclsrc; +extern const struct ProgramEntry repeat; +extern ProgramSource repeat_oclsrc; +extern const struct ProgramEntry set_identity; +extern ProgramSource set_identity_oclsrc; +extern const struct ProgramEntry split_merge; +extern ProgramSource split_merge_oclsrc; +extern const struct ProgramEntry transpose; +extern ProgramSource transpose_oclsrc; +} +}} +#endif diff --git a/lutin_opencv-core.py b/lutin_opencv-core.py index 4f891b5..8614f81 100644 --- a/lutin_opencv-core.py +++ b/lutin_opencv-core.py @@ -106,21 +106,198 @@ def create(target, module_name): "-fvisibility=hidden", "-fvisibility-inlines-hidden", ]) - if target.config["mode"] == "release": - my_module.compile_flags('c++', "-DNDEBUG") - else: - my_module.compile_flags('c++', "-DDEBUG") - my_module.add_path(os.path.join(tools.get_current_path(__file__), "opencv", "modules", "core", "src")) - my_module.add_path(os.path.join(tools.get_current_path(__file__), "opencv", "modules", "core")) - my_module.add_path(os.path.join(tools.get_current_path(__file__), "opencv")) my_module.add_header_file( 'opencv/modules/core/include/*', recursive=True) my_module.add_module_depend([ + 'pthread', + 'm', + 'z', 'cxx', - 'pthread' ]) my_module.compile_version("C++", 2003) + my_module.add_path(os.path.join(tools.get_current_path(__file__), "generated")) + # generate dynamic file + generate_config_file(my_module) return my_module +def generate_config_file(my_module): + #-------------------------------------------------------------------------------------- + file_data = "/* Auto generate file with lutin */\n" + file_data+= "#pragma once\n" + file_data+= "\n" + #file_data+= "#define HAVE_OPENCV_CALIB3D\n" + file_data+= "#define HAVE_OPENCV_CORE\n" + #file_data+= "#define HAVE_OPENCV_FEATURES2D\n" + #file_data+= "#define HAVE_OPENCV_FLANN\n" + #file_data+= "#define HAVE_OPENCV_HIGHGUI\n" + #file_data+= "#define HAVE_OPENCV_IMGCODECS\n" + file_data+= "#define HAVE_OPENCV_IMGPROC\n" + #file_data+= "#define HAVE_OPENCV_ML\n" + #file_data+= "#define HAVE_OPENCV_OBJDETECT\n" + #file_data+= "#define HAVE_OPENCV_PHOTO\n" + #file_data+= "#define HAVE_OPENCV_SHAPE\n" + #file_data+= "#define HAVE_OPENCV_STITCHING\n" + #file_data+= "#define HAVE_OPENCV_SUPERRES\n" + #file_data+= "#define HAVE_OPENCV_VIDEO\n" + #file_data+= "#define HAVE_OPENCV_VIDEOIO\n" + #file_data+= "#define HAVE_OPENCV_VIDEOSTAB\n" + file_data+= "\n" + my_module.add_generated_header_file(file_data, "opencv2/opencv_modules.hpp") + #-------------------------------------------------------------------------------------- + file_data = "/* Auto generate file with lutin */\n" + file_data+= "#pragma once\n" + file_data+= "// OpenCV compiled as static or dynamic libs\n" + file_data+= "#define BUILD_SHARED_LIBS\n" + #file_data+= "// Compile for 'real' NVIDIA GPU architectures\n" + #file_data+= "#define CUDA_ARCH_BIN ""\n" + #file_data+= "// Create PTX or BIN for 1.0 compute capability\n" + #file_data+= "#define CUDA_ARCH_BIN_OR_PTX_10\n" + #file_data+= "// NVIDIA GPU features are used\n" + #file_data+= "#define CUDA_ARCH_FEATURES ""\n" + #file_data+= "// Compile for 'virtual' NVIDIA PTX architectures\n" + #file_data+= "#define CUDA_ARCH_PTX ""\n" + #file_data+= "// AVFoundation video libraries\n" + #file_data+= "#define HAVE_AVFOUNDATION\n" + #file_data+= "// V4L capturing support\n" + #file_data+= "#define HAVE_CAMV4L\n" + #file_data+= "// V4L2 capturing support\n" + #file_data+= "#define HAVE_CAMV4L2\n" + #file_data+= "// Carbon windowing environment\n" + #file_data+= "#define HAVE_CARBON\n" + #file_data+= "// AMD's Basic Linear Algebra Subprograms Library*/\n" + #file_data+= "#define HAVE_CLAMDBLAS\n" + #file_data+= "// AMD's OpenCL Fast Fourier Transform Library*/\n" + #file_data+= "#define HAVE_CLAMDFFT\n" + #file_data+= "// Clp support\n" + #file_data+= "#define HAVE_CLP\n" + #file_data+= "// Cocoa API\n" + #file_data+= "#define HAVE_COCOA\n" + #file_data+= "// C=\n" + #file_data+= "#define HAVE_CSTRIPES\n" + #file_data+= "// NVidia Cuda Basic Linear Algebra Subprograms (BLAS) API*/\n" + #file_data+= "#define HAVE_CUBLAS\n" + #file_data+= "// NVidia Cuda Runtime API*/\n" + #file_data+= "#define HAVE_CUDA\n" + #file_data+= "// NVidia Cuda Fast Fourier Transform (FFT) API*/\n" + #file_data+= "#define HAVE_CUFFT\n" + #file_data+= "// IEEE1394 capturing support\n" + #file_data+= "#define HAVE_DC1394\n" + #file_data+= "// IEEE1394 capturing support - libdc1394 v2.x\n" + #file_data+= "#define HAVE_DC1394_2\n" + #file_data+= "// DirectX\n" + #file_data+= "#define HAVE_DIRECTX\n" + #file_data+= "#define HAVE_DIRECTX_NV12\n" + #file_data+= "#define HAVE_D3D11\n" + #file_data+= "#define HAVE_D3D10\n" + #file_data+= "#define HAVE_D3D9\n" + #file_data+= "// DirectShow Video Capture library\n" + #file_data+= "#define HAVE_DSHOW\n" + #file_data+= "// Eigen Matrix & Linear Algebra Library\n" + #file_data+= "#define HAVE_EIGEN\n" + #file_data+= "// FFMpeg video library\n" + #file_data+= "#define HAVE_FFMPEG\n" + #file_data+= "// ffmpeg's libswscale\n" + #file_data+= "#define HAVE_FFMPEG_SWSCALE\n" + #file_data+= "// ffmpeg in Gentoo\n" + #file_data+= "#define HAVE_GENTOO_FFMPEG\n" + #file_data+= "// Geospatial Data Abstraction Library\n" + #file_data+= "#define HAVE_GDAL\n" + #file_data+= "// GStreamer multimedia framework\n" + #file_data+= "#define HAVE_GSTREAMER\n" + #file_data+= "// GTK+ 2.0 Thread support\n" + #file_data+= "#define HAVE_GTHREAD\n" + #file_data+= "// GTK+ 2.x toolkit\n" + #file_data+= "#define HAVE_GTK\n" + #file_data+= "// Define to 1 if you have the header file.\n" + #file_data+= "#define HAVE_INTTYPES_H\n" + #file_data+= "// Intel Perceptual Computing SDK library\n" + #file_data+= "#define HAVE_INTELPERC\n" + #file_data+= "// Intel Integrated Performance Primitives\n" + #file_data+= "#define HAVE_IPP\n" + #file_data+= "#define HAVE_IPP_ICV_ONLY\n" + #file_data+= "// Intel IPP Async\n" + #file_data+= "// #define HAVE_IPP_A\n" + #file_data+= "// JPEG-2000 codec\n" + #file_data+= "#define HAVE_JASPER\n" + #file_data+= "// IJG JPEG codec\n" + #file_data+= "#define HAVE_JPEG\n" + #file_data+= "// libpng/png.h needs to be included\n" + #file_data+= "#define HAVE_LIBPNG_PNG_H\n" + #file_data+= "// GDCM DICOM codec\n" + #file_data+= "#define HAVE_GDCM\n" + #file_data+= "// V4L/V4L2 capturing support via libv4l\n" + #file_data+= "#define HAVE_LIBV4L\n" + #file_data+= "// Microsoft Media Foundation Capture library\n" + #file_data+= "#define HAVE_MSMF\n" + #file_data+= "// NVidia Video Decoding API*/\n" + #file_data+= "#define HAVE_NVCUVID\n" + #file_data+= "// NVidia Video Encoding API*/\n" + #file_data+= "#define HAVE_NVCUVENC\n" + #file_data+= "// OpenCL Support\n" + #file_data+= "#define HAVE_OPENCL\n" + #file_data+= "#define HAVE_OPENCL_STATIC\n" + #file_data+= "#define HAVE_OPENCL_SVM\n" + #file_data+= "// OpenEXR codec\n" + #file_data+= "#define HAVE_OPENEXR\n" + #file_data+= "// OpenGL support*/\n" + #file_data+= "#define HAVE_OPENGL\n" + #file_data+= "// OpenNI library\n" + #file_data+= "#define HAVE_OPENNI\n" + #file_data+= "// OpenNI library\n" + #file_data+= "#define HAVE_OPENNI2\n" + #file_data+= "// PNG codec\n" + #file_data+= "#define HAVE_PNG\n" + file_data+= "// Posix threads (pthreads)\n" + file_data+= "#define HAVE_PTHREADS\n" + file_data+= "// parallel_for with pthreads\n" + file_data+= "#define HAVE_PTHREADS_PF\n" + #file_data+= "// Qt support\n" + #file_data+= "#define HAVE_QT\n" + #file_data+= "// Qt OpenGL support\n" + #file_data+= "#define HAVE_QT_OPENGL\n" + #file_data+= "// QuickTime video libraries\n" + #file_data+= "#define HAVE_QUICKTIME\n" + #file_data+= "// QTKit video libraries\n" + #file_data+= "#define HAVE_QTKIT\n" + #file_data+= "// Intel Threading Building Blocks\n" + #file_data+= "#define HAVE_TBB\n" + #file_data+= "// TIFF codec\n" + #file_data+= "#define HAVE_TIFF\n" + #file_data+= "// Unicap video capture library\n" + #file_data+= "#define HAVE_UNICAP\n" + #file_data+= "// Video for Windows support\n" + #file_data+= "#define HAVE_VFW\n" + #file_data+= "// V4L2 capturing support in videoio.h\n" + #file_data+= "#define HAVE_VIDEOIO\n" + #file_data+= "// Win32 UI\n" + #file_data+= "#define HAVE_WIN32UI\n" + #file_data+= "// XIMEA camera support\n" + #file_data+= "#define HAVE_XIMEA\n" + #file_data+= "// Xine video library\n" + #file_data+= "#define HAVE_XINE\n" + #file_data+= "// Define if your processor stores words with the most significant byte\n" + #file_data+= "// first (like Motorola and SPARC, unlike Intel and VAX).\n" + #file_data+= "#define WORDS_BIGENDIAN\n" + #file_data+= "// gPhoto2 library\n" + #file_data+= "#define HAVE_GPHOTO2\n" + #file_data+= "// VA library (libva)\n" + #file_data+= "#define HAVE_VA\n" + #file_data+= "// Intel VA-API/OpenCL\n" + #file_data+= "#define HAVE_VA_INTEL\n" + #file_data+= "// Lapack\n" + #file_data+= "#define HAVE_LAPACK\n" + #file_data+= "// FP16\n" + #file_data+= "#define HAVE_FP16\n" + #my_module.add_generated_header_file(file_data, "opencv2/cvconfig.h", True) + my_module.add_generated_header_file(file_data, "cvconfig.h", True) + + file_data = "/* Auto generate file with lutin */\n" + file_data+= "#pragma once\n" + my_module.add_generated_header_file(file_data, "custom_hal.hpp") + file_data = "\"generate with lutin build system ...\\n\"" + my_module.add_generated_header_file(file_data, "version_string.inc") + + + diff --git a/lutin_opencv-imgproc.py b/lutin_opencv-imgproc.py index 6c3821a..248544b 100644 --- a/lutin_opencv-imgproc.py +++ b/lutin_opencv-imgproc.py @@ -96,7 +96,6 @@ def create(target, module_name): "-Wno-delete-non-virtual-dtor", "-fdiagnostics-show-option", "-Wno-long-long", - #"-pthread", "-fomit-frame-pointer", "-msse", "-msse2", @@ -109,18 +108,10 @@ def create(target, module_name): "-fvisibility=hidden", "-fvisibility-inlines-hidden", ]) - if target.config["mode"] == "release": - my_module.compile_flags('c++', "-DNDEBUG") - else: - my_module.compile_flags('c++', "-DDEBUG") - my_module.add_path(os.path.join(tools.get_current_path(__file__), "opencv", "modules", "imgproc", "src")) - my_module.add_path(os.path.join(tools.get_current_path(__file__), "opencv", "modules", "imgproc")) - my_module.add_path(os.path.join(tools.get_current_path(__file__), "opencv")) my_module.add_header_file( "opencv/modules/imgproc/include/*", recursive=True) my_module.add_module_depend([ - 'cxx', 'opencv-core' ]) my_module.compile_version("C++", 2003) diff --git a/opencv b/opencv index b2698f2..92387b1 160000 --- a/opencv +++ b/opencv @@ -1 +1 @@ -Subproject commit b2698f24b07f6e62a2679edbc6745e7f0527d7a1 +Subproject commit 92387b1ef8fad15196dd5f7fb4931444a68bc93a