public override Tile DoAction(Tile input) { byte[,] x, y, z; this.Input = new[] { input }; Triplet <short[, ]> triplet = input.GetMatrices <short>(); RFXDecoderWrapper.YUVToRGB(triplet.X, triplet.Y, triplet.Z, out x, out y, out z); var resultTriplet = new Triplet <byte[, ]>(x, y, z); Tile output = Tile.FromMatrices <byte>(resultTriplet); this.Result = new[] { output }; return(output); }
public override Tile DoAction(Tile input) { short[,] x, y, z; this.Input = new[] { input }; Triplet <short[, ]> triplet = input.GetMatrices <short>(); RFXDecoderWrapper.Dequantization(triplet.X, QuantArray.quants[0], out x); RFXDecoderWrapper.Dequantization(triplet.Y, QuantArray.quants[1], out y); RFXDecoderWrapper.Dequantization(triplet.Z, QuantArray.quants[2], out z); var resultTriplet = new Triplet <short[, ]>(x, y, z); Tile output = Tile.FromMatrices <short>(resultTriplet); this.Result = new[] { output }; return(output); }
public override Tile DoAction(Tile input) { short[] x, y, z; this.Input = new[] { input }; Triplet <byte[]> triplet = input.GetArrays <byte>(); //// better use foreach, instead of repeating the code.. RFXDecoderWrapper.RLGRDecode(triplet.X, this.Mode, out x); RFXDecoderWrapper.RLGRDecode(triplet.Y, this.Mode, out y); RFXDecoderWrapper.RLGRDecode(triplet.Z, this.Mode, out z); var resultTriplet = new Triplet <short[]>(x, y, z); Tile output = Tile.FromArrays <short>(resultTriplet); this.Result = new[] { output }; return(output); }
public override Tile DoAction(Tile input) { short[,] x, y, z; this.Input = new[] { input }; Triplet <short[]> triplet = input.GetArrays <short>(); //// better use foreach, instead of repeating the code.. RFXDecoderWrapper.SubBandReconstruction(triplet.X, out x); RFXDecoderWrapper.SubBandReconstruction(triplet.Y, out y); RFXDecoderWrapper.SubBandReconstruction(triplet.Z, out z); var resultTriplet = new Triplet <short[, ]>(x, y, z); Tile output = Tile.FromMatrices <short>(resultTriplet); this.Result = new[] { output }; return(output); }