Skip to content

Commit 9bbf56b

Browse files
authored
Merge pull request #6418 from hmaarrfk/parallel_matrix_convert
2 parents 7a06bc6 + 02e90e2 commit 9bbf56b

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/libImaging/Matrix.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Imaging
2121
ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
2222
Imaging imOut;
2323
int x, y;
24+
ImagingSectionCookie cookie;
2425

2526
/* Assume there's enough data in the buffer */
2627
if (!im) {
@@ -33,6 +34,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
3334
return NULL;
3435
}
3536

37+
ImagingSectionEnter(&cookie);
3638
for (y = 0; y < im->ysize; y++) {
3739
UINT8 *in = (UINT8 *)im->image[y];
3840
UINT8 *out = (UINT8 *)imOut->image[y];
@@ -43,6 +45,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
4345
in += 4;
4446
}
4547
}
48+
ImagingSectionLeave(&cookie);
4649

4750
} else if (strlen(mode) == 3 && im->bands == 3) {
4851
imOut = ImagingNewDirty(mode, im->xsize, im->ysize);
@@ -54,6 +57,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
5457
UINT8 *in = (UINT8 *)im->image[y];
5558
UINT8 *out = (UINT8 *)imOut->image[y];
5659

60+
ImagingSectionEnter(&cookie);
5761
for (x = 0; x < im->xsize; x++) {
5862
float v0 = m[0] * in[0] + m[1] * in[1] + m[2] * in[2] + m[3] + 0.5;
5963
float v1 = m[4] * in[0] + m[5] * in[1] + m[6] * in[2] + m[7] + 0.5;
@@ -64,6 +68,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
6468
in += 4;
6569
out += 4;
6670
}
71+
ImagingSectionLeave(&cookie);
6772
}
6873
} else {
6974
return (Imaging)ImagingError_ModeError();

0 commit comments

Comments
 (0)