v1.1.4 — up to 6x faster decoding
Highlights
- Up to 6x faster decoding — FFmpeg threading was never enabled (
thread_countdefaulted to 1); decoders and the non-realtime encoder path now auto-detect core count - Zero-copy decode output — decoded frames are adopted directly instead of being copied twice per frame on the JS thread
Benchmarks (1080p, 150 frames, M4 Pro, median of 3): H.264 decode 310 → 1,839 fps · VP9 decode 470 → 1,577 fps · VP9 encode 15 → 49 fps
Fixed
AudioDecoder.flush()resolved before deferred outputs were emitted, so outputs read afterawait flush()appeared empty- VP9/VP8 encoding never enabled
row-mt(and VP9 got no tile columns), preventing multithreaded encoding
Improved
VideoFramebuffer constructor no longer keeps a redundant JS-side copy when a native frame exists- Publish and CI now gate on the spec-compliance suite
- Releases publish via npm trusted publishing (OIDC) — no more expiring tokens
Versions 1.1.0–1.1.3 were tagged but never published to npm (release pipeline auth migration); this release supersedes them.