mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-26 01:46:18 +03:00
better branches
This commit is contained in:
parent
8b6ad4a471
commit
f72d5c0dfd
|
@ -43,20 +43,20 @@ ImagingReduceNxN(Imaging imOut, Imaging imIn, int xscale, int yscale)
|
|||
ss3 += line0[xx*4 + 3] + line0[xx*4 + 7] +
|
||||
line1[xx*4 + 3] + line1[xx*4 + 7];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line0[xx*4 + 0] + line1[xx*4 + 0];
|
||||
ss3 += line0[xx*4 + 3] + line1[xx*4 + 3];
|
||||
}
|
||||
}
|
||||
for (; yy < y*yscale + yscale; yy ++) {
|
||||
if (yscale & 0x01) {
|
||||
UINT8 *line = (UINT8 *)imIn->image[yy];
|
||||
for (xi = 0; xi < xscale - 1; xi += 2) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line[xx*4 + 0] + line[xx*4 + 4];
|
||||
ss3 += line[xx*4 + 3] + line[xx*4 + 7];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line[xx*4 + 0];
|
||||
ss3 += line[xx*4 + 3];
|
||||
|
@ -83,14 +83,14 @@ ImagingReduceNxN(Imaging imOut, Imaging imIn, int xscale, int yscale)
|
|||
ss2 += line0[xx*4 + 2] + line0[xx*4 + 6] +
|
||||
line1[xx*4 + 2] + line1[xx*4 + 6];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line0[xx*4 + 0] + line1[xx*4 + 0];
|
||||
ss1 += line0[xx*4 + 1] + line1[xx*4 + 1];
|
||||
ss2 += line0[xx*4 + 2] + line1[xx*4 + 2];
|
||||
}
|
||||
}
|
||||
for (; yy < y*yscale + yscale; yy ++) {
|
||||
if (yscale & 0x01) {
|
||||
UINT8 *line = (UINT8 *)imIn->image[yy];
|
||||
for (xi = 0; xi < xscale - 1; xi += 2) {
|
||||
xx = x*xscale + xi;
|
||||
|
@ -98,7 +98,7 @@ ImagingReduceNxN(Imaging imOut, Imaging imIn, int xscale, int yscale)
|
|||
ss1 += line[xx*4 + 1] + line[xx*4 + 5];
|
||||
ss2 += line[xx*4 + 2] + line[xx*4 + 6];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line[xx*4 + 0];
|
||||
ss1 += line[xx*4 + 1];
|
||||
|
@ -128,7 +128,7 @@ ImagingReduceNxN(Imaging imOut, Imaging imIn, int xscale, int yscale)
|
|||
ss3 += line0[xx*4 + 3] + line0[xx*4 + 7] +
|
||||
line1[xx*4 + 3] + line1[xx*4 + 7];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line0[xx*4 + 0] + line1[xx*4 + 0];
|
||||
ss1 += line0[xx*4 + 1] + line1[xx*4 + 1];
|
||||
|
@ -136,7 +136,7 @@ ImagingReduceNxN(Imaging imOut, Imaging imIn, int xscale, int yscale)
|
|||
ss3 += line0[xx*4 + 3] + line1[xx*4 + 3];
|
||||
}
|
||||
}
|
||||
for (; yy < y*yscale + yscale; yy ++) {
|
||||
if (yscale & 0x01) {
|
||||
UINT8 *line = (UINT8 *)imIn->image[yy];
|
||||
for (xi = 0; xi < xscale - 1; xi += 2) {
|
||||
xx = x*xscale + xi;
|
||||
|
@ -145,7 +145,7 @@ ImagingReduceNxN(Imaging imOut, Imaging imIn, int xscale, int yscale)
|
|||
ss2 += line[xx*4 + 2] + line[xx*4 + 6];
|
||||
ss3 += line[xx*4 + 3] + line[xx*4 + 7];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line[xx*4 + 0];
|
||||
ss1 += line[xx*4 + 1];
|
||||
|
@ -198,7 +198,7 @@ ImagingReduce1xN(Imaging imOut, Imaging imIn, int yscale)
|
|||
ss0 += line0[x*4 + 0] + line1[x*4 + 0];
|
||||
ss3 += line0[x*4 + 3] + line1[x*4 + 3];
|
||||
}
|
||||
for (; yy < y*yscale + yscale; yy ++) {
|
||||
if (yscale & 0x01) {
|
||||
UINT8 *line = (UINT8 *)imIn->image[yy];
|
||||
ss0 += line[x*4 + 0];
|
||||
ss3 += line[x*4 + 3];
|
||||
|
@ -219,7 +219,7 @@ ImagingReduce1xN(Imaging imOut, Imaging imIn, int yscale)
|
|||
ss1 += line0[x*4 + 1] + line1[x*4 + 1];
|
||||
ss2 += line0[x*4 + 2] + line1[x*4 + 2];
|
||||
}
|
||||
for (; yy < y*yscale + yscale; yy ++) {
|
||||
if (yscale & 0x01) {
|
||||
UINT8 *line = (UINT8 *)imIn->image[yy];
|
||||
ss0 += line[x*4 + 0];
|
||||
ss1 += line[x*4 + 1];
|
||||
|
@ -242,7 +242,7 @@ ImagingReduce1xN(Imaging imOut, Imaging imIn, int yscale)
|
|||
ss2 += line0[x*4 + 2] + line1[x*4 + 2];
|
||||
ss3 += line0[x*4 + 3] + line1[x*4 + 3];
|
||||
}
|
||||
for (; yy < y*yscale + yscale; yy ++) {
|
||||
if (yscale & 0x01) {
|
||||
UINT8 *line = (UINT8 *)imIn->image[yy];
|
||||
ss0 += line[x*4 + 0];
|
||||
ss1 += line[x*4 + 1];
|
||||
|
@ -294,7 +294,7 @@ ImagingReduceNx1(Imaging imOut, Imaging imIn, int xscale)
|
|||
ss0 += line[xx*4 + 0] + line[xx*4 + 4];
|
||||
ss3 += line[xx*4 + 3] + line[xx*4 + 7];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line[xx*4 + 0];
|
||||
ss3 += line[xx*4 + 3];
|
||||
|
@ -314,7 +314,7 @@ ImagingReduceNx1(Imaging imOut, Imaging imIn, int xscale)
|
|||
ss1 += line[xx*4 + 1] + line[xx*4 + 5];
|
||||
ss2 += line[xx*4 + 2] + line[xx*4 + 6];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line[xx*4 + 0];
|
||||
ss1 += line[xx*4 + 1];
|
||||
|
@ -336,7 +336,7 @@ ImagingReduceNx1(Imaging imOut, Imaging imIn, int xscale)
|
|||
ss2 += line[xx*4 + 2] + line[xx*4 + 6];
|
||||
ss3 += line[xx*4 + 3] + line[xx*4 + 7];
|
||||
}
|
||||
for (; xi < xscale; xi++) {
|
||||
if (xscale & 0x01) {
|
||||
xx = x*xscale + xi;
|
||||
ss0 += line[xx*4 + 0];
|
||||
ss1 += line[xx*4 + 1];
|
||||
|
@ -820,26 +820,22 @@ ImagingReduce(Imaging imIn, int xscale, int yscale)
|
|||
|
||||
ImagingSectionEnter(&cookie);
|
||||
|
||||
if (xscale == yscale) {
|
||||
if (xscale == 1) {
|
||||
ImagingReduce1xN(imOut, imIn, yscale);
|
||||
} else if (yscale == 1) {
|
||||
ImagingReduceNx1(imOut, imIn, xscale);
|
||||
} else if (xscale == yscale && xscale <= 5) {
|
||||
if (xscale == 2) {
|
||||
ImagingReduce2x2(imOut, imIn);
|
||||
} else if (xscale == 3) {
|
||||
ImagingReduce3x3(imOut, imIn);
|
||||
} else if (xscale == 4) {
|
||||
ImagingReduce4x4(imOut, imIn);
|
||||
} else if (xscale == 5) {
|
||||
ImagingReduce5x5(imOut, imIn);
|
||||
} else {
|
||||
ImagingReduceNxN(imOut, imIn, xscale, yscale);
|
||||
ImagingReduce5x5(imOut, imIn);
|
||||
}
|
||||
} else {
|
||||
if (xscale == 1) {
|
||||
ImagingReduce1xN(imOut, imIn, yscale);
|
||||
} else if (yscale == 1) {
|
||||
ImagingReduceNx1(imOut, imIn, xscale);
|
||||
} else {
|
||||
ImagingReduceNxN(imOut, imIn, xscale, yscale);
|
||||
}
|
||||
ImagingReduceNxN(imOut, imIn, xscale, yscale);
|
||||
}
|
||||
|
||||
ImagingReduceCorners(imOut, imIn, xscale, yscale);
|
||||
|
|
Loading…
Reference in New Issue
Block a user