public override Tile[] DoAction(Tile[] inputs) { Triplet <byte[, ]> output; this.Input = inputs; RFXPDecoderWrapper.YUVToRGB(inputs[0].GetMatrices <short>(), out output); Tile tile = Tile.FromMatrices <byte>(output); this.Result = new[] { tile }; return(new[] { tile }); }
public override Tile[] DoAction(Tile[] inputs) { Triplet <short[, ]> output; this.Input = inputs; RFXPDecoderWrapper.InverseDWT(inputs[0].GetMatrices <short>(), UseReduceExtrapolate.Enabled, out output); Tile tile = Tile.FromMatrices <short>(output); this.Result = new[] { tile }; return(new[] { tile }); }
public override Tile[] DoAction(Tile[] inputs) { Triplet <short[, ]> output; this.Input = inputs; QuantizationFactorsArray quants = (QuantizationFactorsArray)Parameters[Constants.PARAM_NAME_QUANT_FACTORS_ARRAY]; RFXPDecoderWrapper.DeQuantization(inputs[0].GetMatrices <short>(), quants, UseReduceExtrapolate.Enabled, out output); Tile tile = Tile.FromMatrices <short>(output); this.Result = new[] { tile }; return(new[] { tile }); }
public override Tile[] DoAction(Tile[] inputs) { Triplet <short[]> output; this.Input = inputs; QuantizationFactorsArray quants = (QuantizationFactorsArray)Parameters[Constants.PARAM_NAME_PROGRESSIVE_QUANTS]; RFXPDecoderWrapper.ProgressiveDequantization(inputs[0].GetArrays <short>(), quants, UseReduceExtrapolate.Enabled, out output); Tile tile = Tile.FromArrays <short>(output); this.Result = new[] { tile }; return(new[] { tile }); }
public override Tile[] DoAction(Tile[] inputs) { Triplet <short[]> output; this.Input = inputs; Frame lastFrame = (Frame)Parameters[Constants.PARAM_NAME_PREVIOUS_FRAME]; EncodedTileType encodeType = (EncodedTileType)Parameters[Constants.PARAM_NAME_ENCODED_TILE_TYPE]; Triplet <short[]> preTriplet = lastFrame == null ? null : lastFrame.Tile.GetArrays <short>(); RFXPDecoderWrapper.SubBandDiffing(inputs[0].GetArrays <short>(), preTriplet, ParamUseDifferenceTile.Enabled, encodeType.Type, out output); Tile tile = Tile.FromArrays <short>(output); this.Result = new[] { tile }; return(new[] { tile }); }
public override Tile[] DoAction(Tile[] inputs) { Triplet <short[]> output; this.Input = inputs; EncodedTileType encodeType = (EncodedTileType)Parameters[Constants.PARAM_NAME_ENCODED_TILE_TYPE]; if (encodeType == null || encodeType.Type == EncodedTileType.EncodedType.Simpe || encodeType.Type == EncodedTileType.EncodedType.FirstPass) { RFXPDecoderWrapper.RLGRDecode(inputs[0].GetArrays <byte>(), Mode, UseReduceExtrapolate.Enabled, out output); } else { Frame DAS = (Frame)Parameters[Constants.PARAM_NAME_DAS]; QuantizationFactorsArray quants = (QuantizationFactorsArray)Parameters[Constants.PARAM_NAME_PROGRESSIVE_QUANTS]; QuantizationFactorsArray preQuants = (QuantizationFactorsArray)Parameters[Constants.PARAM_NAME_PREVIOUS_PROGRESSIVE_QUANTS]; RFXPDecoderWrapper.SRLDecode(inputs[0].GetArrays <byte>(), inputs[1].GetArrays <byte>(), quants, DAS.Tile.GetArrays <short>(), preQuants, UseReduceExtrapolate.Enabled, out output); } Tile tile = Tile.FromArrays <short>(output); this.Result = new[] { tile }; return(new[] { tile }); }