diff --git a/src/main/java/azgracompress/compression/VQImageCompressor.java b/src/main/java/azgracompress/compression/VQImageCompressor.java index 33cadffa9d106ab1ef7a559f583a5df9a44e3ca7..695cd163a97122fd81733fec4f6e240919bdcf40 100644 --- a/src/main/java/azgracompress/compression/VQImageCompressor.java +++ b/src/main/java/azgracompress/compression/VQImageCompressor.java @@ -131,7 +131,6 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm } final int[][] planeVectors = plane.toQuantizationVectors(options.getVectorDimension()); - Log("PlaneVectorCount: %d", planeVectors.length); if (!hasGeneralQuantizer) { Log(String.format("Training vector quantizer from plane %d.", planeIndex)); diff --git a/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java b/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java index 9d7e12e87e94941b0a60d03b065d64e72e931e25..70cb909ca8680e13d59fbcb7a733f9efef639673 100644 --- a/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java +++ b/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java @@ -693,14 +693,27 @@ public class LBGVectorQuantizer { * @return Array of training vectors. */ private TrainingVector[] getEntryTrainingVectors(final int entryIndex, final int vectorCount) { - TrainingVector[] vectors = new TrainingVector[vectorCount]; + int index = 0; + + // TrainingVector[] vectors = new TrainingVector[vectorCount]; + int count = 0; + for (final TrainingVector trainingVector : trainingVectors) { + if (trainingVector.getEntryIndex() == entryIndex) { + ++count; + } + } + TrainingVector[] vectors = new TrainingVector[count]; +// if (count > vectorCount) { +// System.err.println(String.format( +// "WARNING: got more training vectors than vectorCount! DIFF: %d", +// count - vectorCount)); +// } for (final TrainingVector trainingVector : trainingVectors) { if (trainingVector.getEntryIndex() == entryIndex) { vectors[index++] = trainingVector; } } - assert (index == vectorCount); return vectors; }