[gimp] plug-ins: adding RGBA and grayscale float variants + grayscale-alpha…
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] plug-ins: adding RGBA and grayscale float variants + grayscale-alpha…
- Date: Wed, 22 Jun 2022 18:28:34 +0000 (UTC)
commit 657d37a8fe8b83eeb62d966026a92148c1f95d11
Author: Jehan <jehan girinstud io>
Date: Wed Jun 22 19:01:13 2022 +0200
plug-ins: adding RGBA and grayscale float variants + grayscale-alpha…
… loading support as raw data.
Barely any new code (and actually a bit chunk of removed code) as we are
using generic code paths now.
"file-raw-load" procedure now supports all possible formats which can be
exported by the "file-raw-save" procedure (and more).
Only thing remaining now is looking how to simplify the GUI because this
overlong Pixel format combo box is quite a pain.
plug-ins/common/file-raw-data.c | 358 +++++++++++++++++++++++++++++-----------
1 file changed, 266 insertions(+), 92 deletions(-)
---
diff --git a/plug-ins/common/file-raw-data.c b/plug-ins/common/file-raw-data.c
index c90380c9c7..6e357895fd 100644
--- a/plug-ins/common/file-raw-data.c
+++ b/plug-ins/common/file-raw-data.c
@@ -96,30 +96,52 @@ typedef enum
RAW_RGBA_8BPP,
RAW_RGBA_16BPP_BE,
RAW_RGBA_16BPP_LE,
+ RAW_RGBA_16BPP_FLOAT,
RAW_RGBA_32BPP_BE,
RAW_RGBA_32BPP_LE,
+ RAW_RGBA_32BPP_FLOAT,
RAW_RGB565_BE, /* RGB Image 16bit, 5,6,5 bits per channel, big-endian */
RAW_RGB565_LE, /* RGB Image 16bit, 5,6,5 bits per channel, little-endian */
RAW_BGR565_BE, /* RGB Image 16bit, 5,6,5 bits per channel, big-endian, red and blue swapped */
RAW_BGR565_LE, /* RGB Image 16bit, 5,6,5 bits per channel, little-endian, red and blue swapped */
RAW_PLANAR, /* Planar RGB */
+
+ /* Grayscale Images */
RAW_GRAY_1BPP,
RAW_GRAY_2BPP,
RAW_GRAY_4BPP,
+
RAW_GRAY_8BPP,
- RAW_INDEXED, /* Indexed image */
- RAW_INDEXEDA, /* Indexed image with an Alpha channel */
RAW_GRAY_16BPP_BE,
RAW_GRAY_16BPP_LE,
RAW_GRAY_16BPP_SBE,
RAW_GRAY_16BPP_SLE,
+ RAW_GRAY_16BPP_FLOAT,
RAW_GRAY_32BPP_BE,
RAW_GRAY_32BPP_LE,
RAW_GRAY_32BPP_SBE,
RAW_GRAY_32BPP_SLE,
+ RAW_GRAY_32BPP_FLOAT,
+
+ RAW_GRAYA_8BPP,
+
+ RAW_GRAYA_16BPP_BE,
+ RAW_GRAYA_16BPP_LE,
+ RAW_GRAYA_16BPP_SBE,
+ RAW_GRAYA_16BPP_SLE,
+ RAW_GRAYA_16BPP_FLOAT,
+
+ RAW_GRAYA_32BPP_BE,
+ RAW_GRAYA_32BPP_LE,
+ RAW_GRAYA_32BPP_SBE,
+ RAW_GRAYA_32BPP_SLE,
+ RAW_GRAYA_32BPP_FLOAT,
+
+ RAW_INDEXED, /* Indexed image */
+ RAW_INDEXEDA, /* Indexed image with an Alpha channel */
} RawType;
typedef enum
@@ -350,7 +372,7 @@ raw_create_procedure (GimpPlugIn *plug_in,
GIMP_PROC_ARG_INT (procedure, "pixel-format",
"Pixel _format",
"How color pixel data are stored { RAW_PLANAR_CONTIGUOUS (0), RAW_PLANAR_SEPARATE
(1) }",
- RAW_RGB_8BPP, RAW_GRAY_32BPP_SLE, RAW_RGB_8BPP,
+ RAW_RGB_8BPP, RAW_INDEXEDA, RAW_RGB_8BPP,
G_PARAM_READWRITE);
/* Properties for palette data. */
@@ -745,18 +767,30 @@ raw_load_standard (RawGimpData *data,
g_return_val_if_fail (bpc * n_components == bpp, FALSE);
- is_big_endian = (type == RAW_GRAY_16BPP_BE ||
- type == RAW_GRAY_16BPP_SBE ||
- type == RAW_GRAY_32BPP_BE ||
- type == RAW_GRAY_32BPP_SBE ||
- type == RAW_RGB_16BPP_BE ||
- type == RAW_RGB_32BPP_BE ||
- type == RAW_RGBA_16BPP_BE ||
+ is_big_endian = (type == RAW_GRAY_16BPP_BE ||
+ type == RAW_GRAY_16BPP_SBE ||
+ type == RAW_GRAYA_16BPP_BE ||
+ type == RAW_GRAYA_16BPP_SBE ||
+ type == RAW_GRAY_32BPP_BE ||
+ type == RAW_GRAY_32BPP_SBE ||
+ type == RAW_GRAYA_32BPP_BE ||
+ type == RAW_GRAYA_32BPP_SBE ||
+ type == RAW_RGB_16BPP_BE ||
+ type == RAW_RGB_32BPP_BE ||
+ type == RAW_RGBA_16BPP_BE ||
type == RAW_RGBA_32BPP_BE);
- is_signed = (type == RAW_GRAY_16BPP_SBE ||
- type == RAW_GRAY_32BPP_SBE);
- is_float = (type == RAW_RGB_16BPP_FLOAT ||
- type == RAW_RGB_32BPP_FLOAT);
+ is_signed = (type == RAW_GRAY_16BPP_SBE ||
+ type == RAW_GRAYA_16BPP_SBE ||
+ type == RAW_GRAY_32BPP_SBE ||
+ type == RAW_GRAYA_32BPP_SBE);
+ is_float = (type == RAW_RGB_16BPP_FLOAT ||
+ type == RAW_RGB_32BPP_FLOAT ||
+ type == RAW_RGBA_16BPP_FLOAT ||
+ type == RAW_RGBA_32BPP_FLOAT ||
+ type == RAW_GRAY_16BPP_FLOAT ||
+ type == RAW_GRAYA_16BPP_FLOAT ||
+ type == RAW_GRAY_32BPP_FLOAT ||
+ type == RAW_GRAYA_32BPP_FLOAT);
iter = gegl_buffer_iterator_new (data->buffer, GEGL_RECTANGLE (0, 0, width, height),
0, NULL, GEGL_ACCESS_WRITE, GEGL_ABYSS_NONE, 1);
@@ -1365,11 +1399,13 @@ get_bpp (GimpProcedureConfig *config,
case RAW_RGBA_16BPP_BE:
case RAW_RGBA_16BPP_LE:
+ case RAW_RGBA_16BPP_FLOAT:
*bpp = 8;
break;
case RAW_RGBA_32BPP_BE:
case RAW_RGBA_32BPP_LE:
+ case RAW_RGBA_32BPP_FLOAT:
*bpp = 16;
break;
@@ -1401,6 +1437,7 @@ get_bpp (GimpProcedureConfig *config,
case RAW_GRAY_16BPP_LE:
case RAW_GRAY_16BPP_SBE:
case RAW_GRAY_16BPP_SLE:
+ case RAW_GRAY_16BPP_FLOAT:
*bpp = 2;
break;
@@ -1408,8 +1445,29 @@ get_bpp (GimpProcedureConfig *config,
case RAW_GRAY_32BPP_LE:
case RAW_GRAY_32BPP_SBE:
case RAW_GRAY_32BPP_SLE:
+ case RAW_GRAY_32BPP_FLOAT:
+ *bpp = 4;
+ break;
+
+ case RAW_GRAYA_8BPP:
+ *bpp = 2;
+ break;
+
+ case RAW_GRAYA_16BPP_BE:
+ case RAW_GRAYA_16BPP_LE:
+ case RAW_GRAYA_16BPP_SBE:
+ case RAW_GRAYA_16BPP_SLE:
+ case RAW_GRAYA_16BPP_FLOAT:
*bpp = 4;
break;
+
+ case RAW_GRAYA_32BPP_BE:
+ case RAW_GRAYA_32BPP_LE:
+ case RAW_GRAYA_32BPP_SBE:
+ case RAW_GRAYA_32BPP_SLE:
+ case RAW_GRAYA_32BPP_FLOAT:
+ *bpp = 8;
+ break;
}
}
}
@@ -1604,6 +1662,13 @@ load_image (GFile *file,
precision = GIMP_PRECISION_U16_NON_LINEAR;
break;
+ case RAW_RGBA_16BPP_FLOAT:
+ bpp = 8;
+ ltype = GIMP_RGBA_IMAGE;
+ itype = GIMP_RGB;
+ precision = GIMP_PRECISION_HALF_NON_LINEAR;
+ break;
+
case RAW_RGBA_32BPP_BE:
case RAW_RGBA_32BPP_LE:
bpp = 16;
@@ -1612,6 +1677,13 @@ load_image (GFile *file,
precision = GIMP_PRECISION_U32_NON_LINEAR;
break;
+ case RAW_RGBA_32BPP_FLOAT:
+ bpp = 16;
+ ltype = GIMP_RGBA_IMAGE;
+ itype = GIMP_RGB;
+ precision = GIMP_PRECISION_FLOAT_NON_LINEAR;
+ break;
+
case RAW_GRAY_1BPP:
bpp = 1;
bitspp = 1;
@@ -1658,6 +1730,13 @@ load_image (GFile *file,
precision = GIMP_PRECISION_U16_NON_LINEAR;
break;
+ case RAW_GRAY_16BPP_FLOAT:
+ bpp = 2;
+ ltype = GIMP_GRAY_IMAGE;
+ itype = GIMP_GRAY;
+ precision = GIMP_PRECISION_HALF_NON_LINEAR;
+ break;
+
case RAW_GRAY_32BPP_BE:
case RAW_GRAY_32BPP_LE:
case RAW_GRAY_32BPP_SBE:
@@ -1667,6 +1746,54 @@ load_image (GFile *file,
itype = GIMP_GRAY;
precision = GIMP_PRECISION_U32_NON_LINEAR;
break;
+
+ case RAW_GRAY_32BPP_FLOAT:
+ bpp = 4;
+ ltype = GIMP_GRAY_IMAGE;
+ itype = GIMP_GRAY;
+ precision = GIMP_PRECISION_FLOAT_NON_LINEAR;
+ break;
+
+ case RAW_GRAYA_8BPP:
+ bpp = 2;
+ ltype = GIMP_GRAYA_IMAGE;
+ itype = GIMP_GRAY;
+ precision = GIMP_PRECISION_U8_NON_LINEAR;
+ break;
+
+ case RAW_GRAYA_16BPP_BE:
+ case RAW_GRAYA_16BPP_LE:
+ case RAW_GRAYA_16BPP_SBE:
+ case RAW_GRAYA_16BPP_SLE:
+ bpp = 4;
+ ltype = GIMP_GRAYA_IMAGE;
+ itype = GIMP_GRAY;
+ precision = GIMP_PRECISION_U16_NON_LINEAR;
+ break;
+
+ case RAW_GRAYA_16BPP_FLOAT:
+ bpp = 4;
+ ltype = GIMP_GRAYA_IMAGE;
+ itype = GIMP_GRAY;
+ precision = GIMP_PRECISION_HALF_NON_LINEAR;
+ break;
+
+ case RAW_GRAYA_32BPP_BE:
+ case RAW_GRAYA_32BPP_LE:
+ case RAW_GRAYA_32BPP_SBE:
+ case RAW_GRAYA_32BPP_SLE:
+ bpp = 8;
+ ltype = GIMP_GRAYA_IMAGE;
+ itype = GIMP_GRAY;
+ precision = GIMP_PRECISION_U32_NON_LINEAR;
+ break;
+
+ case RAW_GRAYA_32BPP_FLOAT:
+ bpp = 8;
+ ltype = GIMP_GRAYA_IMAGE;
+ itype = GIMP_GRAY;
+ precision = GIMP_PRECISION_FLOAT_NON_LINEAR;
+ break;
}
/* make sure we don't load image bigger than file size */
@@ -1696,8 +1823,10 @@ load_image (GFile *file,
case RAW_RGBA_8BPP:
case RAW_RGBA_16BPP_BE:
case RAW_RGBA_16BPP_LE:
+ case RAW_RGBA_16BPP_FLOAT:
case RAW_RGBA_32BPP_BE:
case RAW_RGBA_32BPP_LE:
+ case RAW_RGBA_32BPP_FLOAT:
raw_load_standard (data, width, height, bpp, offset, pixel_format);
break;
@@ -1733,10 +1862,24 @@ load_image (GFile *file,
case RAW_GRAY_16BPP_LE:
case RAW_GRAY_16BPP_SBE:
case RAW_GRAY_16BPP_SLE:
+ case RAW_GRAY_16BPP_FLOAT:
case RAW_GRAY_32BPP_BE:
case RAW_GRAY_32BPP_LE:
case RAW_GRAY_32BPP_SBE:
case RAW_GRAY_32BPP_SLE:
+ case RAW_GRAY_32BPP_FLOAT:
+
+ case RAW_GRAYA_8BPP:
+ case RAW_GRAYA_16BPP_BE:
+ case RAW_GRAYA_16BPP_LE:
+ case RAW_GRAYA_16BPP_SBE:
+ case RAW_GRAYA_16BPP_SLE:
+ case RAW_GRAYA_16BPP_FLOAT:
+ case RAW_GRAYA_32BPP_BE:
+ case RAW_GRAYA_32BPP_LE:
+ case RAW_GRAYA_32BPP_SBE:
+ case RAW_GRAYA_32BPP_SLE:
+ case RAW_GRAYA_32BPP_FLOAT:
raw_load_standard (data, width, height, bpp, offset, pixel_format);
break;
}
@@ -1847,18 +1990,28 @@ preview_update (GimpPreviewArea *preview,
0, 0, preview_width, preview_height,
255, 255, 255);
- is_big_endian = (pixel_format == RAW_GRAY_16BPP_BE ||
- pixel_format == RAW_GRAY_16BPP_SBE ||
- pixel_format == RAW_GRAY_32BPP_BE ||
- pixel_format == RAW_GRAY_32BPP_SBE ||
- pixel_format == RAW_RGB_16BPP_BE ||
- pixel_format == RAW_RGB_32BPP_BE ||
- pixel_format == RAW_RGBA_16BPP_BE ||
+ is_big_endian = (pixel_format == RAW_GRAY_16BPP_BE ||
+ pixel_format == RAW_GRAY_16BPP_SBE ||
+ pixel_format == RAW_GRAYA_16BPP_BE ||
+ pixel_format == RAW_GRAYA_16BPP_SBE ||
+ pixel_format == RAW_GRAY_32BPP_BE ||
+ pixel_format == RAW_GRAY_32BPP_SBE ||
+ pixel_format == RAW_GRAYA_32BPP_BE ||
+ pixel_format == RAW_GRAYA_32BPP_SBE ||
+ pixel_format == RAW_RGB_16BPP_BE ||
+ pixel_format == RAW_RGB_32BPP_BE ||
+ pixel_format == RAW_RGBA_16BPP_BE ||
pixel_format == RAW_RGBA_32BPP_BE);
is_signed = (pixel_format == RAW_GRAY_16BPP_SBE ||
pixel_format == RAW_GRAY_32BPP_SBE);
- is_float = (pixel_format == RAW_RGB_16BPP_FLOAT ||
- pixel_format == RAW_RGB_32BPP_FLOAT);
+ is_float = (pixel_format == RAW_RGB_16BPP_FLOAT ||
+ pixel_format == RAW_RGB_32BPP_FLOAT ||
+ pixel_format == RAW_RGBA_16BPP_FLOAT ||
+ pixel_format == RAW_RGBA_32BPP_FLOAT ||
+ pixel_format == RAW_GRAY_16BPP_FLOAT ||
+ pixel_format == RAW_GRAYA_16BPP_FLOAT ||
+ pixel_format == RAW_GRAY_32BPP_FLOAT ||
+ pixel_format == RAW_GRAYA_32BPP_FLOAT);
switch (pixel_format)
{
@@ -1867,6 +2020,7 @@ preview_update (GimpPreviewArea *preview,
bpp = 4;
case RAW_RGBA_16BPP_BE:
case RAW_RGBA_16BPP_LE:
+ case RAW_RGBA_16BPP_FLOAT:
if (bpc == 0)
{
bpc = 2;
@@ -1874,6 +2028,7 @@ preview_update (GimpPreviewArea *preview,
}
case RAW_RGBA_32BPP_BE:
case RAW_RGBA_32BPP_LE:
+ case RAW_RGBA_32BPP_FLOAT:
if (bpc == 0)
{
bpc = 4;
@@ -1881,6 +2036,7 @@ preview_update (GimpPreviewArea *preview,
}
n_components = 4;
preview_type = GIMP_RGBA_IMAGE;
+
case RAW_RGB_8BPP:
if (bpc == 0)
{
@@ -1898,21 +2054,82 @@ preview_update (GimpPreviewArea *preview,
case RAW_RGB_32BPP_BE:
case RAW_RGB_32BPP_LE:
case RAW_RGB_32BPP_FLOAT:
+ if (bpc == 0)
+ {
+ bpc = 4;
+ bpp = 12;
+ }
+ if (n_components == 0)
+ {
+ n_components = 3;
+ preview_type = GIMP_RGB_IMAGE;
+ }
+
+ case RAW_GRAYA_8BPP:
+ if (bpc == 0)
+ {
+ bpc = 1;
+ bpp = 2;
+ }
+ case RAW_GRAYA_16BPP_BE:
+ case RAW_GRAYA_16BPP_LE:
+ case RAW_GRAYA_16BPP_SBE:
+ case RAW_GRAYA_16BPP_SLE:
+ case RAW_GRAYA_16BPP_FLOAT:
+ if (bpc == 0)
+ {
+ bpc = 2;
+ bpp = 4;
+ }
+ case RAW_GRAYA_32BPP_BE:
+ case RAW_GRAYA_32BPP_LE:
+ case RAW_GRAYA_32BPP_SBE:
+ case RAW_GRAYA_32BPP_SLE:
+ case RAW_GRAYA_32BPP_FLOAT:
+ if (bpc == 0)
+ {
+ bpc = 4;
+ bpp = 8;
+ }
+ if (n_components == 0)
+ {
+ n_components = 2;
+ preview_type = GIMP_GRAYA_IMAGE;
+ }
+
+ case RAW_GRAY_16BPP_BE:
+ case RAW_GRAY_16BPP_LE:
+ case RAW_GRAY_16BPP_SBE:
+ case RAW_GRAY_16BPP_SLE:
+ case RAW_GRAY_16BPP_FLOAT:
+ if (bpc == 0)
+ {
+ bpc = 2;
+ bpp = 2;
+ }
+
+ case RAW_GRAY_32BPP_BE:
+ case RAW_GRAY_32BPP_LE:
+ case RAW_GRAY_32BPP_SBE:
+ case RAW_GRAY_32BPP_SLE:
+ case RAW_GRAY_32BPP_FLOAT:
+ if (bpc == 0)
+ {
+ bpc = 4;
+ bpp = 4;
+ }
+ if (n_components == 0)
+ {
+ n_components = 1;
+ preview_type = GIMP_GRAY_IMAGE;
+ }
+
{
guchar *in;
guchar *row;
gint input_stride;
gint input_offset;
- if (bpc == 0)
- {
- bpc = 4;
- bpp = 12;
- }
-
- if (n_components == 0)
- n_components = 3;
-
input_stride = width * bpp;
in = g_new (guchar, input_stride);
@@ -2069,7 +2286,6 @@ preview_update (GimpPreviewArea *preview,
if (! bitspp) bitspp = 4;
case RAW_GRAY_8BPP:
if (! bitspp) bitspp = 8;
-
{
guint in_size = height * width / (8 / bitspp);
guint out_size = height * width * 3;
@@ -2233,65 +2449,6 @@ preview_update (GimpPreviewArea *preview,
g_free (index);
}
break;
-
- case RAW_GRAY_16BPP_BE:
- case RAW_GRAY_16BPP_LE:
- case RAW_GRAY_16BPP_SBE:
- case RAW_GRAY_16BPP_SLE:
- bitspp = 16;
- case RAW_GRAY_32BPP_BE:
- case RAW_GRAY_32BPP_LE:
- case RAW_GRAY_32BPP_SBE:
- case RAW_GRAY_32BPP_SLE:
- {
- guchar *r_row;
- guchar *row;
-
- if (bitspp == 0)
- bitspp = 32;
-
- r_row = g_new (guchar, width * bitspp / 8);
- row = g_malloc (width);
-
- for (y = 0; y < height; y++)
- {
- gint j;
-
- pos = (offset + (y * width * 2));
- mmap_read (preview_fd, (guchar*) r_row, (bitspp / 8) * width, pos, width);
-
- for (j = 0; j < width; j++)
- {
- gint pixel_val;
-
- if (pixel_format == RAW_GRAY_16BPP_BE)
- pixel_val = GUINT16_FROM_BE (((guint16 *) r_row)[j]);
- else if (pixel_format == RAW_GRAY_16BPP_LE)
- pixel_val = GUINT16_FROM_LE (((guint16 *) r_row)[j]);
- else if (pixel_format == RAW_GRAY_16BPP_SBE)
- pixel_val = GINT16_FROM_BE (((guint16 *) r_row)[j]) - G_MININT16;
- else if (pixel_format == RAW_GRAY_16BPP_SLE)
- pixel_val = GINT16_FROM_LE (((guint16 *) r_row)[j]) - G_MININT16;
- else if (pixel_format == RAW_GRAY_32BPP_BE)
- pixel_val = GUINT32_FROM_BE (((guint32 *) r_row)[j]);
- else if (pixel_format == RAW_GRAY_32BPP_LE)
- pixel_val = GUINT32_FROM_LE (((guint32 *) r_row)[j]);
- else if (pixel_format == RAW_GRAY_32BPP_SBE)
- pixel_val = GINT32_FROM_BE (((guint32 *) r_row)[j]) - G_MININT32;
- else /* if (pixel_format == RAW_GRAY_32BPP_SLE)*/
- pixel_val = GINT32_FROM_LE (((guint32 *) r_row)[j]) - G_MININT32;
-
- row[j] = pixel_val / pow (2, bitspp - 8);
- }
-
- gimp_preview_area_draw (preview, 0, y, width, 1,
- GIMP_GRAY_IMAGE, row, width * 3);
- }
-
- g_free (r_row);
- g_free (row);
- }
- break;
}
g_clear_object (&palette_file);
@@ -2530,8 +2687,10 @@ load_dialog (GFile *file,
_("RGBA 8-bit"), RAW_RGBA_8BPP,
_("RGBA 16-bit Big Endian"), RAW_RGBA_16BPP_BE,
_("RGBA 16-bit Little Endian"), RAW_RGBA_16BPP_LE,
+ _("RGBA 16-bit Floating Point"), RAW_RGBA_16BPP_FLOAT,
_("RGBA 32-bit Big Endian"), RAW_RGBA_32BPP_BE,
_("RGBA 32-bit Little Endian"), RAW_RGBA_32BPP_LE,
+ _("RGBA 32-bit Floating Point"), RAW_RGBA_32BPP_FLOAT,
_("RGB565 Big Endian"), RAW_RGB565_BE,
_("RGB565 Little Endian"), RAW_RGB565_LE,
@@ -2547,10 +2706,25 @@ load_dialog (GFile *file,
_("Gray unsigned 16 bit Little Endian"), RAW_GRAY_16BPP_LE,
_("Gray 16 bit Big Endian"), RAW_GRAY_16BPP_SBE,
_("Gray 16 bit Little Endian"), RAW_GRAY_16BPP_SLE,
+ _("Gray 16-bit Floating Point"), RAW_GRAY_16BPP_FLOAT,
_("Gray unsigned 32 bit Big Endian"), RAW_GRAY_32BPP_BE,
_("Gray unsigned 32 bit Little Endian"), RAW_GRAY_32BPP_LE,
_("Gray 32 bit Big Endian"), RAW_GRAY_32BPP_SBE,
_("Gray 32 bit Little Endian"), RAW_GRAY_32BPP_SLE,
+ _("Gray 32-bit Floating Point"), RAW_GRAY_32BPP_FLOAT,
+
+
+ _("Gray-Alpha 8 bit"), RAW_GRAYA_8BPP,
+ _("Gray-Alpha unsigned 16 bit Big Endian"), RAW_GRAYA_16BPP_BE,
+ _("Gray-Alpha unsigned 16 bit Little Endian"), RAW_GRAYA_16BPP_LE,
+ _("Gray-Alpha 16 bit Big Endian"), RAW_GRAYA_16BPP_SBE,
+ _("Gray-Alpha 16 bit Little Endian"), RAW_GRAYA_16BPP_SLE,
+ _("Gray-Alpha 16-bit Floating Point"), RAW_GRAYA_16BPP_FLOAT,
+ _("Gray-Alpha unsigned 32 bit Big Endian"), RAW_GRAYA_32BPP_BE,
+ _("Gray-Alpha unsigned 32 bit Little Endian"), RAW_GRAYA_32BPP_LE,
+ _("Gray-Alpha 32 bit Big Endian"), RAW_GRAYA_32BPP_SBE,
+ _("Gray-Alpha 32 bit Little Endian"), RAW_GRAYA_32BPP_SLE,
+ _("Gray-Alpha 32-bit Floating Point"), RAW_GRAYA_32BPP_FLOAT,
_("Indexed"), RAW_INDEXED,
_("Indexed Alpha"), RAW_INDEXEDA,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]