Skip to content

Latest commit

 

History

History
390 lines (368 loc) · 49.4 KB

CHANGELOG.md

File metadata and controls

390 lines (368 loc) · 49.4 KB
  • Add presets for OpenPose 1.6.0 (pull #898)
  • Add comparison against MKL in llvm/samples/polly/MatMulBenchmark.java
  • Add requires org.bytedeco.javacpp.${javacpp.platform.module} to load jnijavacpp with JPMS (pull #893)
  • Bundle configuration files required by AOT compilation with GraalVM (issue eclipse/deeplearning4j#7362)
  • Add support for Windows to presets for Qt (issue #862)
  • Fix JPMS modules for CUDA, ARPACK-NG, GSL, SciPy, Gym, MXNet (pull #880 and pull #881)
  • Build OpenBLAS with a TARGET even for DYNAMIC_ARCH to avoid SIGILL (issue eclipse/deeplearning4j#8747)
  • Upgrade presets for FFmpeg 4.3 (pull #891), Arrow 0.17.1, Hyperscan 5.3.0, MKL-DNN 0.21.5, DNNL 1.5, OpenBLAS 0.3.10, NumPy 1.19.0, SciPy 1.5.0, Gym 0.17.2, CUDA 11.0, cuDNN 8.0.0, NCCL 2.7.3, TensorFlow 1.15.3, TensorRT 7.1, ONNX 1.7.0 (pull #882), ONNX Runtime 1.3.1 (pull #887), Qt 5.15.0, Skia 1.68.3, and their dependencies
  • Add FullOptimization.h allowing users to fully optimize LLVM modules (pull #869)

April 14, 2020 version 1.5.3

  • Add presets for the new intensity_transform and rapid modules of OpenCV
  • Add support for Polly optimizer to presets for LLVM (pull #864)
  • Fix loading issue with opencv_dnn_superres (issue bytedeco/javacv#1396)
  • Add support for Windows to presets for TensorRT (pull #860)
  • Add dependency on presets for jnijavacpp and javacpp-platform artifact to fix issues at load time (issue bytedeco/javacv#1305)
  • Bundle the official Java API of ONNX Runtime via the jnionnxruntime library
  • Add CUDA-enabled build for ONNX Runtime via -gpu extension
  • Fix presets for LLVM 9.0 where libclang would fail to load on Windows (issue #830)
  • Add Windows build for ONNX Runtime, map the C++ API, and refine support for DNNL (pull #841)
  • Add convenient Py_AddPath() helper method to presets for CPython
  • Include OrcBindings.h and other missing header files for LLVM (issue #833)
  • Fix -platform artifacts on JPMS by commenting out requires to Android modules (issue #814 and pull #831)
  • Include timecode.h, among other missing header files, in the avutil module of FFmpeg (issue #822)
  • Map a few more inherited constructors missing from the presets for MKL-DNN and DNNL
  • Make sure clone() actually returns new PIX, FPIX, or DPIX objects with presets for Leptonica
  • Add opencv_python3 module and corresponding loader class with sample code to the presets for OpenCV (issue #756)
  • Bundle OpenSSL in the presets for CPython for consistency across platforms (issue #796)
  • Add presets for Arrow 0.16.0, SciPy 1.4.1 (issue #747), Gym 0.17.1, Hyperscan 5.2.1 (pull #849)
  • Upgrade presets for OpenCV 4.3.0, FFmpeg 4.2.2, Spinnaker 1.27.0.48, HDF5 1.12.0, MKL 2020.1, MKL-DNN 0.21.4, DNNL 1.3, OpenBLAS 0.3.9, CPython 3.7.7, NumPy 1.18.2, LLVM 10.0.0, CUDA 10.2, cuDNN 7.6.5, NCCL 2.6.4, MXNet 1.6.0, TensorFlow 1.15.2, TensorRT 7.0, ALE 0.6.1, Leptonica 1.79.0, Tesseract 4.1.1, ONNX Runtime 1.2.0, Qt 5.14.2, Skia 1.68.1, and their dependencies

November 5, 2019 version 1.5.2

  • Add presets for the cudacodec, cudafeatures2d, cudastereo, and cudabgsegm modules of OpenCV (issue #806)
  • Fix mapping of warpAffine and warpPerspective from opencv_cudawarping (issue #806)
  • Add linux-armhf and linux-arm64 builds for HDF5 (issue #794)
  • Add build for Mac OS X to presets for nGraph (issue #799)
  • Update presets for Visual Studio 2017 on Windows
  • Bundle the opencv_annotation, opencv_interactive-calibration, opencv_version, opencv_visualisation, and tesseract programs
  • Add linux-armhf, linux-arm64, linux-ppc64le, and windows-x86 builds for CPython, NumPy, and LLVM (pull #768)
  • Include audio_ops.h, list_ops.h, lookup_ops.h, and manip_ops.h for TensorFlow
  • Add necessary platform properties to build -gpu extensions on linux-arm64 and linux-ppc64le (issue #769)
  • Add packages missing from TensorFlow (issue #773)
  • Fix JPMS module names for OpenBLAS and Tesseract (issue #772)
  • Include env.h, kernels.h, and ops.h to allow creating custom operations using the C API of TensorFlow
  • Add profiles to parent pom.xml to detect host and use its artifacts, for example: mvn -Djavacpp.platform.custom -Djavacpp.platform.host ...
  • Add -platform-gpu, -platform-python, -platform-python-gpu, and -platform-redist artifacts for convenience
  • Add presets for librealsense2 2.29.0, DNNL 1.1, ONNX Runtime 0.5.0
  • Upgrade presets for OpenCV 4.1.2, FFmpeg 4.2.1, librealsense 1.12.4, MKL 2019.5, MKL-DNN 0.21.2, OpenBLAS 0.3.7, GSL 2.6, CPython 3.7.5, NumPy 1.17.3, LLVM 9.0.0, CUDA 10.1 Update 2, cuDNN 7.6.4, NCCL 2.4.8, MXNet 1.5.1, TensorFlow 1.15.0, TensorRT 6.0, ONNX 1.6.0 (pull #795), nGraph 0.26.0, Qt 5.13.1, cpu_features 0.4.1, and their dependencies

July 9, 2019 version 1.5.1

  • Add linux-arm64 CI builds for OpenCV, FFmpeg, OpenBLAS, FFTW, GSL, Leptonica, Tesseract, and others (issue bytedeco/javacv#1021)
  • Add convenient Tensor.create(boolean[] data, shape) factory methods for TensorFlow
  • Set correct default path to javacpp.platform.compiler for Android builds on Mac OS X (issue #733)
  • Call Loader.checkVersion() in all presets to log warnings with potentially incompatible versions of JavaCPP
  • Add missing mkl_gnu_thread preload in presets for OpenBLAS, MKL-DNN, and TensorFlow (pull #729)
  • Overload Tensor.create() factory methods for TensorFlow with handy long... shape (issue bytedeco/javacpp#301)
  • Add build for linux-arm64 to presets for OpenBLAS (pull #726)
  • Bundle complete binary packages of CPython itself for convenience (issue #712)
  • Fix and refine mapping for HoughLines, HoughLinesP, and HoughCircles (issue #717)
  • Add Python-enabled builds for TensorFlow via the -python and -python-gpu extensions
  • Map the C/C++ API supporting eager execution in the presets for TensorFlow
  • Load the symbols from the python library globally as often required by Python libraries (issue ContinuumIO/anaconda-issues#6401)
  • Link OpenCV with OpenBLAS/MKL to accelerate some matrix operations
  • Add presets for the quality module of OpenCV
  • Upgrade presets for OpenCV 4.1.0, libdc1394 2.2.6, MKL 2019.4, MKL-DNN 0.20, OpenBLAS 0.3.6, CPython 3.7.3, NumPy 1.16.4, Tesseract 4.1.0, CUDA 10.1 Update 1, cuDNN 7.6, MXNet 1.5.0.rc2, TensorFlow 1.14.0, ONNX 1.5.0, nGraph 0.22.0, Qt 5.13.0, cpu_features 0.3.0, and their dependencies

April 11, 2019 version 1.5

  • Include setlocale() in presets for Tesseract to work around issues with locale (issue #694)
  • Bundle the python program, executable via Loader.load() for convenience
  • Bundle Vector Mathematical Library (VML) in redist artifacts of the presets for MKL (issue #705)
  • Add org.bytedeco.tensorflow.StringArray.put(BytePointer) method to change character encoding (issue bytedeco/javacpp#293)
  • Bundle ffmpeg and ffprobe programs, executable via Loader.load() for convenience (issue bytedeco/javacv#307)
  • Add functions related to threading missing from presets for CPython
  • Lengthen Mat size and step getters to support long indexing (pull #700)
  • Rename groupId to "org.bytedeco" and use ModiTect to modularize all presets and comply with JPMS (pull #681)
  • Make nvinfer1::Weights::values settable in presets for TensorRT (issue #698)
  • Fix mapping of HoughLines, HoughLinesP, HoughCircles, and Subdiv2D from opencv_imgproc (issues bytedeco/javacv#913 and bytedeco/javacv#1146)
  • Add basic mapping of stdio streams to presets for GSL since it relies on them for serialization
  • Fix crash in Leptonica on CentOS 6 by downgrading to libpng 1.5.30 (issue #680)
  • Add GetComponentImagesExample, IteratorOverClassifierChoicesExample, OrientationAndScriptDetectionExample, and ResultIteratorExample for Tesseract (pull #673 and pull #675)
  • Add presets for NumPy 1.16.2, NCCL 2.4.2, nGraph 0.15.0 (pull #642), Qt 5.12.2 (pull #674), and cpu_features 0.2.0 (issue #526)
  • Upgrade presets for FFmpeg 4.1.3, libfreenect 0.5.7, HDF5 1.10.5, MKL 2019.3, MKL-DNN 0.18.1, LLVM 8.0.0, Leptonica 1.78.0, ARPACK-NG 3.7.0, CUDA 10.1, cuDNN 7.5, MXNet 1.4.0, TensorFlow 1.13.1, TensorRT 5.1, ONNX 1.4.1 (pull #676), LiquidFun, Skia 1.68.0, and their dependencies including NCCL
  • Build OpenCV without UI when environment variable HEADLESS=yes (pull #667)

January 11, 2019 version 1.4.4

  • Bundle the full version of MKL now that its new license permits it (issue #601)
  • Bundle libraries from raspberrypi/userland to avoid loading issues on linux-armhf devices other than Raspberry Pi (issue bytedeco/javacv#1118)
  • Bundle the new official Java/Scala API of MXNet via the jnimxnet library
  • Add QuickSpinC.h, SpinVideoC.h, and TransportLayer*C.h for Spinnaker (pull #660)
  • Add FlyCapture2Video.h and FlyCapture2VideoDef.h, and remove AVIRecorder.h for FlyCapture (pull #613)
  • Switch to Clang for Android builds with recent versions of the NDK (issue #562)
  • Include sys/sysinfo.h for system API of Linux
  • Include ucrtbase.dll when bundling the runtime for Visual Studio 2015 on Windows (issue bytedeco/javacv#1098)
  • Add support for N-dimensional arrays to opencv_core.Mat.createIndexer() (pull #647)
  • Add for CvMat, IplImage, and PIX, helper create(..., Pointer data) factory methods that prevent premature deallocation (issue bytedeco/javacpp#272 and issue bytedeco/javacv#1101)
  • Enable x265 multilib depth support at 8, 10, and 12 bits for FFmpeg (pull #619)
  • Include all header files from Python.h in presets for CPython
  • Fix mapping of initCameraMatrix2D, calibrateCamera, and stereoCalibrate functions from opencv_calib3d
  • Build OpenCV with pthreads instead of OpenMP or GCD due to thread-safety and usability issues (issue bytedeco/javacv#396)
  • Include IR, optimizer, and version converter for ONNX (pull #622)
  • Add build for Mac OS X to presets for ONNX (issue #638)
  • Allow MKL-DNN to link with the full version of MKL at runtime (issue #629)
  • Add builds for linux-mips64el to presets for ARToolKitPlus, Chilitags, flandmark, OpenBLAS, and FFTW (pull #637)
  • Update sample code for GSL with a more complex example (issue #636)
  • Fix CUDA build for OpenCV on Mac OS X missing libopencv_cudev.dylib (issue #626)
  • Upgrade presets for OpenCV 4.0.1, FFmpeg 4.1, FlyCapture 2.13.3.31, Spinnaker 1.19.0.22, HDF5 1.10.4, MKL 2019.1, MKL-DNN 0.17.2, OpenBLAS 0.3.5, LLVM 7.0.1, Leptonica 1.77.0, Tesseract 4.0.0, cuDNN 7.4, MXNet 1.4.0.rc0, TensorFlow 1.12.0, and their dependencies

October 15, 2018 version 1.4.3

  • Keep globally shared dummy deallocator for TF_Tensor out of PointerScope
  • Add build for linux-mips64el to presets for OpenCV (pull #621)
  • Remove calls to deprecated functions from sample code for FFmpeg (pull #323)
  • Call Pointer.setNull() in custom deallocators for the C API of TensorFlow to prevent double free from occurring
  • Add profiles to parent pom.xml that allow multiple platforms: mvn -Djavacpp.platform.none -Djavacpp.platform.linux-x86_64 -Djavacpp.platform.windows-x86_64 ...
  • Add support for Windows to presets for LiquidFun (pull #536) and MXNet (pull #309)
  • Add CUDA-enabled build for MXNet via -gpu extension (pull #609)
  • Prevent MKL-DNN from compiling code with -march=native (pull #618)
  • Add an RPATH to libmkldnn.so.0 to avoid loading issues on Linux (issue deeplearning4j/deeplearning4j#6366)
  • Fix logic in tensorflow.Tensor.createIndexer() to support scalar tensors
  • Bundle libgomp.so.1 in JAR file of MKL-DNN for Linux
  • Enable OpenMP for MKL-DNN also on Mac and Windows by building with GCC
  • Fix loading order of runtime libraries for Visual Studio 2015 on Windows (issue #606)
  • Add methods overloaded with PointerPointer for MKL-DNN (issue bytedeco/javacpp#251)
  • Bundle native resources (header files and import libraries) of MKL-DNN
  • Make MSBuild compile more efficiently on multiple processors (pull #599)
  • Add samples for Clang (pull #598)
  • Include tag_constants.h, signature_constants.h, graph_runner.h, shape_refiner.h, python_api.h, and enable Python API for TensorFlow (issue #602)
  • Add presets for Spinnaker 1.15.x (pull #553), CPython 3.6.x, ONNX 1.3.0 (pull #547)
  • Define std::vector<tensorflow::OpDef> type to OpDefVector for TensorFlow
  • Link HDF5 with zlib on Windows also (issue deeplearning4j/deeplearning4j#6017)
  • Enable MKL-DNN for MXNet and TensorFlow
  • Upgrade presets for OpenCV 3.4.3, FFmpeg 4.0.2, HDF5 1.10.3, MKL 2019.0, MKL-DNN 0.16, OpenBLAS 0.3.3, ARPACK-NG 3.6.3, LLVM 7.0.0, Tesseract 4.0.0-rc2, CUDA 10.0, cuDNN 7.3, MXNet 1.3.0, TensorFlow 1.11.0, TensorRT 5.0, and their dependencies
  • Fix loading issue with opencv_cudaobjdetect and opencv_cudaoptflow on Windows (issue #592)

July 17, 2018 version 1.4.2

  • Fix FFmpeg build of libvpx with Linux on ARM (issue #586)
  • Enable MediaCodec acceleration for FFmpeg on Android (pull #589)
  • Include c_api_internal.h for TensorFlow (issue #585)
  • Build all presets on CentOS 6 with Developer Toolset 6 and move almost all Linux builds to CentOS 6
  • Fix functions from facemark.hpp and face_alignment.hpp that crash when called with cv::Mat objects
  • Virtualize TensorBuffer and make constructor with helper method in Tensor public to allow zero-copy
  • Add factory methods for TF_Status, TF_Buffer, TF_Tensor, TF_SessionOptions, TF_Graph, TF_ImportGraphDefOptions, and TF_Session that register deallocators
  • Bundle the libraries of CUDA and cuDNN, allowing OpenCV, Caffe, and TensorFlow to use GPUs with no CUDA installation
  • Make it possible to set the TF_Buffer::data field for C API of TensorFlow
  • Add openblas_nolapack class to make it easier to load BLAS libraries missing LAPACK such as MKLML
  • Map instances of google::protobuf::Map to access more of TensorFlow's configuration (issue #533)
  • Fix presets for OpenBLAS failing to load MKL when symbolic links are enabled on Windows
  • Define CV__LEGACY_PERSISTENCE to get back functions for KeyPointVector and DMatchVector (issue bytedeco/javacv#1012)
  • Skip by default OpenBLAS functions missing from MKL 2017
  • Fix presets for OpenBLAS on linux-ppc64le not bundling correct libraries (issue deeplearning4j/deeplearning4j#5447)
  • Fix CUDA build for TensorFlow on Windows (pull #567)
  • Disable optimized kernels of OpenBLAS on iOS as they return incorrect results (issue #571)
  • Get exception messages from H5::Exception for HDF5 (issue deeplearning4j/deeplearning4j#5379)
  • Add more samples for TensorFlow including a complete training example (pull #563)
  • Add helper for PIX, FPIX, and DPIX of Leptonica, facilitating access to image data of Tesseract (issue #517)
  • Add presets for the NVBLAS, NVGRAPH, NVRTC, and NVML modules of CUDA (issue deeplearning4j/nd4j#2895)
  • Link OpenBLAS with -Wl,-z,noexecstack on linux-armhf as required by the JDK (issue deeplearning4j/libnd4j#700)
  • Include textDetector.hpp from the opencv_text module
  • Include feature.pb.h, example.pb.h, record_reader.h, and record_writer.h for TensorFlow (issue tensorflow/tensorflow#17390)
  • Enhance presets for ALE with access to theOSystem, etc (issue #551)
  • Add presets for the saliency module of OpenCV (pull #555)
  • Add build for linux-arm64 to presets for FFmpeg (pull #556)
  • Add support for Windows to presets for TensorFlow (issue #111)
  • Add Android utility classes from the official Java API of OpenCV and TensorFlow (issue #549)
  • Update build for FFmpeg on Raspbian Stretch (pull #548)
  • Add presets for MKL-DNN 0.15 and TensorRT 4.0
  • Fix build for FFmpeg on android-x86 and android-x86_64 platforms (issue bytedeco/javacv#945)
  • Upgrade presets for OpenCV 3.4.2, FFmpeg 4.0.1, HDF5 1.10.2, MKL 2018.3, OpenBLAS 0.3.0, ARPACK-NG 3.6.1, FFTW 3.3.8, GSL 2.5, LLVM 6.0.1, Leptonica 1.76.0, Tesseract 4.0.0-beta.3 (issue #385), Caffe 1.0, CUDA 9.2, MXNet 1.2.1.rc1, TensorFlow 1.9.0, and their dependencies

March 29, 2018 version 1.4.1

  • Disable unneeded error messages from LibTIFF in presets for Leptonica (issue deeplearning4j/DataVec#518)
  • Bundle the official Java APIs of OpenCV and TensorFlow, via the opencv_java and tensorflow_cc modules
  • Correct loading order of mkl_core to fix MKL issues on Windows (issue deeplearning4j/deeplearning4j#4776)
  • Add presets for the aruco, bgsegm, img_hash, phase_unwrapping, plot, structured_light, tracking, and xphoto modules of OpenCV (issue #319)
  • Add bindings for b2DynamicTree::Query and RayCast for LiquidFun (pull #531)
  • Add support for Windows to presets for LLVM (pull #530)
  • Add builds for android-arm64 and android-x86_64 platforms (issue #52)
  • Fix x265 encoding with FFmpeg on Android (issue bytedeco/javacv#866)
  • Add presets for ARPACK-NG, CMINPACK
  • Add iOS builds for OpenCV, OpenBLAS, and Skia (pull #525)
  • Let GSL link with OpenBLAS, MKL, Accelerate, etc automatically instead of GSL CBLAS (issue #18)
  • Append @NoException annotation to presets for libdc1394, libfreenect, MKL, OpenBLAS, FFTW, GSL, Leptonica, CUDA, and system APIs to reduce unneeded C++ overhead
  • Fix mapping of fftwf_iodim and fftwf_iodim64 for FFTW (issue #523)
  • Add support for iOS and Accelerate to presets for OpenBLAS (pull #515)
  • Add "org.bytedeco.javacpp.openblas.load" system property to use libraries from Accelerate, etc (pull #444)
  • Upgrade presets for OpenCV 3.4.1, FFmpeg 3.4.2, Leptonica 1.75.3, cuDNN 7.1, MXNet 1.1.0, TensorFlow 1.7.0-rc1, and their dependencies
  • Include facemark.hpp, facemarkLBF.hpp, facemarkAAM.hpp, face_alignment.hpp from the opencv_face module
  • Add AxpyLayer to presets for Caffe (pull #508)

January 16, 2018 version 1.4

  • Fix some integer types in HDF5 being mistakenly mapped to smaller integer types
  • Remove the need for empty artifacts of unsupported platforms (issue #434)
  • Link jnivideoInputLib.dll statically to avoid missing dependencies (issue bytedeco/javacv#864)
  • Add "org.bytedeco.javacpp.openblas.nomkl" system property to let users disable MKL easily
  • Add initial set of CUDA bindings for OpenCV (pull #416)
  • Add CUDA/OpenCL-enabled builds for OpenCV, Caffe, and TensorFlow via -gpu extension (issue bytedeco/javacv#481)
  • Enable NVIDIA CUDA, CUVID, and NVENC acceleration for FFmpeg (pull #492)
  • Include message_lite.h, checkpoint_reader.h, saver.pb.h, meta_graph.pb.h, and loader.h for TensorFlow (issue #494)
  • Add getString() helper methods to CXString, CXTUResourceUsageKind, and CXEvalResult for clang (issue bytedeco/javacpp#51)
  • Add support for Mac OS X and Windows to presets for librealsense (issue #447)
  • Enable MMAL and OpenMAX acceleration for FFmpeg on linux-armhf (pull #388)
  • Enable V4L2 for OpenCV on ARM platforms as well (issue bytedeco/javacv#850)
  • Enable Intel QSV acceleration via libmfx for FFmpeg (pull #485)
  • Add support for Mac OS X and Windows to presets for libfreenect2 (issue bytedeco/javacv#837)
  • Enable VisualOn AMR-WB encoder library support for FFmpeg (pull #487)
  • Use native threads for FFmpeg on Windows to prevent deadlocks with pthreads (pull #481)
  • Add cross-compilation support for linux-ppc64le (pull #471)
  • Fix definitions of fftw_iodim and fftw_iodim64 for FFTW (issue #466)
  • Add Mat(Point) and Mat(Scalar) constructors to OpenCV for convenience (issue bytedeco/javacv#738)
  • Include the libavutil/time.h for FFmpeg (issue bytedeco/javacv#735)
  • Map AVERROR() for error codes from errno.h used by FFmpeg (pull #459)
  • Use long instead of int for constants starting with AV_CH_LAYOUT_ in avutil (pull #455)
  • Build FFmpeg with FreeType, enabling the drawtext filter (pull #452), and support for Opus (pull #457)
  • Enable cuDNN support for Caffe by default (issue #187)
  • Use the new BUILD_PATH environment variable passed by the javacpp plugin to the cppbuild.sh script files
  • Let presets pick up include or link paths from cached resources (pull #101)
  • Update presets for Visual Studio 2015 (issue #298)
  • Reuse the presets for HDF5 and OpenBLAS with Caffe and MXNet
  • Replace the exec-maven-plugin with the javacpp plugin itself to execute the cppbuild.sh script files
  • Link TensorFlow statically with cudart to avoid dependency on CUDA (issue #396)
  • Add missing call to Loader.load() in helper class for opencv_ml (issue bytedeco/javacv#638)
  • Work around issues with TensorFlow on some versions of Mac OS X (issue #335)
  • Upgrade presets for OpenCV 3.4.0, FFmpeg 3.4.1, FlyCapture 2.11.3.121 (pull #424), libdc1394 2.2.5, librealsense 1.12.1, Chilitags, HDF5 1.10.1, OpenBLAS 0.2.20, FFTW 3.3.7, GSL 2.4, LLVM 5.0.1 (pull #404), Leptonica 1.74.4, Tesseract 3.05.01, Caffe 1.0, CUDA 9.1, cuDNN 7.0, MXNet 1.0.0, TensorFlow 1.5.0-rc1, and their dependencies
  • Add presets for libfreenect2 (pull #340), MKL 2018.1 (issue #112), libpostal 1.1-alpha (pull #502), The Arcade Learning Environment 0.6.0, LiquidFun (pull #356), Skia (pull #418), and system APIs (Linux, Mac OS X, and Windows)
  • Fix the FlyCapture2 module for some versions on Windows (issue #337)
  • Add functions missing from the presets of MXNet (issue #332)
  • Add presets for the text module of OpenCV 3.x (pull #333)

December 7, 2016 version 1.3

  • Fix FFmpeg builds on ARM when not using a cross compiler (issue #322)
  • Add blas_extra.h to presets for OpenBLAS, containing blas_set_num_threads() and blas_get_vendor() functions
  • Introduce platform artifacts that depend on binaries for all available platforms and work with any build system (sbt, Gradle, M2Eclipse, etc)
  • Map more functions of the OpenCV Transparent API with UMat and UMatVector parameters (issue bytedeco/javacv#518)
  • Add support for android-arm and android-x86 platforms to TensorFlow presets (pull #297)
  • Keep a reference of tensorflow.SessionOptions in AbstractSession to prevent premature deallocation (pull #297)
  • Enable CUDA in cppbuild.sh script for TensorFlow (issue #294)
  • Bundle libgomp.so.1 in JAR files of OpenCV for the sake of some Linux distributions (issue bytedeco/javacv#436)
  • Fix linux-armhf and linux-ppc64le builds for all presets (pull #279)
  • Fix libdc1394 not properly linking with libusb-1.0 on Mac OS X (issue bytedeco/javacv#501)
  • Add presets for the bioinspired module of OpenCV 3.1 (pull #282)
  • Include tensorflow/core/graph/dot.h header file from TensorFlow (pull #272)
  • Add presets for librealsense, HDF5, and OpenBLAS/MKL (issue #112)
  • Make Caffe work on CPU-only machines (issue #219)
  • Fix loading issue with opencv_face (issue bytedeco/javacv#470)
  • Fix presets for CUDA on the linux-ppc64le platform
  • Upgrade presets for FFmpeg 3.2.1, FFTW 3.3.5, GSL 2.2.1, LLVM 3.9.0, CUDA 8.0, cuDNN 5.1, Caffe, MXNet, TensorFlow 0.11.0, and their dependencies
  • Set default options in tensorflow/cppbuild.sh to prevent console reads during build
  • Add Tensor.createStringArray() method to access DT_STRING data (issue #249)
  • Fix Javadoc links for externally referenced classes
  • Work around build issues for TensorFlow on some Linux distributions (issue bazelbuild/bazel#1322)
  • Fix cppbuild.sh script to build properly FFmpeg from source on Windows
  • Stop using Zeranoe FFmpeg builds, often not available for release versions (issue #225)
  • Add linux-ppc64le to cppbuild.sh scripts of OpenCV, FFmpeg, Leptonica, and Tesseract

May 15, 2016 version 1.2

  • Build libdc1394 for the Windows platform as well (issue bytedeco/procamcalib#4)
  • Lower Maven prerequisite in the pom.xml file to 3.0 (issue bytedeco/javacpp#93)
  • Include the Descriptor and Message APIs in the presets for Caffe (issue #196)
  • Prevent creating text relocations for shared libraries on Android (issue bytedeco/javacv#245)
  • Make sure to include only native libraries in platform specific JAR files (pull bytedeco/javacpp#89)
  • Execute the cppbuild.sh scripts within the Maven build lifecycle, can be skipped with -Djavacpp.cppbuild.skip (pull #175)
  • Fix Caffe crashing in GPU mode: Do not define CPU_ONLY (issue #147)
  • Make OpenBLAS build for Caffe more generic (issue #154)
  • Include missing graph_constructor.h header file from the tensorflow module (issue #165)
  • Add missing GraphDefBuilder.Options.WithAttr() methods from the tensorflow module (issue #160)
  • Add linux-armhf platform to the cppbuild.sh scripts of OpenCV, FFmpeg, etc (pull #177)
  • Add support for Motion JPEG to the minimal configuration proposed for FFmpeg in the cppbuild.sh file
  • Make mvn -Djavacpp.platform=... and mvn -Djavacpp.platform.dependency=... commands work correctly
  • Add presets for the dnn module of OpenCV 3.1 (issue #145)
  • Prepend "javacpp." to all properties associated with Maven in the pom.xml files to avoid name clashes
  • Add a Mat(CvArr arr) constructor for convenience (issue bytedeco/javacv#317)
  • Fix loading issue with opencv_stitching and opencv_xfeatures2d (issue bytedeco/javacv#316, issue bytedeco/javacv#336)
  • Virtualize all Solver classes from Caffe (issue #143)
  • Work around GSL not loading on Android (issue bytedeco/javacpp#55)
  • Fix Android builds of FFmpeg, FFTW, GSL, Leptonica, and Tesseract causing errors under Mac OS X (issue #45)
  • Avoid versioning of FFTW and GSL libraries, preventing them from working on Android (issue #127)
  • Upgrade presets for OpenCV 3.1.0, FFmpeg 3.0.2, OpenSSL 1.0.2h, x265 1.9, FlyCapture 2.9.3.43, libdc1394 2.2.4, videoInput, GSL 2.1, LLVM 3.8.0, Leptonica 1.73, Tesseract 3.04.01, cuDNN 5, and Caffe rc3, including the latest versions of their dependencies (issue bytedeco/javacpp#55)
  • Add presets for MXNet and TensorFlow 0.8.0 (issue #111)
  • Virtualize opencv_videostab.IFrameSource to let us implement it in Java (issue bytedeco/javacv#277)
  • Fix MinGW-w64 builds with recent versions of GCC 5.x and potential issue with using "w32threads" for FFmpeg
  • Add missing StatModel.loadXXX() methods in the opencv_ml module (issue #109)
  • Define commonly used Caffe std::vector types (DatumVector, FloatCallbackVector, and DoubleCallbackVector) for ease of use and performance reasons
  • Fix the cppbuild.sh script for FFmpeg, failing to build x264 and OpenH264 properly on Windows

October 25, 2015 version 1.1

  • Build the Maven artifacts for Linux in a CentOS 6 Docker container, for maximum compatibility (issue #22)
  • Cache files downloaded by cppbuild.sh in the downloads subdirectory to prevent having to redownload everything after a clean
  • Add the clang module to the presets for LLVM
  • Propose for FFmpeg in the cppbuild.sh file a minimal configuration to support MPEG-4 streams with H.264 and AAC
  • Add the non-GPL OpenH264 as an alternative H.264 encoder to x264 in FFmpeg
  • Hack together log_callback.h to be able to redirect to Java log messages from FFmpeg
  • Pick up OLDCC, OLDCXX, and OLDFC environment variables in cppbuild.sh and platform.oldcompiler system property in Maven to build with it libraries that can tolerate an older version of the C/C++ compiler on Linux
  • Upgrade all Maven dependencies and plugins to latest versions, thus bumping minimum requirements to Java SE 7, Android 4.0, and Maven 3.0
  • Provide cppbuild.sh script for Caffe that includes all dependencies (pull #77)
  • Upgrade presets for Caffe, CUDA 7.5, cuDNN 3, FFmpeg 2.8.1, Speex 1.2rc2, x265 1.8, FlyCapture 2.8.3.1, libfreenect 0.5.3, LLVM 3.7.0, Tesseract 3.04
  • Include motion_vector.h, fifo.h, and audio_fifo.h header files in the avutil module of FFmpeg (issue #79)
  • Add presets for Chilitags, thanks to Chris Walters for the financial contribution
  • Let users choose the runtime type of layer_by_name() from FloatNet or DoubleNet in caffe (issue bytedeco/javacpp#25)
  • Add presets for the face, optflow, and xfeatures2d modules of OpenCV 3.0 (issue bytedeco/javacv#196, issue bytedeco/javacv#239, issue #54)
  • Switch to GCC 4.9 by default on Android, probably dropping support for Android 2.2, because GCC 4.6 has issues with OpenMP (issue bytedeco/javacv#179)
  • Resolve missing dependency for GSL on windows-x86 by linking statically whatever it needs from libgcc_s_dw2-1.dll

July 11, 2015 version 1.0

  • Build OpenCV, GSL, Leptonica, and Tesseract from source code on all platforms for better consistency in functionality across platforms
  • Add presets for CUDA 7.0 (including cuBLAS, cuDNN, cuFFT, cuRAND, cuSOLVER, cuSPARSE, and NPP)
  • Offer the Apache License, Version 2.0, as a new choice of license, in addition to the GPLv2 with Classpath exception
  • Add libvpx in the cppbuild.sh script for FFmpeg to support the WebM format (issue #33)
  • Upgrade presets for OpenCV 3.0.0, FFmpeg 2.7.1, OpenSSL 1.0.2d, x265 1.7, Leptonica 1.72, LLVM 3.6.1, and the latest of Caffe
  • Define commonly used OpenCV std::vector types (PointVector, Point2fVector, Point2dVector, SizeVector, RectVector, KeyPointVector, DMatchVector) for ease of use and performance reasons
  • Map cv::saturate_cast<>() in a more meaningful way (issue #53) and name these functions more consistently
  • In addition to Leptonica and Tesseract, use only the officially supported GCC compiler for FFmpeg, FFTW, and GSL under Windows as well, to prevent compatibility issues (issue bytedeco/javacv#137)
  • Make flycapture/cppbuild.sh fail if FlyCapture is not found installed on the system (issue #46)
  • Patch libdc1394, libdcfreenect, FFTW, GSL, Leptonica and Tesseract with missing @rpath needed by Mac OS X (issue #46)

April 4, 2015 version 0.11

  • Remove unneeded @Opaque types from gsl and replace them with their definitions whose names end with "_struct"
  • Segregate methods using java.awt classes into the new Java2DFrameConverter class of JavaCV (issue #12)
  • Emphasize the need to install separately the parent pom.xml file (issue #42)
  • Make CMake configurable via CMAKE variable in cppbuild.sh (pull #41)
  • Add presets for Caffe (issue #34)
  • Let createBuffer() return UByteIndexer and UShortIndexer when appropriate for unsigned data types
  • Remove the need to set manually the platform.dependency system property for downstream modules without a cppbuild.sh file
  • Fix failing cppbuild.sh for FFmpeg on Ubuntu (issue #32)
  • Disable iconv, XCB, and SDL for more portables builds of FFmpeg, but enable x11grab and avfoundation to allow screen capture (issue #39)
  • Avoid versioning of Leptonica and Tesseract libraries, preventing them from working on Android (issue #38)
  • Add x265 in the cppbuild.sh script for FFmpeg, thanks to Mark Bolstad (issue bytedeco/javacv#41)
  • Upgrade presets for OpenCV 2.4.11, FFmpeg 2.6.1, OpenSSL 1.0.2a, FlyCapture 2.7.3.19, libdc1394 2.2.3, libfreenect 0.5.2, LLVM 3.6.0
  • Switch from IntPointer to BoolPointer for the BOOL* pointer type of Leptonica (issue #36)
  • Add preload for gif, jpeg, png, tiff, and webp libraries in presets for Leptonica (issue #36)
  • Include missing ltrresultiterator.h header file in the presets for Tesseract (issue #36)
  • Append @Documented to annotation types to have them picked up by Javadoc

December 23, 2014 version 0.10

  • Update instructions in the README.md file for manual installation in Android Studio
  • Include presets for Leptonica 1.71 and Tesseract 3.03-rc1 on Windows too
  • Fix Mat.createFrom(BufferedImage) (issue #30)
  • Add Speex, OpenCORE (AMR-NB and AMR-WB), and OpenSSL in the cppbuild.sh script for FFmpeg to support common RTMPS streams, among other things (issue #2 and issue bytedeco/javacv#71)
  • Deprecate slow get() and put() methods of CvMat in favor of the fast ones from createIndexer() (issue javacv:317)
  • Include operations.hpp and mat.hpp in opencv_core to get a few important functions such as read() and write() for FileStorage
  • Replace install_name_tool hack to set @rpath on Mac OS X with patches to do it properly on install (issue bytedeco/javacpp#6 and issue bytedeco/javacv#49)
  • Disable DocLint, which prevents the build from succeeding on Java 8 (issue bytedeco/javacpp#5)
  • Disable OpenCL detection when building FFmpeg, causing link failures (issue #19)
  • Document a bit the create() factory methods in the helper package of the OpenCV module, and their relationship with the release() methods
  • Include new createIndexer() method in CvMat, IplImage, Mat, etc. for easy and efficient multidimensional access of data (issue #317)
  • Deprecate get*Buffer() methods in favor of a better named and generic createBuffer() method
  • Fix java.lang.UnsatisfiedLinkError when allocating opencv_core.Mat, among others (issue bytedeco/javacv#9 and issue bytedeco/javacv#28)
  • Force OpenCV to build with GCC 4.6, as newer versions are known to hang on Android 2.2 (issue android:43819)
  • Upgrade presets for OpenCV 2.4.10, FFmpeg 2.5.1, FlyCapture 2.7.3.13, libfreenect 0.5.1, ARToolKitPlus 2.3.1, LLVM 3.5.0, and videoInput 0.200, where the latest code got merged into the master branch
  • Add callbacks for Tesseract according to new functionality in JavaCPP
  • Fix missing dependency of opencv_contrib on opencv_nonfree (issue javacv:490)
  • Skip functions that are not actually implemented in avdevice, causing load failures on Android
  • Update presets for FFmpeg where avcodec now inherits from swresample (issue #13)
  • Add a README.md file to each presets with links to original project, Java API documentation, and sample usage
  • Add missing overloaded methods with PointerPointer parameters in LLVM module

July 27, 2014 version 0.9

  • Add libmp3lame to FFmpeg builds (issue javacv:411)
  • Upgrade presets for FFmpeg 2.3, FlyCapture 2.6.3.4 (pull #6, issue #8), libfreenect 0.5
  • Make the cppbuild.sh scripts install native libraries inside the cppbuild subdirectories, instead of on the system
  • Include new platform.dependency and platform.dependencies properties to let users depend easily on the artifacts that contain native libraries
  • Add presets for flandmark 1.07 (pull #9), FFTW 3.3.4, GSL 1.16, LLVM 3.4.2, Leptonica 1.71, Tesseract 3.03-rc1
  • Fix missing static keyword on methods annotated with an @Adapter (issue #3)
  • Turn Mat.createFrom() into a static factory method, and make Mat.copyFrom() call Mat.create() as appropriate (issue #1)
  • Add missing native_camera modules of opencv_highgui for Android
  • Fix functions from opencv_stitching not accepting a MatVector as apparently intended by the API (issue javacv:466)

April 28, 2014 version 0.8

  • Move from Google Code to GitHub as main source code repository
  • Rename the com.googlecode.javacpp package to org.bytedeco.javacpp
  • Appended the version of the parent artifact to the ones of the child modules, in an effort to avoid conflicts
  • Updated cppbuild.sh scripts with support for the "android-x86" platform (issue javacv:411), thanks to Xavier Hallade
  • Added presets for PGR FlyCapture 1.7
  • Fixed compilation errors on Android, Mac OS X, and Windows
  • Upgraded to OpenCV 2.4.9, FFmpeg 2.2.1, libdc1394 2.2.2, and libfreenect 0.4
  • Introduced build scripts, based on the CPPJARs package of JavaCV, to install native C/C++ libraries
  • Ported various helper classes and methods from JavaCV
  • Inserted missing dependency entries in the pom.xml files of the child modules
  • Added presets for the C++ API of OpenCV 2.4.8, which can now be parsed due to the latest changes in JavaCPP

January 6, 2014 version 0.7

  • Fixed JavaCPP properties not getting set by the parent pom.xml file
  • Added presets for the C API of OpenCV 2.4.8, FFmpeg 2.1.x, libfreenect 0.2 (OpenKinect), videoInput 0.200, and ARToolkitPlus 2.3.0

September 15, 2013 version 0.6

Initial release

Acknowledgments

This project was conceived at the Okutomi & Tanaka Laboratory, Tokyo Institute of Technology, where I was supported for my doctoral research program by a generous scholarship from the Ministry of Education, Culture, Sports, Science and Technology (MEXT) of the Japanese Government. I extend my gratitude further to all who have reported bugs, donated code, or made suggestions for improvements (details above)!