public void GetLoopContextWithPrevious(bool isSelfCalculated, bool ensureSelfCalculated) { short num = 20; var sampleCount = 100; var(adpcm, coefs) = GenerateAudio.GenerateAdpcmEmpty(sampleCount); var previous = new GcAdpcmLoopContext(num, num, num, num, isSelfCalculated); var builder = new GcAdpcmChannelBuilder(adpcm, coefs, sampleCount) .WithLoop(true, num, sampleCount) .WithPrevious(null, previous, null) .PrepareForBuild(); builder.EnsureLoopContextIsSelfCalculated = ensureSelfCalculated; var context = builder.GetLoopContext(); Assert.Equal(previous, context); }
public void CreateLoopContextWithNoPrevious(short predScale, short hist1, short hist2, int loopStart, bool isSelfCalculated) { var sampleCount = 100; var(adpcm, coefs) = GenerateAudio.GenerateAdpcmEmpty(sampleCount); var builder = new GcAdpcmChannelBuilder(adpcm, coefs, sampleCount) .WithLoop(true, loopStart, sampleCount) .WithLoopContext(loopStart, predScale, hist1, hist2, isSelfCalculated); builder.AlignedLoopStart = loopStart; var context = builder.GetLoopContext(); Assert.Equal(predScale, context.PredScale); Assert.Equal(hist1, context.Hist1); Assert.Equal(hist2, context.Hist2); Assert.Equal(loopStart, context.LoopStart); Assert.Equal(isSelfCalculated, context.IsSelfCalculated); }
public void GetLoopContextReplacePrevious(short expected, int loopStart, bool isSelfCalculated, bool ensureSelfCalculated) { short num = 20; short numLarge = 25; var sampleCount = 100; var(adpcm, coefs) = GenerateAudio.GenerateAdpcmEmpty(sampleCount); var previous = new GcAdpcmLoopContext(num, num, num, num, isSelfCalculated); var builder = new GcAdpcmChannelBuilder(adpcm, coefs, sampleCount) .WithPrevious(null, previous, null) .WithLoop(true, loopStart, sampleCount) .WithLoopContext(numLarge, numLarge, numLarge, numLarge, isSelfCalculated) .PrepareForBuild(); builder.EnsureLoopContextIsSelfCalculated = ensureSelfCalculated; var context = builder.GetLoopContext(); Assert.Equal(expected, context.PredScale); Assert.Equal(expected, context.Hist1); Assert.Equal(expected, context.Hist2); Assert.Equal(loopStart, context.LoopStart); }