cmsDoTransform(cmsTransform.handle, input, output, 1);
}
public void doTransform(ShortInterleavedRaster input, ShortInterleavedRaster output) {
if (cmsTransform != null) {
ShortInterleavedRaster ri = normalizeRaster(input);
ShortInterleavedRaster ro;
int outBands = output.getNumBands();
if (!input.getBounds().equals(output.getBounds())) {
int[] offsets = outBands == 1 ? new int[] {0} : new int[] {0, 1, 2};
SampleModel sm = new PixelInterleavedSampleModel(DataBuffer.TYPE_USHORT,
ri.getWidth(), ri.getHeight(),
outBands, outBands * ri.getWidth(),
offsets);
ro = new ShortInterleavedRaster(sm, new Point(ri.getMinX(), ri.getMinY()));
} else
ro = normalizeRaster(output);
int pixels = outBands == 1 ? ro.getDataStorage().length : ro.getDataStorage().length / outBands;
cmsDoTransform(cmsTransform.handle, ri.getDataStorage(), ro.getDataStorage(), pixels);
if (ro != output)
Functions.copyData(output, ro);
}
}