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 ByteToBytePixelConverter
srcarr
- 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 ByteToBytePixelConverter
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 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 ByteToBytePixelConverter
srcarr
- 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)