Skip to content

v0.5.1 — F8.6 pixel-buffer engine parity

Choose a tag to compare

@bhargavkanda bhargavkanda released this 25 May 17:02
· 208 commits to main since this release

Closes the v0.5.0 follow-up tracker for F8.6.

Highlights

Live engines (hybrid + firstwins) skip the JPEG encode/decode round-trip. Both engines gained a new addFramePixelData(nv21, ...) ingest path that constructs the BGR cv::Mat in-process via Imgproc.cvtColor(yuv, COLOR_YUV2BGR_NV21). Legacy addFrameAtPath is now a thin wrapper that decodes a JPEG and delegates to the shared addFrameMat helper.

Measured on Galaxy A35, engine: 'firstwins-rectilinear':

Outcome F8.6 pixel-data Legacy JPEG path
AcceptedHigh (first-frame init) 7-11 ms ~50-70 ms
SkippedTooClose (gate bail) 0.5-2 ms ~50-60 ms (imread is unconditional)

SkippedTooClose is ~95% of frames at 30 fps in a slow-pan capture — that's where the bulk of the win comes from.

API additions

  • <Camera engine={...}> prop lets hosts opt into live engines ('firstwins-rectilinear', 'hybrid', 'slitscan-*'). Default 'batch-keyframe' preserves v0.5.0 behaviour.
  • IncrementalStitcher.ingestFromARCameraView got nv21PixelData / nv21PixelWidth / nv21PixelHeight optional params. Backwards-compatible — null defaults pin every existing caller to the legacy JPEG path.

Installation

npm install react-native-image-stitcher@0.5.1

The postinstall fetches the iOS xcframework (26 MB) + Android OpenCV SDK (42 MB) from this release.

See CHANGELOG.md [0.5.1] for the full Added / Changed / Fixed surface.

Full Changelog: v0.5.0...v0.5.1