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

Changelog History
Page 3

  • v0.9 Changes

    July 27, 2014
    • Remove platform property from pom.xml, replaced with the platform.dependency one in JavaCPP Presets (issue #10)
    • Add new RLSA sample, thanks to Nicholas Woodward (issue #469)
    • Fix a timestamp rounding issue in FFmpegFrameGrabber that causes setFrameNumber() to sometimes pick the wrong frame if FPS is not a proper divisor of 1000000 (issue #5)
    • Increase the flexibility of the pom.xml file by making it possible to specify a custom version of JavaCPP
    • Add missing dependencies for JogAmp in the pom.xml file (issue #2)
    • Add new OpenCVFaceRecognizer sample, thanks to Petter Christian Bjelland
    • Add new OpticalFlowDense sample, thanks to Dawit Gebreyohannes (issue #468)
    • Make it easier to try out the sample (issue #1)
  • v0.8 Changes

    April 28, 2014
    • Move from Google Code to GitHub as main source code repository
    • Upgrade support to OpenCV 2.4.9
    • Upgrade supported FFmpeg API to the 2.2 release branch
    • Fix FFmpegFrameRecorder not refreshing the resampler when the format of samples changes (issue #465)
    • Rename the com.googlecode.javacv.cpp package to org.bytedeco.javacpp, and com.googlecode.javacv to org.bytedeco.javacv
    • Removed old NetBeans project files that cause a conflict when trying to open as a Maven project (issue #210)
    • Adjusted the samples a bit because of small changes in the API with the move to the JavaCPP Presets
    • Fixed ObjectFinder not working with recent versions of OpenCV, especially on Android (issue #214)
    • Added new FrameRecorder.gopSize property to let users set a desired GOP size instead of the default one of 12
    • FFmpegFrameGrabber now takes into account calls to setPixelFormat() (issue #429), but does not enforce it
    • Added a Frame.audioChannels field for resampling purposes in FFmpegFrameRecorder (issue #388)
    • In FFmpegFrameRecorder, fixed audio encoding with the Vorbis codec (issue #428) and the WebM container (issue #435), and other audio related things
    • Added missing allocateArray() constructors to CameraParams and MatchesInfo (issue #421)
    • Fixed errors such as "jniopencv_nonfree.dll: Can't find dependent libraries" by adding the opencv_ocl module as dependency
    • Added support to seek in audio-only streams with FFmpegFrameGrabber.setTimestamp() (issue #417)
    • Fixed potential thread concurrency issues and crash in the stopRecording() and onDestroy() methods of the RecordActivity sample, thanks to Jacob Duron
    • To capture the last frame of a video file, reverted FFmpegFrameGrabber.setTimestamp() to its previous behavior (issue #413)
    • Updated samples/FaceApplet.jnlp to make it work with JDK/JRE 7u45
  • v0.7 Changes

    January 06, 2014
    • Upgraded support to OpenCV 2.4.8
    • Upgraded supported FFmpeg API to the 2.1 release branch
    • Updated freenect to reflect the latest changes of OpenKinect's master branch
    • Updated videoInput to reflect the latest changes in the "update2013" branch
    • Added Frame.opaque field to give access to the raw AVFrame in the case of FFmpegFrameGrabber (issue #399)
    • Added new FFmpegFrameGrabber.grabKeyFrame() method to grab key frames (I-frames) directly (issue #312)
    • VideoInputFrameGrabber now uses 640x480 as default image size to prevent "videoInput.getPixels() Error: Could not get pixels."
    • Fixed FFmpegFrameGrabber.setTimestamp() not working for streams with audio (issue #398)
    • Fixed wrong haarcascade_frontalface_alt.xml file getting downloaded by the Demo class (issue #402)
    • Added a Frame.sampleRate field to allow audio samples to be resampled by FFmpegFrameRecorder (issue #388)
    • Incorporated IPCameraFrameGrabber from Greg Perry (issue #384)
    • Fixed thread safety issues with FFmpeg in FFmpegFrameGrabber and FFmpegFrameRecorder (issue #377)
    • Fixed memory leak in the sample file (issue #372)
    • New videoCodecName and audioCodecName properties to allow users of FFmpegFrameRecorder to use codecs such as "libx264rgb" (issue #369)
  • v0.6 Changes

    September 15, 2013
    • Upgraded supported FFmpeg API to the 2.0 release branch (with Java interface files now based on code automatically produced by JavaCPP Presets)
    • Fixed FFmpegFrameGrabber.getFrameNumber()
    • Upgraded support to OpenCV 2.4.6
    • Fixed callbacks when used with custom class loaders such as with Web containers
    • Upgraded to ARToolKitPlus 2.3.0 (issue #234)
    • Fixed drawing issues with MarkerDetector.draw()
    • Fixed FFmpegFrameGrabber.getTimestamp() not returning values for audio frames (issue #328)
    • Added new Frame.keyFrame field returned by FFmpegFrameGrabber.grabFrame() to know when a grabbed frame is a key frame or not (issue #312)
    • Worked around problem in samples/ that would happen when trying to record a frame with an invalid timestamp (issue #313)
    • Fixed potential resource leak that could occur after FFmpegFrameRecorder throwing an Exception
    • Fixed FFmpegFrameGrabber not returning the last few frames of video streams (issue #315)
    • Fixed wrong dependencies of OpenCV preventing correct loading (issue #304)
    • Renamed FrameRecorder.record(Buffer[] samples) to a cleaner record(Buffer ... samples) (issue #303)
    • Fixed FFmpegFrameRecorder not flushing buffers on stop() (issue #302)
  • v0.5 Changes

    April 07, 2013
    • Upgraded support to OpenCV 2.4.5
    • Upgraded supported FFmpeg API to the 1.2 release branch
    • New methods FFmpegFrameRecorder.setVideoOption() and setAudioOption() generalize the way to set arbitrary codec options, such as "profile", "preset", "tune", etc. used by the x264 codec
    • Included better format guessing inside FFmpegFrameRecorder for protocols like RTP
    • Added support for planar audio formats to FFmpegFrameGrabber and FFmpegFrameRecorder, as required by newer versions of FFmpeg for at least MP3 and AAC
    • Enhanced FFmpegFrameRecorder by making it use the closest supported frame rate for the given codec instead of failing
    • To support variable bitrate (VBR) encoding, appended new videoQuality and audioQuality properties to FFmpegFrameRecorder, which usually have an effective range of [0, 51] and overrides the videoBitrate and audioBitrate properties
  • v0.4 Changes

    March 03, 2013
    • Upgraded support to OpenCV 2.4.4
    • CanvasFrame.waitKey(-1) does not wait anymore and returns the last KeyEvent dispatched since the last call to it
    • Upgraded supported FFmpeg API to the 1.1 release branch
    • Fixed bug in sample (issue #276)
    • Included Sobel(), Scharr(), Laplacian(), and Canny() from opencv_imgproc whose equivalent functions in the C API have missing parameters
    • Extended OpenKinectFrameGrabber with setDepthFormat() and setVideoFormat() methods to be able to set both formats independently (issue #273)
    • Fixed Blender.blend() having its @OutputMat incorrectly annotated as @InputMat (issue #272)
    • Added new Android sample from Shawn Van Every and Qianliang Zhang
    • Added missing allocate() methods for FunctionPointer in AVIOContext and others, which prevented these FFmpeg callbacks from functioning
    • Fixed infinite loop in FrameGrabber.Array.grab() (as used by ProCamCalib in the case of stereo cameras, issue #262) when FrameGrabber.getTimestamp() returns an invalid negative value (as with opencv_highgui) or when using different types of (unsynchronized) FrameGrabber together
    • Fixed cvQueryHistValue_1D() and other functions that use a raw CvArr object
    • Fixed problem when subclassing CanvasFrame
  • v0.3 Changes

    November 04, 2012
    • Upgraded support to OpenCV 2.4.3 (issue #233)
    • Fixed functions like Algorithm.getMat() and HOGDescriptor.getDefaultPeopleDetector() returning null instead of the expected data
    • Implemented better, more transparent, handling of cv::Ptr
    • When allocating an empty IplImage, CvMat, CvBGCodeBookModel, etc. its memory content now gets zeroed out, giving OpenCV a better chance of displaying an error message instead of crashing
    • Upgraded supported FFmpeg API to the 1.0 release branch
    • Appended to StringVector and MatVector new convenient bulk constructors and put() methods taking arrays of String, IplImage, CvMat, etc.
    • Included new Blobs module from David Grossman and the corresponding BlobDemo sample
    • Added missing opencv_core.partition() function (issue #144)
    • Fixed up the samples a bit (issue #229 and issue #230)
    • Switched the majority of @Adapter annotations to more concise ones like @StdVector as allowed by new capabilities of JavaCPP
    • Fixed FFmpegFrameGrabber.getLengthInFrames() and OpenCVFrameGrabber.getLengthInTime() (issue #231 and issue #236)
    • Enhanced FFmpegFrameRecorder to support conversion between audio sample formats (for the experimental AAC encoder among other things) and to let two different threads call record(samples) and record(image) simultaneously, plus a couple of other features like setFrameNumber(), which lets users skip image frames (achieving variable frame rate)
    • Added a javacpp.skip property to pom.xml, such that a command like mvn package -Pall -Djavacpp.skip=true only recompiles the Java source files, but also added platform.root and compiler.path properties, which map directly to JavaCPP's for convenience
  • v0.2 Changes

    July 21, 2012
    • Provided new javacv-linux-arm.jar build thanks to Jeremy Nicola (issue #184)
    • Additional default properties inside pom.xml make it easier to build JavaCV from source (issue #202), calling mvn package now succeeds with only OpenCV and a C++ compiler for JavaCPP
    • Made a few minor updates for OpenCV 2.4.2
    • New Pointer.limit property of JavaCPP can now be used to get the size of an output parameter, and to specify the maximum size on input as well
    • Upgraded supported FFmpeg API to the 0.11 release branch
    • Added audio support to FFmpegFrameGrabber (call grabFrame() instead of grab()) and FFmpegFrameRecorder (call setAudioChannels() before start(), and record(Frame) instead of record(IplImage)) (issue #160)
    • Gave better default FFmpegFrameRecorder settings to H.263, MPEG-4, etc. codecs and fixed H.264 encoding with libx264 (issue #160)
    • Refined the FaceApplet sample
    • Fixed FlannBasedMatcher constructor, FaceRecognizer.train(), and Stitcher.stitch()/composePanorama() (issue #211)
    • Fixed CanvasFrame sometimes blanking out under Windows and maybe Linux (issue #212)
  • v0.1 Changes

    May 27, 2012
    • Started using version numbers, friendly to tools like Maven, and placing packages in a sort of Maven repository
    • JavaCV can now extract and load native dependent libraries such as, libopencv_core.2.4.dylib, opencv_core240.dll, etc. from Java resources placed inside the com.googlecode.javacv.cpp.<> package (i.e.: under the /com/googlecode/javacv/cpp/<>/ directory of a JAR file in the classpath) (issue #146)
    • Included new FaceApplet sample to demonstrate How to use JavaCV in an applet
    • Added handy IplImage.asCvMat() and CvMat.asIplImage() conversion methods
    • Fixed a few small things with OpenCVFrameGrabber, opencv_contrib, opencv_legacy, and opencv_stitching