public void GetMetadataInfoFromNearLosslessEncodedColorImage() { var source = ReadAllBytes("T8C0E3.JLS"); var info = JpegLSCodec.GetMetadataInfo(source); var expected = new JpegLSMetadataInfo { Height = 256, Width = 256, BitsPerComponent = 8, ComponentCount = 3, AllowedLossyError = 3 }; Assert.AreEqual(expected, info); }
public void Decompress() { var source = ReadAllBytes("T8C0E0.JLS"); var expected = ReadAllBytes("TEST8.PPM", 15); var uncompressed = JpegLSCodec.Decompress(source); var info = JpegLSCodec.GetMetadataInfo(source); if (info.InterleaveMode == JpegLSInterleaveMode.None && info.ComponentCount == 3) { expected = TripletToPlanar(expected, info.Width, info.Height); } Assert.AreEqual(expected, uncompressed); }
public void Compress() { var info = new JpegLSMetadataInfo(256, 256, 8, 3); var uncompressedOriginal = ReadAllBytes("TEST8.PPM", 15); uncompressedOriginal = TripletToPlanar(uncompressedOriginal, info.Width, info.Height); var compressedSegment = JpegLSCodec.Compress(info, uncompressedOriginal); var compressed = new byte[compressedSegment.Count]; Array.Copy(compressedSegment.Array, compressed, compressed.Length); var compressedInfo = JpegLSCodec.GetMetadataInfo(compressed); Assert.AreEqual(info, compressedInfo); var uncompressed = JpegLSCodec.Decompress(compressed); Assert.AreEqual(info.UncompressedSize, uncompressed.Length); Assert.AreEqual(uncompressedOriginal, uncompressed); }