diff --git a/CMakeLists.txt b/CMakeLists.txt index fe44cd2..323c8b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -604,7 +604,7 @@ ocv_cmake_hook(POST_COMPILER_OPTIONS) # ---------------------------------------------------------------------------- # CHECK FOR SYSTEM LIBRARIES, OPTIONS, ETC.. # ---------------------------------------------------------------------------- -if(UNIX) +if(UNIX OR ESP32) if(NOT APPLE_FRAMEWORK OR OPENCV_ENABLE_PKG_CONFIG) if(CMAKE_CROSSCOMPILING AND NOT DEFINED ENV{PKG_CONFIG_LIBDIR} AND NOT DEFINED ENV{PKG_CONFIG_SYSROOT_DIR} AND NOT OPENCV_ENABLE_PKG_CONFIG diff --git a/README.md b/README.md index a9d2652..a46a0e0 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ cmake \ -DWITH_IPP=OFF \ -DWITH_TBB=OFF \ -DWITH_OPENMP=OFF \ --DWITH_PTHREADS_PF=OFF \ +-DWITH_PTHREADS_PF=ON \ -DWITH_QUIRC=OFF \ -DWITH_1394=OFF \ -DWITH_CUDA=OFF \ diff --git a/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/liblibpng.a b/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/liblibpng.a index a60399c..3b4a228 100644 Binary files a/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/liblibpng.a and b/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/liblibpng.a differ diff --git a/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/libzlib.a b/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/libzlib.a index 8e87dd9..3694252 100644 Binary files a/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/libzlib.a and b/esp32/examples/esp_opencv_tests/main/opencv/3rdparty/libzlib.a differ diff --git a/esp32/examples/esp_opencv_tests/main/opencv/libade.a b/esp32/examples/esp_opencv_tests/main/opencv/libade.a index 3c7f376..71e9cb7 100644 Binary files a/esp32/examples/esp_opencv_tests/main/opencv/libade.a and b/esp32/examples/esp_opencv_tests/main/opencv/libade.a differ diff --git a/esp32/examples/esp_opencv_tests/main/opencv/libopencv_core.a b/esp32/examples/esp_opencv_tests/main/opencv/libopencv_core.a index 6de666e..bbc433c 100644 Binary files a/esp32/examples/esp_opencv_tests/main/opencv/libopencv_core.a and b/esp32/examples/esp_opencv_tests/main/opencv/libopencv_core.a differ diff --git a/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgcodecs.a b/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgcodecs.a index 048a8af..ed1ae7e 100644 Binary files a/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgcodecs.a and b/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgcodecs.a differ diff --git a/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgproc.a b/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgproc.a index 425bec1..4e00c01 100644 Binary files a/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgproc.a and b/esp32/examples/esp_opencv_tests/main/opencv/libopencv_imgproc.a differ diff --git a/esp32/examples/esp_opencv_tests/main/opencv/opencv2/cvconfig.h b/esp32/examples/esp_opencv_tests/main/opencv/opencv2/cvconfig.h index 7e90d8d..a8a3796 100644 --- a/esp32/examples/esp_opencv_tests/main/opencv/opencv2/cvconfig.h +++ b/esp32/examples/esp_opencv_tests/main/opencv/opencv2/cvconfig.h @@ -116,10 +116,10 @@ #define HAVE_PNG /* Posix threads (pthreads) */ -/* #undef HAVE_PTHREAD */ +#define HAVE_PTHREAD /* parallel_for with pthreads */ -/* #undef HAVE_PTHREADS_PF */ +#define HAVE_PTHREADS_PF /* Qt support */ /* #undef HAVE_QT */ diff --git a/esp32/lib/opencv/3rdparty/liblibpng.a b/esp32/lib/opencv/3rdparty/liblibpng.a index a60399c..3b4a228 100644 Binary files a/esp32/lib/opencv/3rdparty/liblibpng.a and b/esp32/lib/opencv/3rdparty/liblibpng.a differ diff --git a/esp32/lib/opencv/3rdparty/libzlib.a b/esp32/lib/opencv/3rdparty/libzlib.a index 8e87dd9..3694252 100644 Binary files a/esp32/lib/opencv/3rdparty/libzlib.a and b/esp32/lib/opencv/3rdparty/libzlib.a differ diff --git a/esp32/lib/opencv/libade.a b/esp32/lib/opencv/libade.a index 3c7f376..71e9cb7 100644 Binary files a/esp32/lib/opencv/libade.a and b/esp32/lib/opencv/libade.a differ diff --git a/esp32/lib/opencv/libopencv_core.a b/esp32/lib/opencv/libopencv_core.a index 6de666e..bbc433c 100644 Binary files a/esp32/lib/opencv/libopencv_core.a and b/esp32/lib/opencv/libopencv_core.a differ diff --git a/esp32/lib/opencv/libopencv_imgcodecs.a b/esp32/lib/opencv/libopencv_imgcodecs.a index 048a8af..ed1ae7e 100644 Binary files a/esp32/lib/opencv/libopencv_imgcodecs.a and b/esp32/lib/opencv/libopencv_imgcodecs.a differ diff --git a/esp32/lib/opencv/libopencv_imgproc.a b/esp32/lib/opencv/libopencv_imgproc.a index 425bec1..4e00c01 100644 Binary files a/esp32/lib/opencv/libopencv_imgproc.a and b/esp32/lib/opencv/libopencv_imgproc.a differ diff --git a/esp32/lib/opencv/opencv2/cvconfig.h b/esp32/lib/opencv/opencv2/cvconfig.h index 7e90d8d..a8a3796 100644 --- a/esp32/lib/opencv/opencv2/cvconfig.h +++ b/esp32/lib/opencv/opencv2/cvconfig.h @@ -116,10 +116,10 @@ #define HAVE_PNG /* Posix threads (pthreads) */ -/* #undef HAVE_PTHREAD */ +#define HAVE_PTHREAD /* parallel_for with pthreads */ -/* #undef HAVE_PTHREADS_PF */ +#define HAVE_PTHREADS_PF /* Qt support */ /* #undef HAVE_QT */ diff --git a/esp32/scripts/build_opencv_for_esp32.sh b/esp32/scripts/build_opencv_for_esp32.sh index e695b22..19c18c7 100755 --- a/esp32/scripts/build_opencv_for_esp32.sh +++ b/esp32/scripts/build_opencv_for_esp32.sh @@ -40,7 +40,7 @@ else fi -CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Release -DESP32=ON -DBUILD_SHARED_LIBS=OFF -DCV_DISABLE_OPTIMIZATION=OFF -DWITH_IPP=OFF -DWITH_TBB=OFF -DWITH_OPENMP=OFF -DWITH_PTHREADS_PF=OFF -DWITH_QUIRC=OFF -DWITH_1394=OFF -DWITH_CUDA=OFF -DWITH_OPENCL=OFF -DWITH_OPENCLAMDFFT=OFF -DWITH_OPENCLAMDBLAS=OFF -DWITH_VA_INTEL=OFF -DWITH_EIGEN=OFF -DWITH_GSTREAMER=OFF -DWITH_GTK=OFF -DWITH_JASPER=OFF -DWITH_JPEG=OFF -DWITH_WEBP=OFF -DBUILD_ZLIB=ON -DBUILD_PNG=ON -DWITH_TIFF=OFF -DWITH_V4L=OFF -DWITH_LAPACK=OFF -DWITH_ITT=OFF -DWITH_PROTOBUF=OFF -DWITH_IMGCODEC_HDR=OFF -DWITH_IMGCODEC_SUNRASTER=OFF -DWITH_IMGCODEC_PXM=OFF -DWITH_IMGCODEC_PFM=OFF -DBUILD_LIST=${OPENCV_MODULES_LIST} -DBUILD_JAVA=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_apps=OFF -DBUILD_PACKAGE=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DCV_ENABLE_INTRINSICS=OFF -DCV_TRACE=OFF -DOPENCV_ENABLE_MEMALIGN=OFF -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_CMAKE_PATH}" +CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Release -DESP32=ON -DBUILD_SHARED_LIBS=OFF -DCV_DISABLE_OPTIMIZATION=OFF -DWITH_IPP=OFF -DWITH_TBB=OFF -DWITH_OPENMP=OFF -DWITH_PTHREADS_PF=ON -DWITH_QUIRC=OFF -DWITH_1394=OFF -DWITH_CUDA=OFF -DWITH_OPENCL=OFF -DWITH_OPENCLAMDFFT=OFF -DWITH_OPENCLAMDBLAS=OFF -DWITH_VA_INTEL=OFF -DWITH_EIGEN=OFF -DWITH_GSTREAMER=OFF -DWITH_GTK=OFF -DWITH_JASPER=OFF -DWITH_JPEG=OFF -DWITH_WEBP=OFF -DBUILD_ZLIB=ON -DBUILD_PNG=ON -DWITH_TIFF=OFF -DWITH_V4L=OFF -DWITH_LAPACK=OFF -DWITH_ITT=OFF -DWITH_PROTOBUF=OFF -DWITH_IMGCODEC_HDR=OFF -DWITH_IMGCODEC_SUNRASTER=OFF -DWITH_IMGCODEC_PXM=OFF -DWITH_IMGCODEC_PFM=OFF -DBUILD_LIST=${OPENCV_MODULES_LIST} -DBUILD_JAVA=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_apps=OFF -DBUILD_PACKAGE=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DCV_ENABLE_INTRINSICS=OFF -DCV_TRACE=OFF -DOPENCV_ENABLE_MEMALIGN=OFF -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_CMAKE_PATH}" ### configure and build opencv ### diff --git a/modules/core/src/parallel.cpp b/modules/core/src/parallel.cpp index 5bc1a2e..dd477a1 100644 --- a/modules/core/src/parallel.cpp +++ b/modules/core/src/parallel.cpp @@ -942,7 +942,7 @@ int cv::getNumberOfCPUs(void) #endif -// esp32 doesn't support sysconf call. FIXME: add support +// esp32 doesn't support sysconf call. FIXME: add support? Return always 2 (only for ESP32D0WD) #if !defined(_WIN32) && !defined(__APPLE__) && !defined(ESP32) static unsigned cpu_count_sysconf = (unsigned)sysconf( _SC_NPROCESSORS_ONLN ); diff --git a/modules/core/src/parallel_impl.cpp b/modules/core/src/parallel_impl.cpp index fde8ccf..958d7cd 100644 --- a/modules/core/src/parallel_impl.cpp +++ b/modules/core/src/parallel_impl.cpp @@ -7,7 +7,13 @@ #include "parallel_impl.hpp" #ifdef HAVE_PTHREADS_PF +#ifdef __cplusplus +extern "C" { +#endif #include +#ifdef __cplusplus +} +#endif #include