MIR.SceneChange
0.0.2
dotnet add package MIR.SceneChange --version 0.0.2
NuGet\Install-Package MIR.SceneChange -Version 0.0.2
<PackageReference Include="MIR.SceneChange" Version="0.0.2" />
<PackageVersion Include="MIR.SceneChange" Version="0.0.2" />
<PackageReference Include="MIR.SceneChange" />
paket add MIR.SceneChange --version 0.0.2
#r "nuget: MIR.SceneChange, 0.0.2"
#:package MIR.SceneChange@0.0.2
#addin nuget:?package=MIR.SceneChange&version=0.0.2
#tool nuget:?package=MIR.SceneChange&version=0.0.2
MIR.SceneChange
Managed, WWXD-like scene change detection logic ported to .NET 10.
This package only contains the detection algorithm. It does not decode video. Your host application must provide luma (Y) frames.
API
SceneChange.WwxdDetector: streaming scene change detector
Typical Usage (streaming)
The recommended integration is to decode/copy luma directly into the detector's internal buffer:
using SceneChange;
unsafe
{
using var detector = new WwxdDetector(width, height);
for (var frameIndex = 0; frameIndex < frameCount; frameIndex++)
{
nint dst = detector.GetWriteBuffer(out var dstStride);
// Fill dst with the luma plane for this frame (top-left origin).
// If possible, also apply right/bottom padding to 16x16 macroblock rounding.
DecodeOrCopyLuma(frameIndex, dst, dstStride);
// If your decoder already produced padded16 luma, prefer NoPad().
bool scene = detector.CommitWrittenFrameNoPad();
// WWXD behavior: frame 0 returns scene=true.
}
}
Padded Pair Usage
Use AnalyzePaddedFrames directly when a host already owns padded frame buffers:
using SceneChange;
unsafe
{
using var detector = new WwxdDetector(width, height);
bool scene = detector.AnalyzePaddedFrames(
previousFrameOrigin,
currentFrameOrigin,
detector.EdgedWidth,
intraCount);
}
This API is intentionally pair-oriented. The existing WwxdDetector streaming API remains the recommended integration for normal CPU-only detection.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.2 | 84 | 5/15/2026 |