All Versions
Latest Version
Avg Release Cycle
119 days
Latest Release
228 days ago

Changelog History
Page 1

  • v1.5.5 Changes

    March 08, 2021
    • Have Frame and FrameConverter implement AutoCloseable to release memory explicitly (issue #1574)
    • Add new YOLONet sample for object detection (pull #1595)
    • Fix crash on FFmpegFrameGrabber.stop() when in ImageMode.RAW (issue #1568)
    • Let FFmpegFrameRecorder.flush() ignore errors from the encoder (issue #1563)
    • Improve FFmpegFrameGrabber.setTimestamp() and fix getAudioFrameRate() (pull #1559)
    • Fix frame rate and aspect ratio on FFmpegFrameRecorder.start(AVFormatContext) (pull #1535)
    • Upgrade dependencies for OpenBLAS 0.3.13, OpenCV 4.5.1, FFmpeg 4.3.2, librealsense2 2.40.0
    • Update unit tests to use codecs available in FFmpeg under LGPL v3 (pull bytedeco/javacpp-presets#950)
    • Add RealSense2FrameGrabber.tryLoad() method and missing entries for librealsense2 (issue bytedeco/procamcalib#25)
  • v1.5.4 Changes

    September 09, 2020

    September 9, 2020 version 1.5.4

    • ๐Ÿ›  Fix error message thrown from FFmpegFrameRecorder.start() not containing filename (pull #1492)
    • ๐Ÿ›  Fix FFmpegFrameFilter.pull() not returning audio/video frames without audio/video filtergraph (issue #1466)
    • โšก๏ธ Update OpenCVFrameConverter.convertToOrgOpenCvCoreMat() with new API to set the stride (issue #1460)
    • ๐Ÿ›  Fix memory leaks and reduce memory fragmentation in FFmpegFrameGrabber and FFmpegFrameRecorder (issue #1366)
    • ๐Ÿ‘‰ Use PointerScope in FFmpegFrameFilter, FFmpegFrameGrabber, and FFmpegFrameRecorder to deallocate quickly temporary buffers (issue #1383)
    • ๐Ÿ›  Fix FFmpegFrameFilter by calling String.format() with Locale.ROOT (pull #1441)
    • ๐Ÿ”€ Increase thread safety of FFmpegFrameFilter, FFmpegFrameGrabber, and FFmpegFrameRecorder with synchronized methods (issue #1434)
    • โฌ†๏ธ Upgrade dependencies for OpenBLAS 0.3.10, OpenCV 4.4.0, FFmpeg 4.3.1, and Leptonica 1.80.0
  • v1.5.3 Changes

    April 14, 2020

    April 14, 2020 version 1.5.3

    • โž• Add FFmpegFrameGrabber.start(boolean findStreamInfo) parameter to minimize startup time (issue #1376)
    • Let FFmpegFrameGrabber.grab() return non-audio/video streams as new Frame.DATA type (pull #1378)
    • ๐Ÿ›  Fix crash in FFmpegFrameRecorder.flush() for HLS format and possibly others (pull #1374)
    • ๐Ÿ›  Fix "Resetting to invalid mark" IOException thrown on FFmpegFrameGrabber.release() (issue #911)
    • โฌ†๏ธ Upgrade dependencies for OpenBLAS 0.3.9, OpenCV 4.3.0, FFmpeg 4.2.2, Leptonica 1.79.0, and Tesseract 4.1.1
    • โž• Add Seekable and SeekableByteArrayOutputStream to be used with FFmpegFrameRecorder (pull #1350)
    • โšก๏ธ Update RealSense2FrameGrabber with support for sensor options and fix for multiple devices (pull #1348)
  • v1.5.2 Changes

    November 05, 2019

    November 5, 2019 version 1.5.2

    • Increase thread safety of FFmpegFrameFilter, FFmpegFrameGrabber, and FFmpegFrameRecorder with volatile boolean started flag (pull #1325)
    • Let FFmpegFrameFilter.push(null) indicate EOF to audio filters as well (issue #1315)
    • โž• Add RealSense2FrameGrabber to capture images with librealsense2 (pull #1316)
    • ๐Ÿ‘€ Disable seek function in FFmpegFrameGrabber when maximumSize <= 0 (issue #1304)
    • ๐Ÿ‘‰ Use Pointer.retainReference() to prevent PointerScope from deallocating globally shared callback objects for FFmpeg
    • ๐Ÿ›  Fix FFmpegFrameRecorder failing to encode float samples in MP3 (issue #1294)
    • ๐Ÿ›  Fix OpenCVFrameConverter error in IPCameraFrameGrabber (pull #1278)
    • ๐Ÿ‘ Allow setting properties for OpenCVFrameGrabber and OpenCVFrameRecorder with setOption() (issue #1269)
    • โž• Add missing requires java.desktop to (issue #1265)
    • โฌ†๏ธ Upgrade dependencies for OpenBLAS 0.3.7, OpenCV 4.1.2, FFmpeg 4.2.1, librealsense 1.12.4, and librealsense2 2.29.0
  • v1.5.1 Changes

    July 09, 2019

    July 9, 2019 version 1.5.1

    • โ†ช Work around swscale bug in FFmpegFrameGrabber for images with unaligned width (issue #845)
    • โž• Add support for AVSEEK_SIZE to FFmpegFrameGrabber as required by MPEG-TS (issue #1234)
    • ๐Ÿ‘ป Throw exception on start() for already started FFmpegFrameFilter, FFmpegFrameGrabber, or FFmpegFrameRecorder (issue #1233)
    • โž• Add dependency on OpenBLAS/MKL, now used by OpenCV to accelerate some matrix operations
    • โฌ†๏ธ Upgrade dependencies for OpenCV 4.1.0, libdc1394 2.2.6, and Tesseract 4.1.0
    • โž• Add support for Frame.timestamp to FFmpegFrameFilter (issue #1177)
  • v1.5 Changes

    April 11, 2019

    April 11, 2019 version 1.5

    • ๐Ÿ“‡ Override methods in FFmpegFrameGrabber to get all metadata from streams (issue #1180)
    • ๐Ÿ›  Fix sample rate in output of FFmpegFrameRecorder by setting deprecated AVStream.codec.time_base (issue #1179)
    • โž• Add asetpts=N to input of FFmpegFrameFilter to make filters like afade behave as expected (issue #1171)
    • ๐Ÿ‘‰ Use AVFormat.format() from Frame.opaque when available in FFmpegFrameFilter and FFmpegFrameRecorder (issue #1173)
    • 0๏ธโƒฃ Enable multithreading for all codecs by default in FFmpegFrameGrabber and FFmpegFrameRecorder (issue #1163)
    • ๐Ÿ‘Œ Improve thread safety of FFmpegFrameRecorder and Java2DFrameConverter by relying less on Buffer.position (pull #1166)
    • ๐Ÿ‘‰ Use ModiTect to compile with JDK 8 and preserve backward compatibility
    • โž• Add FFmpegFrameRecorder.closeOutputStream and FFmpegFrameGrabber.closeInputStream properties to leave streams opened (issue #1149)
    • โž• Add FFmpegFrameRecorder.flush() method that does not release the stream (issue #1149)
    • ๐Ÿ”€ Readd synchronized blocks for FFmpegFrameGrabber and FFmpegFrameRecorder, but make unsafe methods public (issue #1139)
    • Allocate native memory for Frame using Pointer to allow deallocation with PointerScope (issue #1152)
    • โž• Add and depend on modularized JavaCPP Presets to comply with JPMS
    • โฌ†๏ธ Upgrade dependencies for FFmpeg 4.1.3, libfreenect 0.5.7, and Leptonica 1.78.0
    • ๐Ÿ‘ Allow allocation of Frame images with custom strides
    • Take into account Bitmap.getRowBytes() in AndroidFrameConverter.convert(Bitmap) (issue #1143)
    • โž• Add static { Loader.load(); } in LeptonicaFrameConverter and OpenCVFrameConverter to prevent link errors (issue #1128)
  • v1.4.4 Changes

    January 11, 2019
    • Add FFmpegFrameGrabber(InputStream, int) constructor to set the maximum cache size used for seeking
    • Set pts and dts for AVPacket in FFmpegFrameRecorder.recordPacket() (pull #1097)
    • Prevent premature deallocations with LeptonicaFrameConverter (issue bytedeco/javacpp#272) and OpenCVFrameConverter.IplImage (issue #1101)
    • Fix OpenCVFrameGrabber from crashing when in ImageMode.GRAY
    • Add support for multiple inputs to FFmpegFrameFilter (issue #955)
    • Fix fps in output of FFmpegFrameRecorder by setting deprecated AVStream.codec.time_base (issue #1069)
    • Fix memory leak in FFmpegFrameRecorder on writePacket() (issue #1068)
    • Upgrade dependencies for OpenCV 4.0.1, FFmpeg 4.1, FlyCapture, Leptonica 1.77.0, and Tesseract 4.0.0
  • v1.4.3 Changes

    October 15, 2018
    • Add imageScalingFlags property to FrameGrabber and FrameRecorder, with SWS_BILINEAR as default for FFmpeg (issue #845)
    • Add OpenCVFrameConverter.ToOrgOpenCvCoreMat to easily but efficiently get image data from official Java API of OpenCV (issue bytedeco/javacpp#38)
    • Keep globally shared callback objects for FFmpeg out of PointerScope (issue #911)
    • Upgrade dependencies for OpenCV 3.4.3, FFmpeg 4.0.2, and Tesseract 4.0.0-rc2
    • Update the Demo class to use the C++ API of OpenCV (issue #1042)
    • Add new DeepLearningFaceDetection (pull #1041) and PerspectiveWarpDemo (pull #1066) samples
  • v1.4.2 Changes

    July 17, 2018
    • Allow FFmpegFrameGrabber to use accelerated decoders with videoCodecName and audioCodecName properties (pull #948)
    • Add new KazemiFacemarkExample and LBFFacemarkExampleWithVideo samples (pull #1030)
    • Expose apiPreference constructor argument of VideoCapture to OpenCVFrameGrabber (pull #1025)
    • Add LeptonicaFrameConverter to easily but efficiently pass image data to Tesseract (issue bytedeco/javacpp-presets#224)
    • Update RecordActivity to fix issue with pixel formats (issue #979)
    • Fix FFmpegFrameFilter to support negative strides returned by "vflip" (pull #977)
    • Fix FFmpegFrameFilter on Mac throwing "Resource temporarily unavailable" (issue #974)
    • Upgrade dependencies for OpenCV 3.4.2, FFmpeg 4.0.1 and Tesseract 4.0.0-beta.3
    • Add initial limited version of JavaFXFrameConverter (pull #969)
    • Revert default behavior of FFmpegFrameGrabber.setTimestamp() to previous version (pull #949)
    • Add support for audio frames to FFmpegFrameFilter (issue #492)
    • Add setpts=N to input of FFmpegFrameFilter to make fade and overlay filters behave as expected (issue #667)
    • Fix crash on FFmpegFrameRecorder.stop() when no audio samples are left to write
  • v1.4.1 Changes

    March 29, 2018
    • Improve seeking and frame number estimates in FFmpegFrameGrabber (pull #908)
    • Add maxBFrames, trellis, and maxDelay properties to FFmpegFrameRecorder (pull #939)
    • Introduce FFmpegFrameGrabber.maxDelay property (pull #938)
    • Upgrade dependencies for OpenCV 3.4.1, FFmpeg 3.4.2
    • Allow enabling streams with RealSenseFrameGrabber.setFormat() for compatibility (pull #922)
    • Process audio frames after FFmpegFrameGrabber.setTimestamp() to avoid corrupted images (issue #896)
    • Fix FFmpegFrameRecorder not flushing all audio samples properly (pull #886)
    • Give access to pixel format, etc for images returned by FFmpegFrameFilter.pull() (issue #887)