diff --git a/src/main/java/azgracompress/compression/ImageDecompressor.java b/src/main/java/azgracompress/compression/ImageDecompressor.java index 36d60cc62705220a0b2764e923d11d50fa3159af..8597e7255f7f327d68ea856e362cc42062031a37 100644 --- a/src/main/java/azgracompress/compression/ImageDecompressor.java +++ b/src/main/java/azgracompress/compression/ImageDecompressor.java @@ -114,7 +114,8 @@ public class ImageDecompressor extends CompressorDecompressorBase { logBuilder.append("Vector size Z:\t\t").append(header.getVectorSizeZ()).append('\n'); final long fileSize = new File(options.getInputFile()).length(); - final long dataSize = fileSize - header.getHeaderSize(); + final long headerSize = header.getHeaderSize(); + final long dataSize = fileSize - headerSize; final IImageDecompressor decompressor = getImageDecompressor(header); @@ -125,11 +126,17 @@ public class ImageDecompressor extends CompressorDecompressorBase { fileSize, (fileSize / 1000), ((fileSize / 1000) / 1000))); + + logBuilder.append("Header size:\t\t").append(headerSize).append(" Bytes\n"); logBuilder.append("Data size:\t\t").append(dataSize).append(" Bytes ").append(dataSize == expectedDataSize ? "(correct)\n" : "(INVALID)\n"); - final long uncompressedSize = header.getImageDims().multiplyTogether() * 2; + final long pixelCount = header.getImageDims().multiplyTogether(); + final long uncompressedSize = 2 * pixelCount; // We assert 16 bit (2 byte) pixel. final double compressionRatio = (double) fileSize / (double) uncompressedSize; logBuilder.append(String.format("Compression ratio:\t%.5f\n", compressionRatio)); + + final double BPP = ((double) fileSize * 8.0) / (double) pixelCount; + logBuilder.append(String.format("Bits Per Pixel (BPP):\t%.5f\n", BPP)); } }