- Enable distributed package using Gloo in presets for PyTorch (pull #1510)
- Add presets for the CUPTI module of CUDA (pull #1531)
- Add new
ClangMemoryMgmtExample
in samples for LLVM (pull #1522) - Enable
opencv_python3
module formacosx-arm64
as well (pull #1517) - Introduce
macosx-arm64
builds for CPython (pull #1511), NumPy (pull #1515), SciPy (pull #1516) - Update and fix the sample code of the presets for LLVM (pull #1501)
- Fix Vulkan GPU acceleration for FFmpeg (pull #1497)
- Build FFmpeg with zimg to enable zscale filter (pull #1481)
- Enable PulseAudio support for FFmpeg on Linux (pull #1472)
- Virtualize
btCollisionWorld
,btOverlapFilterCallback
,btOverlapCallback
from Bullet Physics SDK (pull #1475) - Upgrade presets for OpenCV 4.10.0, FFmpeg 7.1, Spinnaker 4.0.0.116 (pull #1524), MKL 2025.0, DNNL 3.6.1, OpenBLAS 0.3.28, CMINPACK 1.3.11, GSL 2.8, CPython 3.13.0, NumPy 2.1.3, SciPy 1.14.1, LLVM 19.1.3, LibRaw 0.21.2 (pull #1520), Leptonica 1.85.0, Tesseract 5.5.0, libffi 3.4.6, CUDA 12.6.2, cuDNN 9.5.1, NCCL 2.23.4, nvCOMP 4.1.0.6, OpenCL 3.0.17, NVIDIA Video Codec SDK 12.2.72, PyTorch 2.5.1 (pull #1466), SentencePiece 0.2.0, TensorFlow Lite 2.18.0, TensorRT 10.6.0.26, Triton Inference Server 2.51.0, ONNX 1.17.0, ONNX Runtime 1.20.0, TVM 0.18.0, and their dependencies
- Introduce
macosx-arm64
builds for PyTorch (pull #1463) - Reenable
linux-arm64
builds for CPython and NumPy (pull #1386) - Enable Vulkan GPU acceleration for FFmpeg (pull #1460)
- Include
timeapi.h
for system API of Windows (pull #1447) - Add Android and Windows builds to presets for DepthAI (pull #1441)
- Add presets for nvCOMP 3.0.5 (pull #1434), SentencePiece 0.1.99 (pull #1384)
- Refactor and improve presets for PyTorch (pull #1360)
- Include
mkl_lapack.h
header file in presets for MKL (issue #1388) - Map new higher-level C++ API of Triton Inference Server (pull #1361)
- Upgrade presets for OpenCV 4.9.0, FFmpeg 6.1.1, HDF5 1.14.3, MKL 2024.0, DNNL 3.3.4, OpenBLAS 0.3.26, ARPACK-NG 3.9.1, CPython 3.12.1, NumPy 1.26.3, SciPy 1.12.0, LLVM 17.0.6, Leptonica 1.84.1, Tesseract 5.3.4, CUDA 12.3.2, cuDNN 8.9.7, NCCL 2.19.3, OpenCL 3.0.15, PyTorch 2.1.2 (pull #1426), TensorFlow Lite 2.15.0, Triton Inference Server 2.41.0, DepthAI 2.24.0, ONNX 1.15.0, ONNX Runtime 1.16.3, TVM 0.14.0, and their dependencies
- Virtualize
nvinfer1::IGpuAllocator
from TensorRT to allow customization (pull #1367) - Add new
SampleJpegDecoder
andSampleJpegEncoder
code for nvJPEG module of CUDA (pull #1365) - Map
std::vector
ofCameraParams
,ImageFeatures
, andMatchesInfo
fromcv::detail
(issue bytedeco/javacv#2027) - Fix H.264 decoder of FFmpeg by increasing MAX_SLICES to 256 (pull #1349)
- Link FFmpeg with latest version of VA-API libraries (pull #1296)
- Build HDF5 with support for SZIP enabled (pull #1334)
- Map missing functions from
mkl_trans.h
in presets for MKL (issue #1331) - Bundle the official Java API of HDF5 via the
hdf5_java
library (pull #1327) - Map missing
cblas_?axpby()
functions in presets for MKL (issue #1326) - Prefix with "fisheye" all functions from the
cv::fisheye::
namespace to avoid collisions (pull #1324) - Remove mapping for platform-dependent
enum
values in presets for libffi (pull #1318) - Fix mapping of
cv::fisheye::calibrate()
function fromopencv_calib3d
(issue #1185) - Add an RPATH to the
tesseract
program to avoid loading issues (issue #1314) - Bundle the CUPTI module of CUDA in the presets for PyTorch (pull #1307)
- Build FFmpeg with AOMedia AV1 and SVT-AV1 codecs (pull #1303)
- Map
c10::OptionalArrayRef<int64_t>
from PyTorch tolong...
as well for convenience (issue #1300) - Remove mapping for
c10::OptionalArrayRef
to simplify calls in presets for PyTorch (issue #1300) - Virtualize
btMotionState
andbtDefaultMotionState
from Bullet Physics SDK to allow callbacks (pull #1297) - Define
STRING_BYTES_CHARSET
to "UTF-8" for FFmpeg since it appears to assume that (issue bytedeco/javacv#1945) - Map
at::ITensorListRef
as used byat::cat()
in presets for PyTorch (issue #1293) - Map
torch::data::datasets::ChunkDataReader
and related data loading classes from PyTorch (issue #1215) - Add missing predefined
AVChannelLayout
in presets for FFmpeg (issue #1286) - Map
c10::impl::GenericDict
as returned byc10::IValue::toGenericDict()
in presets for PyTorch - Introduce
linux-armhf
andlinux-x86
builds to presets for TensorFlow Lite (pull #1268) - Add presets for LibRaw 0.21.1 (pull #1211)
- Upgrade presets for OpenCV 4.7.0, FFmpeg 6.0 (issue bytedeco/javacv#1693), HDF5 1.14.1, Hyperscan 5.4.2 (issue #1308), Spinnaker 3.0.0.118 (pull #1313), librealsense2 2.53.1 (pull #1305), MKL 2023.1, DNNL 3.1, OpenBLAS 0.3.23, ARPACK-NG 3.9.0, CPython 3.11.3, NumPy 1.24.3, SciPy 1.10.1, LLVM 16.0.4, Leptonica 1.83.0, Tesseract 5.3.1, CUDA 12.1.1, cuDNN 8.9.1, NCCL 2.18.1, OpenCL 3.0.14, NVIDIA Video Codec SDK 12.1.14, PyTorch 2.0.1, TensorFlow Lite 2.12.0, TensorRT 8.6.1.6, Triton Inference Server 2.33.0, DepthAI 2.21.2, ONNX 1.14.0, ONNX Runtime 1.15.0, TVM 0.12.0, Bullet Physics SDK 3.25, and their dependencies
- Fix mapping of
torch::ExpandingArrayWithOptionalElem
in presets for PyTorch (issue #1250) - Disable OpenMP for Tesseract to work around performance issues (pull #1201)
- Enable NVIDIA GPU acceleration for FFmpeg on ARM and POWER as well (issue bytedeco/javacv#1894)
- Add support for HEVC and Opus to FLV format in presets for FFmpeg (pull #1228)
- Build Leptonica with OpenJPEG for JPEG 2000 support
- Introduce
linux-arm64
andmacosx-arm64
builds to presets for libpostal (pull #1199 and pull #1205) - Map missing factory functions in
torch::
namespace usingtorch_
as prefix in presets for PyTorch (issue #1197) - Add presets for the nvJPEG module of CUDA (issue #1193)
- Introduce Android builds for TensorFlow Lite (discussion #1180)
- Map
std::vector<cv::Ptr<cv::mcc::CChecker> >
forCCheckerDetector.getListColorChecker()
(issue bytedeco/javacpp#571) - Include missing
opencv2/mcc/ccm.hpp
header file in presets for OpenCV (discussion bytedeco/javacpp#568) - Fix a few incorrectly mapped instances of
std::unordered_map
for PyTorch (issue #1164) - Migrate builds for Leptonica and Tesseract to CMake (issue #1163)
- Introduce
macosx-arm64
builds for LZ4 (pull #1243), libffi (issue #1182), Leptonica, and Tesseract (issue #814) - Map instances of
torch::OrderedDict
using C++ templates from PyTorch (issue #623) - Add presets for Bullet Physics SDK 3.24 (pull #1153)
- Add
long[] pytorch.Tensor.shape()
method for convenience (pull #1161) - Enable DNNL codegen as BYOC backend in presets for TVM
- Allow passing raw pointer as deleter to
from_blob()
, etc functions of PyTorch (discussion #1160) - Include
cudnn_backend.h
header file in presets for CUDA (issue #1158) - Bundle
zlibwapi.dll
required by cuDNN in redist artifacts of presets for CUDA (issue bytedeco/javacv#1767) - Harmonize string and buffer pointer types of function parameters from DepthAI (issue #1155)
- Bundle correctly OpenMP library for PyTorch builds on Mac as well (issue #1225)
- Remove dependency on CUDA from presets for Triton Inference Server (pull #1151)
- Disable signal handlers of DepthAI known to cause issues with the JDK (issue #1118)
- Upgrade presets for OpenCV 4.6.0, FFmpeg 5.1.2, HDF5 1.12.2, LZ4 1.9.4, MKL 2022.2, DNNL 2.7.1, OpenBLAS 0.3.21 (issue #1171), CPython 3.10.8, NumPy 1.23.4, SciPy 1.9.3, Gym 0.26.2, LLVM 15.0.3, libffi 3.4.4, Tesseract 5.2.0, CUDA 11.8.0, cuDNN 8.6.0, NCCL 2.15.5, OpenCL 3.0.12, MXNet 1.9.1, PyTorch 1.12.1, TensorFlow Lite 2.10.0, TensorRT 8.4.3.1, Triton Inference Server 2.26.0, ALE 0.8.0, DepthAI 2.18.0, ONNX 1.12.0, ONNX Runtime 1.13.1, TVM 0.10.0, Skia 2.88.3, cpu_features 0.7.0, ModSecurity 3.0.8, and their dependencies
- Build FFmpeg with WebP encoding support (pull #1133)
- Include
sys/ipc.h
andsys/shm.h
for system APIs of Linux and Mac OS X (pull #1132) - Map
c10::ArrayRef<at::Tensor>(std::vector<at::Tensor>&)
constructor from PyTorch for convenience (discussion #1128) - Add
long rs2_get_frame_data_address()
to reduce garbage for real-time applications using librealsense2 (discussion bytedeco/javacpp#532) - Add to
torch.Tensor
convenientcreate()
,createBuffer()
, andcreateIndexer()
factory methods for PyTorch - Upgrade requirements to Android 7.0 for camera support in OpenCV and FFmpeg (issue bytedeco/javacv#1692)
- Include new
llvm-c/Transforms/PassBuilder.h
header file in presets for LLVM (pull #1093) - Introduce
macosx-arm64
builds to presets for OpenCV, FFmpeg, OpenBLAS (issue #1069), LLVM (pull #1092) - Add presets for LZ4 1.9.3 (pull #1094), Triton Inference Server 2.18.0 (pull #1085)
- Add presets for the NvToolsExt (NVTX) module of CUDA (issue #1068)
- Increase the amount of function pointers available for callbacks in presets for Qt (pull #1080)
- Map C++ JIT classes and functions of TorchScript in presets for PyTorch (issue #1068)
- Synchronize
cachePackage()
and prevent repeated package caching in all presets (pull #1071) - Build FFmpeg with VA-API enabled and bundle its libraries to avoid loading issues (issue bytedeco/javacv#1188)
- Upgrade presets for OpenCV 4.5.5, FFmpeg 5.0 (pull #1125), librealsense2 2.50.0, Arrow 6.0.1, MKL 2022.0, DNNL 2.5.2, OpenBLAS 0.3.19, FFTW 3.3.10, CPython 3.10.2, NumPy 1.22.2, SciPy 1.8.0, Gym 0.21.0, LLVM 13.0.1, libpostal 1.1, Leptonica 1.82.0, Tesseract 5.0.1, CUDA 11.6.0, cuDNN 8.3.2, NCCL 2.11.4, MXNet 1.9.0, PyTorch 1.10.2, TensorFlow Lite 2.8.0, TensorRT 8.2.3.0, ALE 0.7.3, DepthAI 2.14.1, ONNX 1.10.2, ONNX Runtime 1.10.0, TVM 0.8.0, ModSecurity 3.0.6, and their dependencies
- Change
opencv_core.Mat
constructors to create column vectors out of arrays for consistency (issue #1064) - Add presets for the new
barcode
andwechat_qrcode
modules of OpenCV - Work around loading issues with execution providers in presets for ONNX Runtime
- Annotate the presets for LLVM with
@NoException
to reduce unneeded C++ overhead (pull #1052) - Update samples for LLVM 12 including new
samples/llvm/OrcJit.java
using libffi (pull #1050) - Enable GTK support in presets for OpenCV when building on ARM as well
- Correct
enum
classes in presets for Spinnaker (pull #1048) - Add Windows build for ONNX (issue #983)
- Add
linux-arm64
builds to presets for DNNL, OpenCL, TensorRT (pull #1044), and ONNX Runtime - Build FFmpeg with libxml2, enabling support for DASH demuxing (pull #1033), and libsrt for SRT protocol support (pull #1036)
- Add
@MemberGetter
forav_log_default_callback()
in presets for FFmpeg (issue #812) - Include
cudaGL.h
andcuda_gl_interop.h
header files in presets for CUDA (pull #1027) - Add presets for libffi 3.4.2 (issue #833), NVIDIA Video Codec SDK 11.1.5 (pull #1020), PyTorch 1.9.0 (issue #623), TensorFlow Lite 2.5.0, DepthAI 2.8.0, ModSecurity 3.0.5 (pull #1012)
- Map
std::vector<cv::Range>
toRangeVector
inopencv_core.Mat
for convenience (issue bytedeco/javacv#1607) - Include
genericaliasobject.h
,context.h
,tracemalloc.h
, anddatetime.h
for CPython (issue #1017) - Add samples using LLVM modules to deal with bitcode and object files (pull #1016)
- Upgrade presets for OpenCV 4.5.3, FFmpeg 4.4 (pull #1030), Spinnaker 2.4.0.143 (pull #1040), librealsense2 2.44.0 (pull #1031), Arrow 4.0.1, HDF5 1.12.1, MKL 2021.3, DNNL 2.3, OpenBLAS 0.3.17, GSL 2.7, CPython 3.9.6, NumPy 1.21.1, SciPy 1.7.0, Gym 0.18.3, LLVM 12.0.1 (pull #1065), Leptonica 1.81.1, CUDA 11.4.0, cuDNN 8.2.2, NCCL 2.10.3, TensorRT 8.0.1.6, ONNX 1.9.0, ONNX Runtime 1.8.1, Skia 2.80.3, and their dependencies
- Bundle LLD executable in presets for LLVM as required by TVM on Windows
- Prevent
public static final
objects from getting deallocated byPointerScope
(issue bytedeco/javacv#1599) - Fix compatibility of Leptonica with JavaFX by upgrading to libpng 1.6.37 (pull #1007)
- Introduce
linux-arm64
build for CUDA, cuDNN, and NCCL (issue #735) - Add new array constructors to
opencv_core.Mat
that copy data for convenience (pull #1002) - Rebase
PrimitiveScalar
onPrimitiveScalarBase
in presets for Arrow for easy access todata()
(issue #998) - Add
NamedMetadataOperations.h
implementing data retrieval operations for LLVM nodes (pull #995) - Enable OpenMP for ONNX Runtime on Mac once again (issue #917)
- Build OpenCV without OpenBLAS when environment variable
NOOPENBLAS=yes
(pull #987) - Enable OpenCL acceleration for DNNL (issue #938)
- Introduce monkey patching when loading presets for CPython to relocate home more reliably
- Add display sample for librealsense2 (pull #978)
- Fix builds for libpostal on Mac and Windows (issue #903)
- Fix builds for NumPy and SciPy on Linux when using a cross compiler or not
- Update presets for Visual Studio 2019 on Windows
- Add presets for OpenCL 3.0, TVM 0.7.0 and bundle its official Java API (TVM4J) via the
jnitvm_runtime
library - Include
free()
in presets for FTTW as required byfftw_export_wisdom_to_string()
(issue bytedeco/javacpp#429) - Include all missing header files from the
opencv_ximgproc
module (issue #958) - Disable assembly optimizations for libx264 with FFmpeg on Mac to work around crashes (issue bytedeco/javacv#1519)
- Add
linux-armhf
andlinux-arm64
builds for librealsense and librealsense2 (pull #951) - License default builds of FFmpeg under LGPL v3 and move GPL-enabled builds to
-gpl
extension (pull #950) - Upgrade presets for OpenCV 4.5.1, FFmpeg 4.3.2, Arrow 3.0.0, Hyperscan 5.4.0, MKL 2021.1, OpenBLAS 0.3.13, ARPACK-NG 3.8.0, CMINPACK 1.3.8, FFTW 3.3.9, librealsense2 2.40.0 (pull #946), DNNL 2.1.1, CPython 3.9.2, NumPy 1.20.1, SciPy 1.6.1, Gym 0.18.0, LLVM 11.1.0 (pull #1001), OpenPose 1.7.0, CUDA 11.2.1, cuDNN 8.1.1, NCCL 2.8.4, MXNet 1.8.0, TensorFlow 1.15.5, TensorRT 7.2.3.4, ONNX 1.8.1, ONNX Runtime 1.7.0, Qt 5.15.2, Skia 2.80.2, cpu_features 0.6.0, and their dependencies
- Bundle
libpostal_data
program, executable viaLoader.load()
for convenience (issue #939) - Enable all stable target architectures in the presets for LLVM (pull #937)
- Virtualize
QObject
and its subclasses from Qt to allow customization (issue bytedeco/javacpp#419) - Bundle programs from Clang and LLVM, executable via
Loader.load()
for convenience (issue #833) - Include
nnvm/c_api.h
header file in presets for MXNet (issue #912) - Enable OpenMP for DNNL on Mac using same library name as MKL to prevent conflicts (issue #907)
- Fix loading issue with
opencv_ximgproc
(issue #911) - Build LibTIFF after WebP to make sure they link correctly in presets for Leptonica
- Virtualize
IInt8Calibrator
plus subclasses from TensorRT to allow customization (issue #902) - Replace
requires
withrequires static
in JPMS.platform
modules (pull #900) - 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 loadjnijavacpp
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), OpenCV, CPython, LLVM, Tesseract, Qt (pull #928)
- Build OpenBLAS with a
TARGET
even forDYNAMIC_ARCH
to avoid SIGILL (issue eclipse/deeplearning4j#8747) - Upgrade presets for OpenCV 4.4.0, FFmpeg 4.3.1 (pull #891), Arrow 1.0.1, Hyperscan 5.3.0, MKL 2020.3, MKL-DNN 0.21.5, DNNL 1.6.2, OpenBLAS 0.3.10, CPython 3.7.9, NumPy 1.19.1, SciPy 1.5.2, Gym 0.17.2, LLVM 10.0.1, Leptonica 1.80.0, CUDA 11.0.3, cuDNN 8.0.3, NCCL 2.7.8, MXNet 1.7.0, TensorFlow 1.15.3, TensorRT 7.1, ONNX 1.7.0 (pull #882), ONNX Runtime 1.4.0 (pull #887), Qt 5.15.0, Skia 2.80.1, and their dependencies
- Add
FullOptimization.h
allowing users to fully optimize LLVM modules (pull #869)
- Add presets for the new
intensity_transform
andrapid
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
andjavacpp-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 theavutil
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 newPIX
,FPIX
, orDPIX
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
- Add presets for the
cudacodec
,cudafeatures2d
,cudastereo
, andcudabgsegm
modules of OpenCV (issue #806) - Fix mapping of
warpAffine
andwarpPerspective
fromopencv_cudawarping
(issue #806) - Add
linux-armhf
andlinux-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
, andtesseract
programs - Add
linux-armhf
,linux-arm64
,linux-ppc64le
, andwindows-x86
builds for CPython, NumPy, and LLVM (pull #768) - Include
audio_ops.h
,list_ops.h
,lookup_ops.h
, andmanip_ops.h
for TensorFlow - Add necessary platform properties to build
-gpu
extensions onlinux-arm64
andlinux-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
, andops.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
- 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 handylong... 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
, andHoughCircles
(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
- Include
setlocale()
in presets for Tesseract to work around issues with locale (issue #694) - Bundle the
python
program, executable viaLoader.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
andffprobe
programs, executable viaLoader.load()
for convenience (issue bytedeco/javacv#307) - Add functions related to threading missing from presets for CPython
- Lengthen
Mat
size and step getters to supportlong
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
, andSubdiv2D
fromopencv_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
, andResultIteratorExample
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)
- 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
, andTransportLayer*C.h
for Spinnaker (pull #660) - Add
FlyCapture2Video.h
andFlyCapture2VideoDef.h
, and removeAVIRecorder.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
, andPIX
, helpercreate(..., 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
, andstereoCalibrate
functions fromopencv_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
- Keep globally shared dummy deallocator for
TF_Tensor
out ofPointerScope
- 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 toOpDefVector
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
andopencv_cudaoptflow
on Windows (issue #592)
- 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
andface_alignment.hpp
that crash when called withcv::Mat
objects - Virtualize
TensorBuffer
and make constructor with helper method inTensor
public to allow zero-copy - Add factory methods for
TF_Status
,TF_Buffer
,TF_Tensor
,TF_SessionOptions
,TF_Graph
,TF_ImportGraphDefOptions
, andTF_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 forKeyPointVector
andDMatchVector
(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
, andDPIX
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
onlinux-armhf
as required by the JDK (issue deeplearning4j/libnd4j#700) - Include
textDetector.hpp
from theopencv_text
module - Include
feature.pb.h
,example.pb.h
,record_reader.h
, andrecord_writer.h
for TensorFlow (issue tensorflow/tensorflow#17390) - Enhance presets for
ALE
with access totheOSystem
, 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
andandroid-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
- 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
andtensorflow_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
, andxphoto
modules of OpenCV (issue #319) - Add bindings for
b2DynamicTree::Query
andRayCast
for LiquidFun (pull #531) - Add support for Windows to presets for LLVM (pull #530)
- Add builds for
android-arm64
andandroid-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
andfftwf_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 theopencv_face
module - Add
AxpyLayer
to presets for Caffe (pull #508)
- 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
, andloader.h
for TensorFlow (issue #494) - Add
getString()
helper methods toCXString
,CXTUResourceUsageKind
, andCXEvalResult
forclang
(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
andfftw_iodim64
for FFTW (issue #466) - Add
Mat(Point)
andMat(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 fromerrno.h
used by FFmpeg (pull #459) - Use
long
instead ofint
for constants starting withAV_CH_LAYOUT_
inavutil
(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 thejavacpp
plugin to thecppbuild.sh
script files - Let presets pick up
include
orlink
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 thejavacpp
plugin itself to execute thecppbuild.sh
script files - Link TensorFlow statically with
cudart
to avoid dependency on CUDA (issue #396) - Add missing call to
Loader.load()
in helper class foropencv_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)
- Fix FFmpeg builds on ARM when not using a cross compiler (issue #322)
- Add
blas_extra.h
to presets for OpenBLAS, containingblas_set_num_threads()
andblas_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
andUMatVector
parameters (issue bytedeco/javacv#518) - Add support for
android-arm
andandroid-x86
platforms to TensorFlow presets (pull #297) - Keep a reference of
tensorflow.SessionOptions
inAbstractSession
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
andlinux-ppc64le
builds for all presets (pull #279) - Fix
libdc1394
not properly linking withlibusb-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 accessDT_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
tocppbuild.sh
scripts of OpenCV, FFmpeg, Leptonica, and Tesseract
- 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
andMessage
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 thetensorflow
module (issue #165) - Add missing
GraphDefBuilder.Options.WithAttr()
methods from thetensorflow
module (issue #160) - Add
linux-armhf
platform to thecppbuild.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=...
andmvn -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
andopencv_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 theopencv_ml
module (issue #109) - Define commonly used Caffe
std::vector
types (DatumVector
,FloatCallbackVector
, andDoubleCallbackVector
) for ease of use and performance reasons - Fix the
cppbuild.sh
script for FFmpeg, failing to build x264 and OpenH264 properly on Windows
- Build the Maven artifacts for Linux in a CentOS 6 Docker container, for maximum compatibility (issue #22)
- Cache files downloaded by
cppbuild.sh
in thedownloads
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
, andOLDFC
environment variables incppbuild.sh
andplatform.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
, andaudio_fifo.h
header files in theavutil
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()
fromFloatNet
orDoubleNet
incaffe
(issue bytedeco/javacpp#25) - Add presets for the
face
,optflow
, andxfeatures2d
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 fromlibgcc_s_dw2-1.dll
- 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)
- Remove unneeded
@Opaque
types fromgsl
and replace them with their definitions whose names end with "_struct" - Segregate methods using
java.awt
classes into the newJava2DFrameConverter
class of JavaCV (issue #12) - Emphasize the need to install separately the parent
pom.xml
file (issue #42) - Make CMake configurable via
CMAKE
variable incppbuild.sh
(pull #41) - Add presets for Caffe (issue #34)
- Let
createBuffer()
returnUByteIndexer
andUShortIndexer
when appropriate for unsigned data types - Remove the need to set manually the
platform.dependency
system property for downstream modules without acppbuild.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
andavfoundation
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
toBoolPointer
for theBOOL*
pointer type of Leptonica (issue #36) - Add
preload
forgif
,jpeg
,png
,tiff
, andwebp
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
- 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()
andput()
methods ofCvMat
in favor of the fast ones fromcreateIndexer()
(issue javacv:317) - Include
operations.hpp
andmat.hpp
inopencv_core
to get a few important functions such asread()
andwrite()
forFileStorage
- 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 thehelper
package of the OpenCV module, and their relationship with therelease()
methods - Include new
createIndexer()
method inCvMat
,IplImage
,Mat
, etc. for easy and efficient multidimensional access of data (issue #317) - Deprecate
get*Buffer()
methods in favor of a better named and genericcreateBuffer()
method - Fix
java.lang.UnsatisfiedLinkError
when allocatingopencv_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
onopencv_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 fromswresample
(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
- 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 thecppbuild
subdirectories, instead of on the system - Include new
platform.dependency
andplatform.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 makeMat.copyFrom()
callMat.create()
as appropriate (issue #1) - Add missing
native_camera
modules ofopencv_highgui
for Android - Fix functions from
opencv_stitching
not accepting aMatVector
as apparently intended by the API (issue javacv:466)
- Move from Google Code to GitHub as main source code repository
- Rename the
com.googlecode.javacpp
package toorg.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
- 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
Initial release
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)!