new byte[] { 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0xAA, 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0x22, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA })] // Apple PackBits sample public async Task DecompressStreamAsync_DecompressData(byte[] compressedData, byte[] uncompressedData) { var stream = new StreamBuilder(ByteOrder.LittleEndian) .WriteBytes(compressedData) .ToStream(); var data = await PackBitsDecompressor.DecompressStreamAsync(stream, compressedData.Length, uncompressedData.Length); Assert.Equal(uncompressedData, data); }
public static Task <byte[]> DecompressStreamAsync(Stream stream, TiffCompression compression, int compressedLength, int uncompressedLength) { switch (compression) { case TiffCompression.None: return(DecompressStreamAsync_None(stream, compressedLength)); case TiffCompression.PackBits: return(PackBitsDecompressor.DecompressStreamAsync(stream, compressedLength, uncompressedLength)); default: throw new NotSupportedException($"The compression format '{compression}' is not supported."); } }