diff --git a/src/main/java/azgracompress/cli/CliConstants.java b/src/main/java/azgracompress/cli/CliConstants.java index 29222fded52aaf8cf54c08e0582c22dc0edc6980..62ea677bd33fcca64b08c34892cbe3eb3ab32d19 100644 --- a/src/main/java/azgracompress/cli/CliConstants.java +++ b/src/main/java/azgracompress/cli/CliConstants.java @@ -34,8 +34,8 @@ public class CliConstants { public static final String WORKER_COUNT_SHORT = "wc"; public static final String WORKER_COUNT_LONG = "worker-count"; - public static final String CODEBOOK_CACHE_FOLDER_SHORT = "wc"; - public static final String CODEBOOK_CACHE_FOLDER_LONG = "worker-count"; + public static final String CODEBOOK_CACHE_FOLDER_SHORT = "cbc"; + public static final String CODEBOOK_CACHE_FOLDER_LONG = "codebook-cache"; public static final String SCALAR_QUANTIZATION_SHORT = "sq"; public static final String SCALAR_QUANTIZATION_LONG = "scalar-quantization"; diff --git a/src/main/java/azgracompress/compression/ImageCompressor.java b/src/main/java/azgracompress/compression/ImageCompressor.java index 20cb982594b32b98606cd17a66e439d28809225e..6f0b45b30f8a4f5c6f5edb34bc09efea9a575576 100644 --- a/src/main/java/azgracompress/compression/ImageCompressor.java +++ b/src/main/java/azgracompress/compression/ImageCompressor.java @@ -98,9 +98,13 @@ public class ImageCompressor extends CompressorDecompressorBase { private QCMPFileHeader createHeader() { QCMPFileHeader header = new QCMPFileHeader(); + header.setQuantizationType(options.getQuantizationType()); header.setBitsPerPixel((byte) options.getBitsPerPixel()); - header.setCodebookPerPlane(!options.hasReferencePlaneIndex()); + + // Codebook per plane is used only if reference plane isn't set nor is the cache folder. + final boolean oneCodebook = options.hasReferencePlaneIndex() || options.hasCodebookCacheFolder(); + header.setCodebookPerPlane(!oneCodebook); header.setImageSizeX(options.getImageDimension().getX()); header.setImageSizeY(options.getImageDimension().getY()); diff --git a/src/main/java/azgracompress/compression/SQImageCompressor.java b/src/main/java/azgracompress/compression/SQImageCompressor.java index f49727da939e0a5b1b8870232d9ae80db0126953..5f8f8392dedb6e467503691ad3947789f26051ee 100644 --- a/src/main/java/azgracompress/compression/SQImageCompressor.java +++ b/src/main/java/azgracompress/compression/SQImageCompressor.java @@ -85,6 +85,7 @@ public class SQImageCompressor extends CompressorDecompressorBase implements IIm Log("Loading codebook from cache file."); quantizer = loadQuantizerFromCache(); Log("Cached quantizer created."); + writeCodebookToOutputStream(quantizer, compressStream); } else if (options.hasReferencePlaneIndex()) { // TODO(Moravec): Reference plane will be deprecated in favor of 'middle' plane. stopwatch.restart(); diff --git a/src/main/java/azgracompress/compression/VQImageCompressor.java b/src/main/java/azgracompress/compression/VQImageCompressor.java index 52fd5af86b17db93203697621670a7ccdd6d5315..fe3d027130aafc6d51284e3302220e90a0c7036f 100644 --- a/src/main/java/azgracompress/compression/VQImageCompressor.java +++ b/src/main/java/azgracompress/compression/VQImageCompressor.java @@ -94,6 +94,7 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm Log("Loading codebook from cache file."); quantizer = loadQuantizerFromCache(); Log("Cached quantizer created."); + writeQuantizerToCompressStream(quantizer, compressStream); } else if (options.hasReferencePlaneIndex()) { stopwatch.restart();