mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-08-27 07:34:46 +03:00
updated openmp
This commit is contained in:
parent
0c9269d6e8
commit
c80d375b7f
|
@ -165,10 +165,10 @@ ImagingTranspose(Imaging imOut, Imaging imIn)
|
||||||
ImagingSectionEnter(&cookie);
|
ImagingSectionEnter(&cookie);
|
||||||
|
|
||||||
if (imIn->image8){
|
if (imIn->image8){
|
||||||
#pragma omp parallel for private(x,y,xx,yy,yysize,xxsize) shared(imIn,imOut) default(none) collapse(2)
|
#pragma omp parallel for private(x,y,xx,yy,xxx,yyy,yysize,xxsize,xxxsize,yyysize) shared(imIn,imOut) default(none) collapse(2)
|
||||||
TRANSPOSE(UINT8, image8)
|
TRANSPOSE(UINT8, image8)
|
||||||
} else {
|
} else {
|
||||||
#pragma omp parallel for private(x,y,xx,yy,yysize,xxsize) shared(imIn,imOut) default(none) collapse(2)
|
#pragma omp parallel for private(x,y,xx,yy,xxx,yyy,yysize,xxsize,xxxsize,yyysize) shared(imIn,imOut) default(none) collapse(2)
|
||||||
TRANSPOSE(INT32, image32)
|
TRANSPOSE(INT32, image32)
|
||||||
}
|
}
|
||||||
ImagingSectionLeave(&cookie);
|
ImagingSectionLeave(&cookie);
|
||||||
|
|
|
@ -241,9 +241,10 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
|
|
||||||
ImagingSectionEnter(&cookie);
|
ImagingSectionEnter(&cookie);
|
||||||
if (imIn->image8) {
|
if (imIn->image8) {
|
||||||
|
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
for (xx = 0; xx < imOut->xsize; xx++) {
|
for (xx = 0; xx < imOut->xsize; xx++) {
|
||||||
xmin = bounds[xx * 2 + 0];
|
xmin = bounds[xx * 2 + 0];
|
||||||
xmax = bounds[xx * 2 + 1];
|
xmax = bounds[xx * 2 + 1];
|
||||||
k = &kk[xx * ksize];
|
k = &kk[xx * ksize];
|
||||||
ss0 = 1 << (PRECISION_BITS -1);
|
ss0 = 1 << (PRECISION_BITS -1);
|
||||||
|
@ -254,7 +255,8 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
}
|
}
|
||||||
} else if (imIn->type == IMAGING_TYPE_UINT8) {
|
} else if (imIn->type == IMAGING_TYPE_UINT8) {
|
||||||
if (imIn->bands == 2) {
|
if (imIn->bands == 2) {
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
|
||||||
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
for (xx = 0; xx < imOut->xsize; xx++) {
|
for (xx = 0; xx < imOut->xsize; xx++) {
|
||||||
xmin = bounds[xx * 2 + 0];
|
xmin = bounds[xx * 2 + 0];
|
||||||
xmax = bounds[xx * 2 + 1];
|
xmax = bounds[xx * 2 + 1];
|
||||||
|
@ -269,7 +271,8 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (imIn->bands == 3) {
|
} else if (imIn->bands == 3) {
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
|
||||||
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
for (xx = 0; xx < imOut->xsize; xx++) {
|
for (xx = 0; xx < imOut->xsize; xx++) {
|
||||||
xmin = bounds[xx * 2 + 0];
|
xmin = bounds[xx * 2 + 0];
|
||||||
xmax = bounds[xx * 2 + 1];
|
xmax = bounds[xx * 2 + 1];
|
||||||
|
@ -285,6 +288,7 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
for (xx = 0; xx < imOut->xsize; xx++) {
|
for (xx = 0; xx < imOut->xsize; xx++) {
|
||||||
xmin = bounds[xx * 2 + 0];
|
xmin = bounds[xx * 2 + 0];
|
||||||
|
@ -322,7 +326,8 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
|
|
||||||
ImagingSectionEnter(&cookie);
|
ImagingSectionEnter(&cookie);
|
||||||
if (imIn->image8) {
|
if (imIn->image8) {
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
|
||||||
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
k = &kk[yy * ksize];
|
k = &kk[yy * ksize];
|
||||||
ymin = bounds[yy * 2 + 0];
|
ymin = bounds[yy * 2 + 0];
|
||||||
ymax = bounds[yy * 2 + 1];
|
ymax = bounds[yy * 2 + 1];
|
||||||
|
@ -335,6 +340,7 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
}
|
}
|
||||||
} else if (imIn->type == IMAGING_TYPE_UINT8) {
|
} else if (imIn->type == IMAGING_TYPE_UINT8) {
|
||||||
if (imIn->bands == 2) {
|
if (imIn->bands == 2) {
|
||||||
|
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
k = &kk[yy * ksize];
|
k = &kk[yy * ksize];
|
||||||
ymin = bounds[yy * 2 + 0];
|
ymin = bounds[yy * 2 + 0];
|
||||||
|
@ -350,6 +356,7 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (imIn->bands == 3) {
|
} else if (imIn->bands == 3) {
|
||||||
|
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
k = &kk[yy * ksize];
|
k = &kk[yy * ksize];
|
||||||
ymin = bounds[yy * 2 + 0];
|
ymin = bounds[yy * 2 + 0];
|
||||||
|
@ -366,6 +373,7 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
|
||||||
for (yy = 0; yy < imOut->ysize; yy++) {
|
for (yy = 0; yy < imOut->ysize; yy++) {
|
||||||
k = &kk[yy * ksize];
|
k = &kk[yy * ksize];
|
||||||
ymin = bounds[yy * 2 + 0];
|
ymin = bounds[yy * 2 + 0];
|
||||||
|
|
3
setup.py
3
setup.py
|
@ -622,7 +622,8 @@ class pil_build_ext(build_ext):
|
||||||
exts = [(Extension("PIL._imaging",
|
exts = [(Extension("PIL._imaging",
|
||||||
files,
|
files,
|
||||||
libraries=libs,
|
libraries=libs,
|
||||||
define_macros=defs))]
|
define_macros=defs,
|
||||||
|
extra_compile_args=extra_compile_args))]
|
||||||
|
|
||||||
#
|
#
|
||||||
# additional libraries
|
# additional libraries
|
||||||
|
|
Loading…
Reference in New Issue
Block a user