8 char tabs -> whitespace

This commit is contained in:
wiredfool 2013-07-08 22:39:16 -07:00
parent b297adfdd7
commit c7264b5d4b

View File

@ -39,8 +39,8 @@
#define CLIP16(v) ((v) <= -32768 ? -32768 : (v) >= 32767 ? 32767 : (v)) #define CLIP16(v) ((v) <= -32768 ? -32768 : (v) >= 32767 ? 32767 : (v))
/* like (a * b + 127) / 255), but much faster on most platforms */ /* like (a * b + 127) / 255), but much faster on most platforms */
#define MULDIV255(a, b, tmp)\ #define MULDIV255(a, b, tmp)\
(tmp = (a) * (b) + 128, ((((tmp) >> 8) + (tmp)) >> 8)) (tmp = (a) * (b) + 128, ((((tmp) >> 8) + (tmp)) >> 8))
/* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */ /* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */
#define L(rgb)\ #define L(rgb)\
@ -55,7 +55,7 @@ bit2l(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (*in++ != 0) ? 255 : 0; *out++ = (*in++ != 0) ? 255 : 0;
} }
static void static void
@ -64,10 +64,10 @@ bit2rgb(UINT8* out, const UINT8* in, int xsize)
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
UINT8 v = (*in++ != 0) ? 255 : 0; UINT8 v = (*in++ != 0) ? 255 : 0;
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = 255; *out++ = 255;
} }
} }
@ -76,10 +76,10 @@ bit2cmyk(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
*out++ = 0; *out++ = 0;
*out++ = 0; *out++ = 0;
*out++ = 0; *out++ = 0;
*out++ = (*in++ != 0) ? 0 : 255; *out++ = (*in++ != 0) ? 0 : 255;
} }
} }
@ -88,7 +88,7 @@ bit2ycbcr(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
*out++ = (*in++ != 0) ? 255 : 0; *out++ = (*in++ != 0) ? 255 : 0;
*out++ = 128; *out++ = 128;
*out++ = 128; *out++ = 128;
*out++ = 255; *out++ = 255;
@ -104,7 +104,7 @@ l2bit(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (*in++ >= 128) ? 255 : 0; *out++ = (*in++ >= 128) ? 255 : 0;
} }
static void static void
@ -113,10 +113,10 @@ l2la(UINT8* out, const UINT8* in, int xsize)
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
UINT8 v = *in++; UINT8 v = *in++;
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = 255; *out++ = 255;
} }
} }
@ -126,10 +126,10 @@ l2rgb(UINT8* out, const UINT8* in, int xsize)
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
UINT8 v = *in++; UINT8 v = *in++;
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = 255; *out++ = 255;
} }
} }
@ -138,7 +138,7 @@ la2l(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
*out++ = in[0]; *out++ = in[0];
} }
static void static void
@ -147,10 +147,10 @@ la2rgb(UINT8* out, const UINT8* in, int xsize)
int x; int x;
for (x = 0; x < xsize; x++, in += 4) { for (x = 0; x < xsize; x++, in += 4) {
UINT8 v = in[0]; UINT8 v = in[0];
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = v; *out++ = v;
*out++ = in[3]; *out++ = in[3];
} }
} }
@ -159,8 +159,8 @@ rgb2bit(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
/* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */ /* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */
*out++ = (L(in) >= 128000) ? 255 : 0; *out++ = (L(in) >= 128000) ? 255 : 0;
} }
static void static void
@ -168,8 +168,8 @@ rgb2l(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
/* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */ /* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */
*out++ = L(in) / 1000; *out++ = L(in) / 1000;
} }
static void static void
@ -177,8 +177,8 @@ rgb2la(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4, out += 4) { for (x = 0; x < xsize; x++, in += 4, out += 4) {
/* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */ /* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */
out[0] = out[1] = out[2] = L(in) / 1000; out[0] = out[1] = out[2] = L(in) / 1000;
out[3] = 255; out[3] = 255;
} }
} }
@ -189,7 +189,7 @@ rgb2i(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
INT32* out = (INT32*) out_; INT32* out = (INT32*) out_;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
*out++ = L(in) / 1000; *out++ = L(in) / 1000;
} }
static void static void
@ -198,7 +198,7 @@ rgb2f(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
FLOAT32* out = (FLOAT32*) out_; FLOAT32* out = (FLOAT32*) out_;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
*out++ = (float) L(in) / 1000.0F; *out++ = (float) L(in) / 1000.0F;
} }
static void static void
@ -207,7 +207,7 @@ rgb2bgr15(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
UINT16* out = (UINT16*) out_; UINT16* out = (UINT16*) out_;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
*out++ = *out++ =
((((UINT16)in[0])<<7)&0x7c00) + ((((UINT16)in[0])<<7)&0x7c00) +
((((UINT16)in[1])<<2)&0x03e0) + ((((UINT16)in[1])<<2)&0x03e0) +
((((UINT16)in[2])>>3)&0x001f); ((((UINT16)in[2])>>3)&0x001f);
@ -219,7 +219,7 @@ rgb2bgr16(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
UINT16* out = (UINT16*) out_; UINT16* out = (UINT16*) out_;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
*out++ = *out++ =
((((UINT16)in[0])<<8)&0xf800) + ((((UINT16)in[0])<<8)&0xf800) +
((((UINT16)in[1])<<3)&0x07e0) + ((((UINT16)in[1])<<3)&0x07e0) +
((((UINT16)in[2])>>3)&0x001f); ((((UINT16)in[2])>>3)&0x001f);
@ -230,9 +230,9 @@ rgb2bgr24(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4) { for (x = 0; x < xsize; x++, in += 4) {
*out++ = in[2]; *out++ = in[2];
*out++ = in[1]; *out++ = in[1];
*out++ = in[0]; *out++ = in[0];
} }
} }
@ -257,8 +257,8 @@ rgba2la(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4, out += 4) { for (x = 0; x < xsize; x++, in += 4, out += 4) {
/* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */ /* ITU-R Recommendation 601-2 (assuming nonlinear RGB) */
out[0] = out[1] = out[2] = L(in) / 1000; out[0] = out[1] = out[2] = L(in) / 1000;
out[3] = in[3]; out[3] = in[3];
} }
} }
@ -310,7 +310,7 @@ rgb2cmyk(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
/* Note: no undercolour removal */ /* Note: no undercolour removal */
*out++ = ~(*in++); *out++ = ~(*in++);
*out++ = ~(*in++); *out++ = ~(*in++);
*out++ = ~(*in++); *out++ = ~(*in++);
@ -324,9 +324,9 @@ cmyk2rgb(UINT8* out, const UINT8* in, int xsize)
int x; int x;
for (x = 0; x < xsize; x++, in += 4) { for (x = 0; x < xsize; x++, in += 4) {
*out++ = CLIP(255 - (in[0] + in[3])); *out++ = CLIP(255 - (in[0] + in[3]));
*out++ = CLIP(255 - (in[1] + in[3])); *out++ = CLIP(255 - (in[1] + in[3]));
*out++ = CLIP(255 - (in[2] + in[3])); *out++ = CLIP(255 - (in[2] + in[3]));
*out++ = 255; *out++ = 255;
} }
} }
@ -340,7 +340,7 @@ bit2i(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
INT32* out = (INT32*) out_; INT32* out = (INT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (*in++ != 0) ? 255 : 0; *out++ = (*in++ != 0) ? 255 : 0;
} }
static void static void
@ -349,7 +349,7 @@ l2i(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
INT32* out = (INT32*) out_; INT32* out = (INT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (INT32) *in++; *out++ = (INT32) *in++;
} }
static void static void
@ -374,7 +374,7 @@ i2f(UINT8* out_, const UINT8* in_, int xsize)
INT32* in = (INT32*) in_; INT32* in = (INT32*) in_;
FLOAT32* out = (FLOAT32*) out_; FLOAT32* out = (FLOAT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (FLOAT32) *in++; *out++ = (FLOAT32) *in++;
} }
/* ------------- */ /* ------------- */
@ -387,7 +387,7 @@ bit2f(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
FLOAT32* out = (FLOAT32*) out_; FLOAT32* out = (FLOAT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (*in++ != 0) ? 255.0F : 0.0F; *out++ = (*in++ != 0) ? 255.0F : 0.0F;
} }
static void static void
@ -396,7 +396,7 @@ l2f(UINT8* out_, const UINT8* in, int xsize)
int x; int x;
FLOAT32* out = (FLOAT32*) out_; FLOAT32* out = (FLOAT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (FLOAT32) *in++; *out++ = (FLOAT32) *in++;
} }
static void static void
@ -421,7 +421,7 @@ f2i(UINT8* out_, const UINT8* in_, int xsize)
FLOAT32* in = (FLOAT32*) in_; FLOAT32* in = (FLOAT32*) in_;
INT32* out = (INT32*) out_; INT32* out = (INT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (INT32) *in++; *out++ = (INT32) *in++;
} }
/* ----------------- */ /* ----------------- */
@ -435,10 +435,10 @@ l2ycbcr(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
*out++ = *in++; *out++ = *in++;
*out++ = 128; *out++ = 128;
*out++ = 128; *out++ = 128;
*out++ = 255; *out++ = 255;
} }
} }
@ -447,7 +447,7 @@ ycbcr2l(UINT8* out, const UINT8* in, int xsize)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4) for (x = 0; x < xsize; x++, in += 4)
*out++ = in[0]; *out++ = in[0];
} }
/* ------------------------- */ /* ------------------------- */
@ -645,7 +645,7 @@ p2bit(UINT8* out, const UINT8* in, int xsize, const UINT8* palette)
int x; int x;
/* FIXME: precalculate greyscale palette? */ /* FIXME: precalculate greyscale palette? */
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (L(&palette[in[x]*4]) >= 128000) ? 255 : 0; *out++ = (L(&palette[in[x]*4]) >= 128000) ? 255 : 0;
} }
static void static void
@ -654,7 +654,7 @@ p2l(UINT8* out, const UINT8* in, int xsize, const UINT8* palette)
int x; int x;
/* FIXME: precalculate greyscale palette? */ /* FIXME: precalculate greyscale palette? */
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = L(&palette[in[x]*4]) / 1000; *out++ = L(&palette[in[x]*4]) / 1000;
} }
static void static void
@ -663,7 +663,7 @@ pa2la(UINT8* out, const UINT8* in, int xsize, const UINT8* palette)
int x; int x;
/* FIXME: precalculate greyscale palette? */ /* FIXME: precalculate greyscale palette? */
for (x = 0; x < xsize; x++, in += 2) { for (x = 0; x < xsize; x++, in += 2) {
*out++ = L(&palette[in[0]*4]) / 1000; *out++ = L(&palette[in[0]*4]) / 1000;
*out++ = in[1]; *out++ = in[1];
} }
} }
@ -674,7 +674,7 @@ p2i(UINT8* out_, const UINT8* in, int xsize, const UINT8* palette)
int x; int x;
INT32* out = (INT32*) out_; INT32* out = (INT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = L(&palette[in[x]*4]) / 1000; *out++ = L(&palette[in[x]*4]) / 1000;
} }
static void static void
@ -683,7 +683,7 @@ p2f(UINT8* out_, const UINT8* in, int xsize, const UINT8* palette)
int x; int x;
FLOAT32* out = (FLOAT32*) out_; FLOAT32* out = (FLOAT32*) out_;
for (x = 0; x < xsize; x++) for (x = 0; x < xsize; x++)
*out++ = (float) L(&palette[in[x]*4]) / 1000.0F; *out++ = (float) L(&palette[in[x]*4]) / 1000.0F;
} }
static void static void
@ -691,11 +691,11 @@ p2rgb(UINT8* out, const UINT8* in, int xsize, const UINT8* palette)
{ {
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
const UINT8* rgb = &palette[*in++ * 4]; const UINT8* rgb = &palette[*in++ * 4];
*out++ = rgb[0]; *out++ = rgb[0];
*out++ = rgb[1]; *out++ = rgb[1];
*out++ = rgb[2]; *out++ = rgb[2];
*out++ = 255; *out++ = 255;
} }
} }
@ -704,11 +704,11 @@ p2rgba(UINT8* out, const UINT8* in, int xsize, const UINT8* palette)
{ {
int x; int x;
for (x = 0; x < xsize; x++) { for (x = 0; x < xsize; x++) {
const UINT8* rgba = &palette[*in++ * 4]; const UINT8* rgba = &palette[*in++ * 4];
*out++ = rgba[0]; *out++ = rgba[0];
*out++ = rgba[1]; *out++ = rgba[1];
*out++ = rgba[2]; *out++ = rgba[2];
*out++ = rgba[3]; *out++ = rgba[3];
} }
} }
@ -717,11 +717,11 @@ pa2rgba(UINT8* out, const UINT8* in, int xsize, const UINT8* palette)
{ {
int x; int x;
for (x = 0; x < xsize; x++, in += 4) { for (x = 0; x < xsize; x++, in += 4) {
const UINT8* rgb = &palette[in[0] * 4]; const UINT8* rgb = &palette[in[0] * 4];
*out++ = rgb[0]; *out++ = rgb[0];
*out++ = rgb[1]; *out++ = rgb[1];
*out++ = rgb[2]; *out++ = rgb[2];
*out++ = in[3]; *out++ = in[3];
} }
} }
@ -750,32 +750,32 @@ frompalette(Imaging imOut, Imaging imIn, const char *mode)
/* Map palette image to L, RGB, RGBA, or CMYK */ /* Map palette image to L, RGB, RGBA, or CMYK */
if (!imIn->palette) if (!imIn->palette)
return (Imaging) ImagingError_ValueError("no palette"); return (Imaging) ImagingError_ValueError("no palette");
alpha = !strcmp(imIn->mode, "PA"); alpha = !strcmp(imIn->mode, "PA");
if (strcmp(mode, "1") == 0) if (strcmp(mode, "1") == 0)
convert = p2bit; convert = p2bit;
else if (strcmp(mode, "L") == 0) else if (strcmp(mode, "L") == 0)
convert = p2l; convert = p2l;
else if (strcmp(mode, "LA") == 0) else if (strcmp(mode, "LA") == 0)
convert = (alpha) ? pa2la : p2l; convert = (alpha) ? pa2la : p2l;
else if (strcmp(mode, "I") == 0) else if (strcmp(mode, "I") == 0)
convert = p2i; convert = p2i;
else if (strcmp(mode, "F") == 0) else if (strcmp(mode, "F") == 0)
convert = p2f; convert = p2f;
else if (strcmp(mode, "RGB") == 0) else if (strcmp(mode, "RGB") == 0)
convert = p2rgb; convert = p2rgb;
else if (strcmp(mode, "RGBA") == 0) else if (strcmp(mode, "RGBA") == 0)
convert = (alpha) ? pa2rgba : p2rgba; convert = (alpha) ? pa2rgba : p2rgba;
else if (strcmp(mode, "RGBX") == 0) else if (strcmp(mode, "RGBX") == 0)
convert = p2rgba; convert = p2rgba;
else if (strcmp(mode, "CMYK") == 0) else if (strcmp(mode, "CMYK") == 0)
convert = p2cmyk; convert = p2cmyk;
else if (strcmp(mode, "YCbCr") == 0) else if (strcmp(mode, "YCbCr") == 0)
convert = p2ycbcr; convert = p2ycbcr;
else else
return (Imaging) ImagingError_ValueError("conversion not supported"); return (Imaging) ImagingError_ValueError("conversion not supported");
imOut = ImagingNew2(mode, imOut, imIn); imOut = ImagingNew2(mode, imOut, imIn);
if (!imOut) if (!imOut)
@ -783,8 +783,8 @@ frompalette(Imaging imOut, Imaging imIn, const char *mode)
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
for (y = 0; y < imIn->ysize; y++) for (y = 0; y < imIn->ysize; y++)
(*convert)((UINT8*) imOut->image[y], (UINT8*) imIn->image[y], (*convert)((UINT8*) imOut->image[y], (UINT8*) imIn->image[y],
imIn->xsize, imIn->palette->palette); imIn->xsize, imIn->palette->palette);
ImagingSectionLeave(&cookie); ImagingSectionLeave(&cookie);
return imOut; return imOut;
@ -802,23 +802,23 @@ topalette(Imaging imOut, Imaging imIn, ImagingPalette inpalette, int dither)
/* Map L or RGB/RGBX/RGBA to palette image */ /* Map L or RGB/RGBX/RGBA to palette image */
if (strcmp(imIn->mode, "L") != 0 && strncmp(imIn->mode, "RGB", 3) != 0) if (strcmp(imIn->mode, "L") != 0 && strncmp(imIn->mode, "RGB", 3) != 0)
return (Imaging) ImagingError_ValueError("conversion not supported"); return (Imaging) ImagingError_ValueError("conversion not supported");
if (palette == NULL) { if (palette == NULL) {
/* FIXME: make user configurable */ /* FIXME: make user configurable */
if (imIn->bands == 1) if (imIn->bands == 1)
palette = ImagingPaletteNew("RGB"); /* Initialised to grey ramp */ palette = ImagingPaletteNew("RGB"); /* Initialised to grey ramp */
else else
palette = ImagingPaletteNewBrowser(); /* Standard colour cube */ palette = ImagingPaletteNewBrowser(); /* Standard colour cube */
} }
if (!palette) if (!palette)
return (Imaging) ImagingError_ValueError("no palette"); return (Imaging) ImagingError_ValueError("no palette");
imOut = ImagingNew2("P", imOut, imIn); imOut = ImagingNew2("P", imOut, imIn);
if (!imOut) { if (!imOut) {
if (palette != inpalette) if (palette != inpalette)
ImagingPaletteDelete(palette); ImagingPaletteDelete(palette);
return NULL; return NULL;
} }
@ -826,24 +826,24 @@ topalette(Imaging imOut, Imaging imIn, ImagingPalette inpalette, int dither)
imOut->palette = ImagingPaletteDuplicate(palette); imOut->palette = ImagingPaletteDuplicate(palette);
if (imIn->bands == 1) { if (imIn->bands == 1) {
/* greyscale image */ /* greyscale image */
/* Greyscale palette: copy data as is */ /* Greyscale palette: copy data as is */
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
for (y = 0; y < imIn->ysize; y++) for (y = 0; y < imIn->ysize; y++)
memcpy(imOut->image[y], imIn->image[y], imIn->linesize); memcpy(imOut->image[y], imIn->image[y], imIn->linesize);
ImagingSectionLeave(&cookie); ImagingSectionLeave(&cookie);
} else { } else {
/* colour image */ /* colour image */
/* Create mapping cache */ /* Create mapping cache */
if (ImagingPaletteCachePrepare(palette) < 0) { if (ImagingPaletteCachePrepare(palette) < 0) {
ImagingDelete(imOut); ImagingDelete(imOut);
if (palette != inpalette) if (palette != inpalette)
ImagingPaletteDelete(palette); ImagingPaletteDelete(palette);
return NULL; return NULL;
} }
if (dither) { if (dither) {
/* floyd-steinberg dither */ /* floyd-steinberg dither */
@ -932,8 +932,8 @@ topalette(Imaging imOut, Imaging imIn, ImagingPalette inpalette, int dither)
ImagingSectionLeave(&cookie); ImagingSectionLeave(&cookie);
} }
if (inpalette != palette) if (inpalette != palette)
ImagingPaletteCacheDelete(palette); ImagingPaletteCacheDelete(palette);
} }
if (inpalette != palette) if (inpalette != palette)
@ -951,7 +951,7 @@ tobilevel(Imaging imOut, Imaging imIn, int dither)
/* Map L or RGB to dithered 1 image */ /* Map L or RGB to dithered 1 image */
if (strcmp(imIn->mode, "L") != 0 && strcmp(imIn->mode, "RGB") != 0) if (strcmp(imIn->mode, "L") != 0 && strcmp(imIn->mode, "RGB") != 0)
return (Imaging) ImagingError_ValueError("conversion not supported"); return (Imaging) ImagingError_ValueError("conversion not supported");
imOut = ImagingNew2("1", imOut, imIn); imOut = ImagingNew2("1", imOut, imIn);
if (!imOut) if (!imOut)
@ -1038,29 +1038,29 @@ convert(Imaging imOut, Imaging imIn, const char *mode,
int y; int y;
if (!imIn) if (!imIn)
return (Imaging) ImagingError_ModeError(); return (Imaging) ImagingError_ModeError();
if (!mode) { if (!mode) {
/* Map palette image to full depth */ /* Map palette image to full depth */
if (!imIn->palette) if (!imIn->palette)
return (Imaging) ImagingError_ModeError(); return (Imaging) ImagingError_ModeError();
mode = imIn->palette->mode; mode = imIn->palette->mode;
} else } else
/* Same mode? */ /* Same mode? */
if (!strcmp(imIn->mode, mode)) if (!strcmp(imIn->mode, mode))
return ImagingCopy2(imOut, imIn); return ImagingCopy2(imOut, imIn);
/* test for special conversions */ /* test for special conversions */
if (strcmp(imIn->mode, "P") == 0 || strcmp(imIn->mode, "PA") == 0) if (strcmp(imIn->mode, "P") == 0 || strcmp(imIn->mode, "PA") == 0)
return frompalette(imOut, imIn, mode); return frompalette(imOut, imIn, mode);
if (strcmp(mode, "P") == 0) if (strcmp(mode, "P") == 0)
return topalette(imOut, imIn, palette, dither); return topalette(imOut, imIn, palette, dither);
if (dither && strcmp(mode, "1") == 0) if (dither && strcmp(mode, "1") == 0)
return tobilevel(imOut, imIn, dither); return tobilevel(imOut, imIn, dither);
/* standard conversion machinery */ /* standard conversion machinery */
@ -1068,15 +1068,15 @@ convert(Imaging imOut, Imaging imIn, const char *mode,
convert = NULL; convert = NULL;
for (y = 0; converters[y].from; y++) for (y = 0; converters[y].from; y++)
if (!strcmp(imIn->mode, converters[y].from) && if (!strcmp(imIn->mode, converters[y].from) &&
!strcmp(mode, converters[y].to)) { !strcmp(mode, converters[y].to)) {
convert = converters[y].convert; convert = converters[y].convert;
break; break;
} }
if (!convert) if (!convert)
#ifdef notdef #ifdef notdef
return (Imaging) ImagingError_ValueError("conversion not supported"); return (Imaging) ImagingError_ValueError("conversion not supported");
#else #else
{ {
static char buf[256]; static char buf[256];
@ -1092,8 +1092,8 @@ convert(Imaging imOut, Imaging imIn, const char *mode,
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
for (y = 0; y < imIn->ysize; y++) for (y = 0; y < imIn->ysize; y++)
(*convert)((UINT8*) imOut->image[y], (UINT8*) imIn->image[y], (*convert)((UINT8*) imOut->image[y], (UINT8*) imIn->image[y],
imIn->xsize); imIn->xsize);
ImagingSectionLeave(&cookie); ImagingSectionLeave(&cookie);
return imOut; return imOut;
@ -1129,7 +1129,7 @@ ImagingConvertInPlace(Imaging imIn, const char* mode)
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
for (y = 0; y < imIn->ysize; y++) for (y = 0; y < imIn->ysize; y++)
(*convert)((UINT8*) imIn->image[y], (UINT8*) imIn->image[y], (*convert)((UINT8*) imIn->image[y], (UINT8*) imIn->image[y],
imIn->xsize); imIn->xsize);
ImagingSectionLeave(&cookie); ImagingSectionLeave(&cookie);