예제 #1
0
        public override async Task InitializeAsync(MediaCapture mediaCapture)
        {
            await base.InitializeAsync(mediaCapture);

            OutputWidth  = 1920;
            OutputHeight = 1080;

            FilterLayer = PrecalculateFilterOffsets(1);
        }
예제 #2
0
        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);
        }