Skip to content

Surfmeter Video Analyzer SDK Changelog

This is the changelog for the Surfmeter Video Analyzer SDK.

Note

The Video Analyzer SDK is currently in beta. The API and the metric values may change between releases.

0.12.0

Breaking changes

This release changes how you create the analyzer and how you pass frames. You need to update your code when you upgrade from 0.11.0 or earlier.

The SDK no longer uses OpenCV. It takes video frames as YUV 4:2:0 planes, which is the format that CameraX and most MediaCodec decoders deliver, so you no longer need to convert frames or include the OpenCV Android SDK in your app.

API changes:

  • analyzeFrame() takes the Y, U and V planes as direct ByteBuffers, with their row strides, the chroma pixel stride and a flag for full or limited range, instead of the address of an OpenCV Mat. See Analysis.
  • The new method analyzeImage(image, fullRange, frameIndex) analyzes an android.media.Image in ImageFormat.YUV_420_888 directly.
  • The constructor new VideoAnalyzerManager(context, fps) replaces the constructor with display width and height. Frames are analyzed at the size they are passed in.
  • The metric getSaturation() is replaced by getChroma(), and the feature SaturationFeature by ChromaFeature.

Metric changes:

  • Chroma replaces saturation. It is the mean distance from grey in the U/V plane. Unlike saturation, it does not give high values to dark scenes. See Metrics.
  • Freezing is now based on the normalized SAD instead of the scene score, so frames with steady motion are no longer flagged as frozen.
  • The temporal metrics (freezing, scene change, scene score, normalized SAD and jerkiness) and noise are computed on the luma plane. Their values change.
  • All metrics except chroma are computed on the exact full-range luma plane. The values change slightly compared with 0.11.0: brightness is about 1 level higher, blockiness and white level differ by up to about 20-30 %, contrast and Michelson contrast by up to a few percent, and the other metrics by up to about 3 %.