private void Decompress() { DecompressedText = Header.Flags.HasFlagFast(NSOFlag.CompressedText) ? LZ4.Decode(CompressedText, Header.HeaderText.DecompressedSize) : CompressedText; DecompressedRO = Header.Flags.HasFlagFast(NSOFlag.CompressedRO) ? LZ4.Decode(CompressedRO, Header.HeaderRO.DecompressedSize) : CompressedRO; DecompressedData = Header.Flags.HasFlagFast(NSOFlag.CompressedData) ? LZ4.Decode(CompressedData, Header.HeaderData.DecompressedSize) : CompressedData; }
private void Compress() { CompressedText = Header.Flags.HasFlagFast(NSOFlag.CompressedText) ? LZ4.Encode(DecompressedText) : DecompressedText; Header.SizeCompressedText = CompressedText.Length; Header.HeaderText.DecompressedSize = DecompressedText.Length; Header.HashText = Hash(DecompressedText); CompressedRO = Header.Flags.HasFlagFast(NSOFlag.CompressedRO) ? LZ4.Encode(DecompressedRO) : DecompressedRO; Header.SizeCompressedRO = CompressedRO.Length; Header.HeaderRO.DecompressedSize = DecompressedRO.Length; Header.HashRO = Hash(DecompressedRO); CompressedData = Header.Flags.HasFlagFast(NSOFlag.CompressedData) ? LZ4.Encode(DecompressedData) : DecompressedData; Header.SizeCompressedData = CompressedData.Length; Header.HeaderData.DecompressedSize = DecompressedData.Length; Header.HashData = Hash(DecompressedData); }
public static byte[] GetDecompressedSegment(BinaryReader br, SegmentHeader h, int sizeCompressed) { byte[] data = GetCompressedSegment(br, h, sizeCompressed); return(LZ4.Decode(data, h.DecompressedSize)); }