Scene-change detection for .NET 10. The managed reference detector is based on vapoursynth-wwxd. Native backends use one common provider ABI and are released as separate Windows x64 assets.
| Backend | Input | Product release | Documentation |
|---|---|---|---|
| WWXD | GRAY8_PADDED16 |
v0.1.0 |
native WWXD |
| Xvid/Scxvid | YUV420P8 |
v0.1.0 |
native Xvid |
| Hybrid/Vulkan | YUV420P8 |
experimental, no release asset | Hybrid |
WWXD and Xvid are separate DLLs and separate ZIP assets even though they share
the v0.1.0 release tag. Hybrid and Vulkan remain opt-in development backends.
The provider contract is declared in
src/native/abi/scenechange_provider.h.
Each released backend exports only scenechange_provider_get_api; the returned
table owns frame buffers, reset, progress callbacks, and scene-change results.
The current ABI is 1.0.0 (0x00010000).
dotnet build SceneChange.slnx -c Release
dotnet test SceneChange.slnx -c Release --no-buildThe main NuGet package is MIR.SceneChange. The native Xvid binding is kept for
source-level integration and tests; native binaries are distributed separately
to avoid cross-platform multi-package deployment.
The unified tag v0.1.0 produces:
scenechange_wwxd-v0.1.0-win-x64.zip
scenechange_xvid-v0.1.0-win-x64.zip
Native package versions come from the Git tag, not a CI version variable. The
NuGet package keeps its independent project version and is released with a
nuget-v<version> tag.
Each archive contains its DLL, LICENSE, and release-manifest.txt. The Xvid
archive also identifies the pinned Xvid and VapourSynth reference commits.
Both native backends are GPL v2; source and notices must accompany binary
redistribution.