float[] a = ((DataBufferFloat)in).getData();
flipCopyWithGamma(FloatBuffer.wrap(a, start, a.length - start), step, out.asFloatBuffer(), widthStep()/4, gamma, false);
} else if (in instanceof DataBufferInt) {
int[] a = ((DataBufferInt)in).getData();
if (depth() == IPL_DEPTH_8U || depth() == IPL_DEPTH_8S) {
out = out.order(ByteOrder.LITTLE_ENDIAN);
}
flipCopyWithGamma(IntBuffer.wrap(a, start, a.length - start), step, out.asIntBuffer(), widthStep()/4, gamma, false);
} else if (in instanceof DataBufferShort) {
short[] a = ((DataBufferShort)in).getData();
flipCopyWithGamma(ShortBuffer.wrap(a, start, a.length - start), step, out.asShortBuffer(), widthStep()/2, true, gamma, false);