Package icyllis.arc3d.core
Class PixelUtils
java.lang.Object
icyllis.arc3d.core.PixelUtils
Utilities to access and convert pixels, heap and native.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceLoad pixel value in low precision.static interfaceLoad or store pixel value in high precision.static interfaceStore pixel value in low precision. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanconvertPixels(@NonNull ImageInfo srcInfo, Object srcBase, long srcAddr, long srcRowBytes, @NonNull ImageInfo dstInfo, Object dstBase, long dstAddr, long dstRowBytes) Performs color type, alpha type, and color space conversion.static booleanconvertPixels(@NonNull ImageInfo srcInfo, Object srcBase, long srcAddr, long srcRowBytes, @NonNull ImageInfo dstInfo, Object dstBase, long dstAddr, long dstRowBytes, boolean flipY) Performs color type, alpha type, color space, and origin conversion.static booleanconvertPixels(@NonNull Pixmap src, @NonNull Pixmap dst) Performs color type, alpha type, and color space conversion.static booleanconvertPixels(@NonNull Pixmap src, @NonNull Pixmap dst, boolean flipY) Performs color type, alpha type, color space, and origin conversion.static voidcopyImage(long srcAddr, long srcRowBytes, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount) Copy memory row by row.static voidcopyImage(long srcAddr, long srcRowBytes, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount, boolean flipY) Copy memory row by row, allowing vertical flip.static voidcopyImage(Object srcBase, long srcAddr, long srcRowBytes, Object dstBase, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount) Copy memory row by row, allowing heap to off-heap copy.static voidcopyImage(Object srcBase, long srcAddr, long srcRowBytes, Object dstBase, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount, boolean flipY) Copy memory row by row, allowing heap to off-heap copy and vertical flip.static @NonNull PixelUtils.PixelLoadload(int ct) Load a pixel value in low precision.static intload_ABGR_8888(Object base, long addr) static voidload_ABGR_8888(Object base, long addr, float[] dst) static intload_ALPHA_16(Object base, long addr) static voidload_ALPHA_16(Object base, long addr, float[] dst) static intload_ALPHA_8(Object base, long addr) static voidload_ALPHA_8(Object base, long addr, float[] dst) static intload_ALPHA_F16(Object base, long addr) static voidload_ALPHA_F16(Object base, long addr, float[] dst) static intload_ARGB_8888(Object base, long addr) static voidload_ARGB_8888(Object base, long addr, float[] dst) static intload_BGR_565(Object base, long addr) static voidload_BGR_565(Object base, long addr, float[] dst) static intload_BGRA_1010102(Object base, long addr) static voidload_BGRA_1010102(Object base, long addr, float[] dst) static intload_BGRA_8888(Object base, long addr) static voidload_BGRA_8888(Object base, long addr, float[] dst) static intload_GRAY_8(Object base, long addr) static voidload_GRAY_8(Object base, long addr, float[] dst) static intload_GRAY_ALPHA_88(Object base, long addr) static voidload_GRAY_ALPHA_88(Object base, long addr, float[] dst) static intstatic voidstatic intstatic voidstatic intload_R_F16(Object base, long addr) static voidload_R_F16(Object base, long addr, float[] dst) static intload_RG_1616(Object base, long addr) static voidload_RG_1616(Object base, long addr, float[] dst) static intload_RG_88(Object base, long addr) static voidload_RG_88(Object base, long addr, float[] dst) static intload_RG_F16(Object base, long addr) static voidload_RG_F16(Object base, long addr, float[] dst) static intload_RGB_888(Object base, long addr) static voidload_RGB_888(Object base, long addr, float[] dst) static intload_RGBA_1010102(Object base, long addr) static voidload_RGBA_1010102(Object base, long addr, float[] dst) static intload_RGBA_16161616(Object base, long addr) static voidload_RGBA_16161616(Object base, long addr, float[] dst) static intload_RGBA_8888(Object base, long addr) static voidload_RGBA_8888(Object base, long addr, float[] dst) static intload_RGBA_F16(Object base, long addr) static voidload_RGBA_F16(Object base, long addr, float[] dst) static intload_RGBA_F32(Object base, long addr) static voidload_RGBA_F32(Object base, long addr, float[] dst) static intload_RGBX_8888(Object base, long addr) static voidload_RGBX_8888(Object base, long addr, float[] dst) static @NonNull PixelUtils.PixelOploadOp(int ct) Load a pixel value in high precision.static voidpackA8ToBW(Object srcBase, long srcAddr, int srcRowBytes, Object dstBase, long dstAddr, int dstRowBytes, int width, int height) Pack Alpha8 format to B/W format.static voidsetPixel16(Object base, long addr, short value, int count) static voidsetPixel32(Object base, long addr, int value, int count) static voidsetPixel64(Object base, long addr, long value, int count) static @NonNull PixelUtils.PixelStorestore(int ct) Store a pixel value in low precision.static voidstore_ABGR_8888(Object base, long addr, float[] src) static voidstore_ABGR_8888(Object base, long addr, int src) static voidstore_ALPHA_16(Object base, long addr, float[] src) static voidstore_ALPHA_8(Object base, long addr, float[] src) static voidstore_ALPHA_8(Object base, long addr, int src) static voidstore_ALPHA_F16(Object base, long addr, float[] src) static voidstore_ARGB_8888(Object base, long addr, float[] src) static voidstore_ARGB_8888(Object base, long addr, int src) static voidstore_BGR_565(Object base, long addr, float[] src) static voidstore_BGR_565(Object base, long addr, int src) static voidstore_BGRA_1010102(Object base, long addr, float[] src) static voidstore_BGRA_8888(Object base, long addr, float[] src) static voidstore_BGRA_8888(Object base, long addr, int src) static voidstore_GRAY_8(Object base, long addr, float[] src) static voidstore_GRAY_8(Object base, long addr, int src) static voidstore_GRAY_ALPHA_88(Object base, long addr, float[] src) static voidstore_GRAY_ALPHA_88(Object base, long addr, int src) static voidstore_R_16(Object base, long addr, float[] src) static voidstatic voidstatic voidstore_R_F16(Object base, long addr, float[] src) static voidstore_RG_1616(Object base, long addr, float[] src) static voidstore_RG_88(Object base, long addr, float[] src) static voidstore_RG_88(Object base, long addr, int src) static voidstore_RG_F16(Object base, long addr, float[] src) static voidstore_RGB_888(Object base, long addr, float[] src) static voidstore_RGB_888(Object base, long addr, int src) static voidstore_RGBA_1010102(Object base, long addr, float[] src) static voidstore_RGBA_16161616(Object base, long addr, float[] src) static voidstore_RGBA_8888(Object base, long addr, float[] src) static voidstore_RGBA_8888(Object base, long addr, int src) static voidstore_RGBA_F16(Object base, long addr, float[] src) static voidstore_RGBA_F32(Object base, long addr, float[] src) static voidstore_RGBX_8888(Object base, long addr, float[] src) static voidstore_RGBX_8888(Object base, long addr, int src) static @NonNull PixelUtils.PixelOpstoreOp(int ct) Store a pixel value in high precision.static voidunpackBWToA8(Object srcBase, long srcAddr, int srcRowBytes, Object dstBase, long dstAddr, int dstRowBytes, int width, int height) Unpack B/W format to Alpha8 format.
-
Field Details
-
NATIVE_BIG_ENDIAN
public static final boolean NATIVE_BIG_ENDIAN- See Also:
-
kColorSpaceXformFlagUnpremul
public static final int kColorSpaceXformFlagUnpremul- See Also:
-
kColorSpaceXformFlagLinearize
public static final int kColorSpaceXformFlagLinearize- See Also:
-
kColorSpaceXformFlagGamutTransform
public static final int kColorSpaceXformFlagGamutTransform- See Also:
-
kColorSpaceXformFlagEncode
public static final int kColorSpaceXformFlagEncode- See Also:
-
kColorSpaceXformFlagPremul
public static final int kColorSpaceXformFlagPremul- See Also:
-
-
Constructor Details
-
PixelUtils
public PixelUtils()
-
-
Method Details
-
copyImage
public static void copyImage(long srcAddr, long srcRowBytes, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount) Copy memory row by row. -
copyImage
public static void copyImage(long srcAddr, long srcRowBytes, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount, boolean flipY) Copy memory row by row, allowing vertical flip. -
copyImage
public static void copyImage(Object srcBase, long srcAddr, long srcRowBytes, Object dstBase, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount) Copy memory row by row, allowing heap to off-heap copy. -
copyImage
public static void copyImage(Object srcBase, long srcAddr, long srcRowBytes, Object dstBase, long dstAddr, long dstRowBytes, long trimRowBytes, int rowCount, boolean flipY) Copy memory row by row, allowing heap to off-heap copy and vertical flip. -
packA8ToBW
public static void packA8ToBW(Object srcBase, long srcAddr, int srcRowBytes, Object dstBase, long dstAddr, int dstRowBytes, int width, int height) Pack Alpha8 format to B/W format. -
unpackBWToA8
public static void unpackBWToA8(Object srcBase, long srcAddr, int srcRowBytes, Object dstBase, long dstAddr, int dstRowBytes, int width, int height) Unpack B/W format to Alpha8 format. -
setPixel16
-
setPixel32
-
setPixel64
-
load_BGR_565
-
load_RGBA_1010102
-
load_BGRA_1010102
-
load_R_8
-
load_RG_88
-
load_RGB_888
-
load_RGBX_8888
-
load_RGBA_8888
-
load_BGRA_8888
-
load_ABGR_8888
-
load_ARGB_8888
-
load_GRAY_8
-
load_GRAY_ALPHA_88
-
load_ALPHA_8
-
load_R_16
-
load_RG_1616
-
load_RGBA_16161616
-
load_ALPHA_16
-
load_R_F16
-
load_RG_F16
-
load_RGBA_F16
-
load_ALPHA_F16
-
load_RGBA_F32
-
load
Load a pixel value in low precision. -
store_BGR_565
-
store_R_8
-
store_RG_88
-
store_RGB_888
-
store_RGBX_8888
-
store_RGBA_8888
-
store_BGRA_8888
-
store_ABGR_8888
-
store_ARGB_8888
-
store_GRAY_8
-
store_GRAY_ALPHA_88
-
store_ALPHA_8
-
store
Store a pixel value in low precision. -
load_BGR_565
-
load_RGBA_1010102
-
load_BGRA_1010102
-
load_R_8
-
load_RG_88
-
load_RGB_888
-
load_RGBX_8888
-
load_RGBA_8888
-
load_BGRA_8888
-
load_ABGR_8888
-
load_ARGB_8888
-
load_GRAY_8
-
load_GRAY_ALPHA_88
-
load_ALPHA_8
-
load_R_16
-
load_RG_1616
-
load_RGBA_16161616
-
load_ALPHA_16
-
load_R_F16
-
load_RG_F16
-
load_RGBA_F16
-
load_ALPHA_F16
-
load_RGBA_F32
-
loadOp
Load a pixel value in high precision. -
store_BGR_565
-
store_RGBA_1010102
-
store_BGRA_1010102
-
store_R_8
-
store_RG_88
-
store_RGB_888
-
store_RGBX_8888
-
store_RGBA_8888
-
store_BGRA_8888
-
store_ABGR_8888
-
store_ARGB_8888
-
store_GRAY_8
-
store_GRAY_ALPHA_88
-
store_ALPHA_8
-
store_R_16
-
store_RG_1616
-
store_RGBA_16161616
-
store_ALPHA_16
-
store_R_F16
-
store_RG_F16
-
store_RGBA_F16
-
store_ALPHA_F16
-
store_RGBA_F32
-
storeOp
Store a pixel value in high precision. -
convertPixels
Performs color type, alpha type, and color space conversion. Addresses (offsets) must be aligned to bytes-per-pixel, scaling is not allowed. -
convertPixels
Performs color type, alpha type, color space, and origin conversion. Addresses (offsets) must be aligned to bytes-per-pixel (except for non-power-of-two), scaling is not allowed. -
convertPixels
public static boolean convertPixels(@NonNull ImageInfo srcInfo, Object srcBase, long srcAddr, long srcRowBytes, @NonNull ImageInfo dstInfo, Object dstBase, long dstAddr, long dstRowBytes) Performs color type, alpha type, and color space conversion. Addresses (offsets) must be aligned to bytes-per-pixel, scaling is not allowed. -
convertPixels
public static boolean convertPixels(@NonNull ImageInfo srcInfo, Object srcBase, long srcAddr, long srcRowBytes, @NonNull ImageInfo dstInfo, Object dstBase, long dstAddr, long dstRowBytes, boolean flipY) Performs color type, alpha type, color space, and origin conversion. Addresses (offsets) must be aligned to bytes-per-pixel (except for non-power-of-two), scaling is not allowed.
-