public override async Task InitializeAsync(MediaCapture mediaCapture) { await base.InitializeAsync(mediaCapture); OutputWidth = 1920; OutputHeight = 1080; FilterLayer = PrecalculateFilterOffsets(1); }
protected FilterOffsets PrecalculateFilterOffsets(int layer) { int offset(int row, int col) => ((OutputWidth * row) + col) * CHUNK; var result = new FilterOffsets { TL = offset(-layer, -layer), TC = offset(-layer, 0), TR = offset(-layer, layer), CL = offset(0, -layer), CC = offset(0, 0), CR = offset(0, layer), BL = offset(layer, -layer), BC = offset(layer, 0), BR = offset(layer, layer), }; result.Min = result.TL * -1; result.Max = (OutputWidth * OutputHeight * CHUNK) - result.BR - CHUNK; return(result); }