diff --git a/src/main/java/azgracompress/compression/VQImageCompressor.java b/src/main/java/azgracompress/compression/VQImageCompressor.java index ffb6c22ea763ffcc270cc61e09251e3d2b4c6c78..de00719fdb44827f1c1a77c4ebad57d7762a0698 100644 --- a/src/main/java/azgracompress/compression/VQImageCompressor.java +++ b/src/main/java/azgracompress/compression/VQImageCompressor.java @@ -228,7 +228,7 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm Log("Saving cache file to %s", options.getOutputFile()); QuantizationValueCache cache = new QuantizationValueCache(options.getOutputFile()); try { - cache.saveQuantizationValues(options.getInputFile(), lbgResult.getCodebook()); + cache.saveQuantizationValues(options.getInputFile(), lbgResult.getCodebook(), options.getVectorDimension()); } catch (IOException e) { throw new ImageCompressionException("Unable to write cache.", e); } diff --git a/src/main/java/azgracompress/quantization/QuantizationValueCache.java b/src/main/java/azgracompress/quantization/QuantizationValueCache.java index fca4c95f5659dec7dbc3fe6193dafe516507096c..78797c3ef0674df6cf24da5f66dc7f998c29b75e 100644 --- a/src/main/java/azgracompress/quantization/QuantizationValueCache.java +++ b/src/main/java/azgracompress/quantization/QuantizationValueCache.java @@ -1,5 +1,6 @@ package azgracompress.quantization; +import azgracompress.data.V2i; import azgracompress.quantization.vector.CodebookEntry; import java.io.*; @@ -50,10 +51,12 @@ public class QuantizationValueCache { } } - public void saveQuantizationValues(final String trainFile, final CodebookEntry[] entries) throws IOException { + public void saveQuantizationValues(final String trainFile, + final CodebookEntry[] entries, + final V2i qVecDims) throws IOException { final int codebookSize = entries.length; - final int entryWidth = entries[0].getWidth(); - final int entryHeight = entries[0].getHeight(); + final int entryWidth = qVecDims.getX(); + final int entryHeight = qVecDims.getY(); final String cacheFile = getCacheFileForVectorValues(trainFile, codebookSize, entryWidth,