unroll 32bpc version

This commit is contained in:
homm 2016-05-05 18:11:20 +03:00
parent 04552b015d
commit f3f03bcd67

View File

@ -318,10 +318,10 @@ ImagingResampleHorizontal_32bpc(Imaging imIn, int xsize, struct filter *filterp)
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
/* horizontal stretch */ /* horizontal stretch */
for (yy = 0; yy < imOut->ysize; yy++) {
switch(imIn->type) { switch(imIn->type) {
case IMAGING_TYPE_INT32: case IMAGING_TYPE_INT32:
/* 32-bit integer */ for (yy = 0; yy < imOut->ysize; yy++) {
for (xx = 0; xx < xsize; xx++) { for (xx = 0; xx < xsize; xx++) {
xmin = xbounds[xx * 2 + 0]; xmin = xbounds[xx * 2 + 0];
xmax = xbounds[xx * 2 + 1]; xmax = xbounds[xx * 2 + 1];
@ -331,9 +331,11 @@ ImagingResampleHorizontal_32bpc(Imaging imIn, int xsize, struct filter *filterp)
ss += IMAGING_PIXEL_I(imIn, x, yy) * k[x - xmin]; ss += IMAGING_PIXEL_I(imIn, x, yy) * k[x - xmin];
IMAGING_PIXEL_I(imOut, xx, yy) = lround(ss); IMAGING_PIXEL_I(imOut, xx, yy) = lround(ss);
} }
break; }
case IMAGING_TYPE_FLOAT32: break;
/* 32-bit float */
case IMAGING_TYPE_FLOAT32:
for (yy = 0; yy < imOut->ysize; yy++) {
for (xx = 0; xx < xsize; xx++) { for (xx = 0; xx < xsize; xx++) {
xmin = xbounds[xx * 2 + 0]; xmin = xbounds[xx * 2 + 0];
xmax = xbounds[xx * 2 + 1]; xmax = xbounds[xx * 2 + 1];
@ -343,8 +345,8 @@ ImagingResampleHorizontal_32bpc(Imaging imIn, int xsize, struct filter *filterp)
ss += IMAGING_PIXEL_F(imIn, x, yy) * k[x - xmin]; ss += IMAGING_PIXEL_F(imIn, x, yy) * k[x - xmin];
IMAGING_PIXEL_F(imOut, xx, yy) = ss; IMAGING_PIXEL_F(imOut, xx, yy) = ss;
} }
break; }
} break;
} }
ImagingSectionLeave(&cookie); ImagingSectionLeave(&cookie);
free(kk); free(kk);