public void SelectDebayer(int downscale) { lock (this) { Debayer newDebayer = null; switch (downscale) { case 0: newDebayer = new DebayerBilinear(); break; default: newDebayer = new DebayerHalfRes(1 << (downscale - 1)); break; } newDebayer.BlackLevel = Debayer.BlackLevel; newDebayer.WhiteLevel = Debayer.WhiteLevel; newDebayer.Brightness = Debayer.Brightness; newDebayer.Saturation = Debayer.Saturation; newDebayer.CamMatrix = Debayer.CamMatrix; newDebayer.WhiteBalance = Debayer.WhiteBalance; newDebayer.UseCorrectionMatrices = Debayer.UseCorrectionMatrices; Debayer = newDebayer; } }