Skip to content

vhs-decode-dotnet-v0.4.0-1.4.1

Choose a tag to compare

@JunliangRen JunliangRen released this 29 Jul 19:21
Immutable release. Only release title and notes can be modified.
e6bc73e

Highlights

  • Pools the exact double-precision SOS odd-extension workspace and reuses worker-owned destinations for the VHS high-boost and sub-deemphasis SOS outputs.
  • Removes one final full-buffer copy from each complex PocketFFT transform by consuming the actual final radix buffer directly.
  • Preserves padding, data types, radix and packet order, per-sample arithmetic, normalization, output ordering, metadata, diagnostics, and cross-thread behavior.
  • Raises the standard xUnit v3 suite and CI minimum-test gate to 1,117 tests.

The three SOS workspace passes each removed a measured full-block allocation chain. In matched 80-frame traces, sampled managed allocation changed from 10.415 to 8.659 GiB for odd-extension pooling, from 8.667 to 7.797 GiB for the high-boost destination, and from 7.797 to 6.926 GiB for the sub-deemphasis destination. Longer compatibility runs remained bounded without progressive slowdown.

The final PocketFFT pass removed the old copy's 374.725 ms Memmove trace caller. Across two opposite-order 1,000-frame pairs, combined process CPU time fell from 1,122.171 to 1,111.078 seconds (0.99%), while combined wall time was effectively unchanged at 151.782/151.650 seconds. These changes reduce allocation, GC pressure, CPU work, and memory traffic; this release does not claim a new repeatable whole-pipeline wall-time speedup.

Validation

  • PRs #75 through #78 were merged through the protected main workflow.
  • Copilot reviewed all 11 files in PR #78 and generated no comments.
  • Protected-main Windows Release workflow passed at e6bc73e3b6a008a7ef0e5b2abbca8969e95ce074.
  • Local Release build completed with 0 warnings and 0 errors.
  • Standard xUnit v3 suite: 1,117 passed, 0 failed, 0 skipped.
  • Intel IPP native build and artifact verification passed in CI.
  • Exact v0.4.0 and current gates at 1, default 5, and 20 workers matched luma, chroma, raw JSON, stdout, normalized stderr/logs, and ordered fileLoc on the same private local 40 MHz NTSC BETAMAX_HIFI RF sample.
  • Six interleaved 160-frame pairs and two opposite-order 1,000-frame pairs matched all seven compatibility surfaces for the final candidate.
  • The packaged self-contained executable passed the vhs --help startup smoke test.

Package

Windows x64 binary-only package containing a single self-contained decode.exe.

  • decode.exe SHA-256: 5286A4BFBFFA20280211F3E46821266891661B7DCC232D59B249D31FEEA9ECC7
  • ZIP SHA-256: F1336ECA83B6D94B681F80A431CDAFEE05387199E47A028BB65957E291021A07