public void recycleTile(Raster tile) { DataBuffer db = tile.getDataBuffer(); Long key = getKey(db.getDataType(), db.getNumBanks(), db.getSize()); if (LOGGER.isLoggable(Level.FINER)) { LOGGER.log( Level.FINER, "Recycling tile hit on type:{1}, banks: {2}, arrayLength: {3}", new Object[] {db.getDataType(), db.getNumBanks(), db.getSize()}); } ConcurrentLinkedQueue<SoftReference<?>> arrays = get(key); if (arrays == null) { arrays = new ConcurrentLinkedQueue<SoftReference<?>>(); arrays.add(getBankReference(db)); put(key, arrays); return; } else { arrays.add(getBankReference(db)); } }
if (colorMapData.getNumBanks() < 3 || colorMapData.getNumBanks() > 4) { throw new IllegalArgumentException( "colorMapData shall have 3 or 4 banks: " + colorMapData.getNumBanks()); final int numBanks = colorMapData.getNumBanks(); final int mapSize = colorMapData.getSize();
Long.valueOf( ((long) db.getDataType() << 56) | ((long) db.getNumBanks() << 32) | (long) db.getSize()); + db.getDataType() + " " + db.getNumBanks() + " " + db.getSize()); memoryUsed += getDataBankSize(db.getDataType(), db.getNumBanks(), db.getSize());
int nrBanks = raster.getDataBuffer().getNumBanks(); DataBuffer dataBuffer; switch (dataType) {
ImageTypeSpecifier singleBandRowSpec = ImageTypeSpecifiers.createGrayscale(header.bits, pSourceCM.getTransferType()); WritableRaster rowRaster = singleBandRowSpec.createBufferedImage(header.width, 1).getRaster(); boolean banded = destRaster.getDataBuffer().getNumBanks() > 1; int interleavedBands = banded ? 1 : destRaster.getNumBands();
final WritableRaster rowRaster = sourceCM.createCompatibleWritableRaster((int) Math.ceil(width / (double) sourceCM.getNumComponents()), 1); final boolean banded = raster.getDataBuffer().getNumBanks() > 1; final int interleavedBands = banded ? 1 : raster.getNumBands();
final DataBuffer rowBuffer = shift != 0 ? rowRaster.getDataBuffer() : null; for (int b = 0; b < dataBuffer.getNumBanks(); b++) { for (int y = offsetY; y < tileHeight + offsetY; y++) { final int yOff = y * stride * numBands; for (int b = 0; b < dataBuffer.getNumBanks(); b++) { for (int y = offsetY; y < tileHeight + offsetY; y++) { int yOff = y * stride / 2; for (int b = 0; b < dataBuffer.getNumBanks(); b++) { for (int y = offsetY; y < tileHeight + offsetY; y++) { int yOff = y * stride / 4; for (int b = 0; b < dataBuffer.getNumBanks(); b++) { for (int y = 0; y < tileHeight; y++) { final int yOff = y * tileWidth;
final boolean banded = pData.getNumBanks() > 1;
int colorComponents = pSourceColorModel.getColorSpace().getNumComponents(); final boolean invert = isCMYK && pChannel < colorComponents; final boolean banded = pData.getNumBanks() > 1;
int colorComponents = pSourceColorModel.getColorSpace().getNumComponents(); final boolean invert = isCMYK && pChannel < colorComponents; final boolean banded = pData.getNumBanks() > 1;
int colorComponents = pSourceColorModel.getColorSpace().getNumComponents(); final boolean invert = isCMYK && pChannel < colorComponents; final boolean banded = pData.getNumBanks() > 1;
int bands = dataBuffer.getNumBanks(); boolean banded = bands > 1;
if (pBuffer.getNumBanks() > 1) { for (int y = 0; y < pHeight; y++) { for (int x = 0; x < pWidth; x++) {
private static boolean areImagesBuffersEqual(DataBuffer expected, DataBuffer actual) { return actual.getDataType() == expected.getDataType() && actual.getNumBanks() == expected.getNumBanks() && actual.getSize() == expected.getSize() && areImagesBytesEqual(actual, expected); }
private static boolean areImagesBytesEqual(DataBuffer expected, DataBuffer actual) { for (int bank = 0; bank < expected.getNumBanks(); bank++) { for (int i = 0; i < expected.getSize(); i++) { if (expected.getElem(bank, i) != actual.getElem(bank, i)) { return false; } } } return true; } }
private static boolean isEmpty(BufferedImage image) { final DataBuffer pixData = image.getRaster().getDataBuffer(); final int bankCount = pixData.getNumBanks(); final int size = pixData.getSize(); for (int i = 0; i < bankCount; i++) { for (int j = 0; j < size; j++) { if (pixData.getElem(i, j) != 0xFF) return false; } } return true; } }
private static boolean isEmpty(BufferedImage image) { final DataBuffer pixData = image.getRaster().getDataBuffer(); final int bankCount = pixData.getNumBanks(); final int size = pixData.getSize(); for (int i = 0; i < bankCount; i++) { for (int j = 0; j < size; j++) { if (pixData.getElem(i, j) != 0xFF) return false; } } return true; } }
private static boolean isEmpty(BufferedImage image) { final DataBuffer pixData = image.getRaster().getDataBuffer(); final int bankCount = pixData.getNumBanks(); final int size = pixData.getSize(); for (int i = 0; i < bankCount; i++) { for (int j = 0; j < size; j++) { if (pixData.getElem(i, j) != 0xFF) return false; } } return true; } }
static int sizeOf(BufferedImage bi) { DataBuffer db = bi.getData().getDataBuffer(); return db.getSize() * db.getNumBanks() * (DataBuffer.getDataTypeSize(db.getDataType()) >>> 3); }
static int sizeOf(BufferedImage bi) { DataBuffer db = bi.getData().getDataBuffer(); return db.getSize() * db.getNumBanks() * (DataBuffer.getDataTypeSize(db.getDataType()) / 8); }