abstract class BaseByteToByteConverter extends java.lang.Object implements ByteToBytePixelConverter
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
BaseByteToByteConverter.ByteAnyToSameConverter |
(package private) static class |
BaseByteToByteConverter.FourByteReorderer |
| Modifier and Type | Field and Description |
|---|---|
protected BytePixelGetter |
getter |
protected int |
nDstElems |
protected int |
nSrcElems |
protected BytePixelSetter |
setter |
| Constructor and Description |
|---|
BaseByteToByteConverter(BytePixelGetter getter,
BytePixelSetter setter) |
| Modifier and Type | Method and Description |
|---|---|
void |
convert(byte[] srcarr,
int srcoff,
int srcscanbytes,
byte[] dstarr,
int dstoff,
int dstscanbytes,
int w,
int h)
Copies a rectangular region of data from the source array to the
destination array using the following relationship:
|
void |
convert(byte[] srcarr,
int srcoff,
int srcscanbytes,
java.nio.ByteBuffer dstbuf,
int dstoff,
int dstscanbytes,
int w,
int h)
Copies a rectangular region of data from the source array to the
destination buffer using the following relationship:
|
void |
convert(java.nio.ByteBuffer srcbuf,
int srcoff,
int srcscanbytes,
byte[] dstarr,
int dstoff,
int dstscanbytes,
int w,
int h)
Copies a rectangular region of data from the source buffer to the
destination array using the following relationship:
|
void |
convert(java.nio.ByteBuffer srcbuf,
int srcoff,
int srcscanbytes,
java.nio.ByteBuffer dstbuf,
int dstoff,
int dstscanbytes,
int w,
int h)
Copies a rectangular region of data from the source buffer to the
destination buffer using the following relationship:
|
(package private) static ByteToBytePixelConverter |
create(BytePixelAccessor fmt) |
static ByteToBytePixelConverter |
createReorderer(BytePixelGetter getter,
BytePixelSetter setter,
int c0,
int c1,
int c2,
int c3) |
(package private) abstract void |
doConvert(byte[] srcarr,
int srcoff,
int srcscanbytes,
byte[] dstarr,
int dstoff,
int dstscanbytes,
int w,
int h) |
(package private) abstract void |
doConvert(java.nio.ByteBuffer srcbuf,
int srcoff,
int srcscanbytes,
java.nio.ByteBuffer dstbuf,
int dstoff,
int dstscanbytes,
int w,
int h) |
BytePixelGetter |
getGetter() |
BytePixelSetter |
getSetter() |
protected final BytePixelGetter getter
protected final BytePixelSetter setter
protected final int nSrcElems
protected final int nDstElems
BaseByteToByteConverter(BytePixelGetter getter, BytePixelSetter setter)
public final BytePixelGetter getGetter()
getGetter in interface PixelConverter<java.nio.ByteBuffer,java.nio.ByteBuffer>public final BytePixelSetter getSetter()
getSetter in interface PixelConverter<java.nio.ByteBuffer,java.nio.ByteBuffer>abstract void doConvert(byte[] srcarr,
int srcoff,
int srcscanbytes,
byte[] dstarr,
int dstoff,
int dstscanbytes,
int w,
int h)
abstract void doConvert(java.nio.ByteBuffer srcbuf,
int srcoff,
int srcscanbytes,
java.nio.ByteBuffer dstbuf,
int dstoff,
int dstscanbytes,
int w,
int h)
public final void convert(byte[] srcarr,
int srcoff,
int srcscanbytes,
byte[] dstarr,
int dstoff,
int dstscanbytes,
int w,
int h)
ByteToBytePixelConverter
for each xy : 0 <= x,y < w,h {
int srcpos = y * srcscanbytes + x * srcbytesperpixel + srcoff;
int dstpos = y * dstscanbytes + x * dstbytesperpixel + dstoff;
for each j : 0 <= j < srcbytesperpixel {
load data from srcarr[srcpos + j];
}
convert data to destination pixel format
for each k : 0 <= k < dstbytesperpixel {
store data into dstarr[dstpos + k] = pixel data;
}
}
convert in interface ByteToBytePixelConvertersrcarr - the byte array containing the source datasrcoff - the index in the array of the first source pixel datasrcscanbytes - number of array indices between rows of data in the sourcedstoff - the index in the array of the first destination pixel datadstscanbytes - number of array indices between rows of data in the destinationw - the number of pixels to process across before moving to the next rowh - the number of rows of pixels to processpublic final void convert(java.nio.ByteBuffer srcbuf,
int srcoff,
int srcscanbytes,
java.nio.ByteBuffer dstbuf,
int dstoff,
int dstscanbytes,
int w,
int h)
PixelConverter
for each xy : 0 <= x,y < w,h {
int srcpos = y * srcscanelems + x * srcelemsperpixel + srcoff;
int dstpos = y * dstscanelems + x * dstelemsperpixel + dstoff;
for each j : 0 <= j < srcelemsperpixel {
load data from srcbuf.get(srcpos + j);
}
convert data to destination pixel format
for each k : 0 <= k < dstelemsperpixel {
store data into dstbuf.put(dstpos + k, pixel data);
}
}
convert in interface PixelConverter<java.nio.ByteBuffer,java.nio.ByteBuffer>srcbuf - the nio buffer containing the source datasrcoff - the absolute location in the buffer of the first source pixel datasrcscanbytes - number of buffer elements between rows of data in the sourcedstbuf - the nio buffer containing the destination datadstoff - the absolute location in the buffer of the first destination pixel datadstscanbytes - number of buffer elements between rows of data in the destinationw - the number of pixels to process across before moving to the next rowh - the number of rows of pixels to processpublic final void convert(java.nio.ByteBuffer srcbuf,
int srcoff,
int srcscanbytes,
byte[] dstarr,
int dstoff,
int dstscanbytes,
int w,
int h)
ByteToBytePixelConverter
for each xy : 0 <= x,y < w,h {
int srcpos = y * srcscanbytes + x * srcbytesperpixel + srcoff;
int dstpos = y * dstscanbytes + x * dstbytesperpixel + dstoff;
for each j : 0 <= j < srcbytesperpixel {
load data from srcbuf.get(srcpos + j);
}
convert data to destination pixel format
for each k : 0 <= k < dstbytesperpixel {
store data into dstarr[dstpos + k] = pixel data;
}
}
convert in interface ByteToBytePixelConvertersrcbuf - the nio buffer containing the source datasrcoff - the absolute location in the buffer of the first source pixel datasrcscanbytes - number of buffer elements between rows of data in the sourcedstoff - the index in the array of the first destination pixel datadstscanbytes - number of array indices between rows of data in the destinationw - the number of pixels to process across before moving to the next rowh - the number of rows of pixels to processpublic final void convert(byte[] srcarr,
int srcoff,
int srcscanbytes,
java.nio.ByteBuffer dstbuf,
int dstoff,
int dstscanbytes,
int w,
int h)
ByteToBytePixelConverter
for each xy : 0 <= x,y < w,h {
int srcpos = y * srcscanbytes + x * srcbytesperpixel + srcoff;
int dstpos = y * dstscanbytes + x * dstbytesperpixel + dstoff;
for each j : 0 <= j < srcbytesperpixel {
load data from srcarr[srcpos + j];
}
convert data to destination pixel format
for each k : 0 <= k < dstbytesperpixel {
store data into dstbuf.put(dstpos + k, pixel data);
}
}
convert in interface ByteToBytePixelConvertersrcarr - the byte array containing the source datasrcoff - the index in the array of the first source pixel datasrcscanbytes - number of array indices between rows of data in the sourcedstbuf - the nio buffer containing the destination datadstoff - the absolute location in the buffer of the first destination pixel datadstscanbytes - number of buffer elements between rows of data in the destinationw - the number of pixels to process across before moving to the next rowh - the number of rows of pixels to processstatic ByteToBytePixelConverter create(BytePixelAccessor fmt)
public static ByteToBytePixelConverter createReorderer(BytePixelGetter getter, BytePixelSetter setter, int c0, int c1, int c2, int c3)