diff --git a/build_linux64/libamscimglib4.linux64.a b/build_linux64/libamscimglib4.linux64.a index e9e2953..cdfd001 100644 Binary files a/build_linux64/libamscimglib4.linux64.a and b/build_linux64/libamscimglib4.linux64.a differ diff --git a/build_linux64/libamscimglib4.linux64.so b/build_linux64/libamscimglib4.linux64.so index c48ace3..6500a61 100644 Binary files a/build_linux64/libamscimglib4.linux64.so and b/build_linux64/libamscimglib4.linux64.so differ diff --git a/build_linux64/libamscppimglib4.linux64.a b/build_linux64/libamscppimglib4.linux64.a index 5657dff..7de2975 100644 Binary files a/build_linux64/libamscppimglib4.linux64.a and b/build_linux64/libamscppimglib4.linux64.a differ diff --git a/build_linux64/objstore/amscppimglib4_amsbitplane.o b/build_linux64/objstore/amscppimglib4_amsbitplane.o index 7c82e7a..82ff35d 100644 Binary files a/build_linux64/objstore/amscppimglib4_amsbitplane.o and b/build_linux64/objstore/amscppimglib4_amsbitplane.o differ diff --git a/build_linux64/objstore/amscppimglib4_amsfloatimage.o b/build_linux64/objstore/amscppimglib4_amsfloatimage.o index 68d4314..b93fb44 100644 Binary files a/build_linux64/objstore/amscppimglib4_amsfloatimage.o and b/build_linux64/objstore/amscppimglib4_amsfloatimage.o differ diff --git a/build_linux64/objstore/amscppimglib4_amsimage.o b/build_linux64/objstore/amscppimglib4_amsimage.o index e4bbdfa..9517434 100644 Binary files a/build_linux64/objstore/amscppimglib4_amsimage.o and b/build_linux64/objstore/amscppimglib4_amsimage.o differ diff --git a/build_linux64/objstore/amscppimglib4_amspixel.o b/build_linux64/objstore/amscppimglib4_amspixel.o index 2a3cc6a..aa83d4f 100644 Binary files a/build_linux64/objstore/amscppimglib4_amspixel.o and b/build_linux64/objstore/amscppimglib4_amspixel.o differ diff --git a/build_linux64/objstore/amscppimglib4_intlutil.o b/build_linux64/objstore/amscppimglib4_intlutil.o index 13f0aba..d92de8e 100644 Binary files a/build_linux64/objstore/amscppimglib4_intlutil.o and b/build_linux64/objstore/amscppimglib4_intlutil.o differ diff --git a/build_linux64/objstore/amscppimglib4_template.o b/build_linux64/objstore/amscppimglib4_template.o index 8791256..938b43b 100644 Binary files a/build_linux64/objstore/amscppimglib4_template.o and b/build_linux64/objstore/amscppimglib4_template.o differ diff --git a/build_linux64/objstore/amscppimglib4_tests.o b/build_linux64/objstore/amscppimglib4_tests.o index c7cf59c..e946b21 100644 Binary files a/build_linux64/objstore/amscppimglib4_tests.o and b/build_linux64/objstore/amscppimglib4_tests.o differ diff --git a/build_linux64/tests b/build_linux64/tests index 97c84a3..cbfb7b5 100644 Binary files a/build_linux64/tests and b/build_linux64/tests differ diff --git a/build_mingw64/libamscimglib4.winx64.dll b/build_mingw64/libamscimglib4.winx64.dll index 4473f11..3392d85 100644 Binary files a/build_mingw64/libamscimglib4.winx64.dll and b/build_mingw64/libamscimglib4.winx64.dll differ diff --git a/build_mingw64/libamscppimglib4.mingw64.a b/build_mingw64/libamscppimglib4.mingw64.a index 7969d08..2933908 100644 Binary files a/build_mingw64/libamscppimglib4.mingw64.a and b/build_mingw64/libamscppimglib4.mingw64.a differ diff --git a/build_mingw64/objstore/amscppimglib4_amsbitplane.o b/build_mingw64/objstore/amscppimglib4_amsbitplane.o index 2295c08..158b051 100644 Binary files a/build_mingw64/objstore/amscppimglib4_amsbitplane.o and b/build_mingw64/objstore/amscppimglib4_amsbitplane.o differ diff --git a/build_mingw64/objstore/amscppimglib4_amsfloatimage.o b/build_mingw64/objstore/amscppimglib4_amsfloatimage.o index 7e95c85..4388632 100644 Binary files a/build_mingw64/objstore/amscppimglib4_amsfloatimage.o and b/build_mingw64/objstore/amscppimglib4_amsfloatimage.o differ diff --git a/build_mingw64/objstore/amscppimglib4_amsimage.o b/build_mingw64/objstore/amscppimglib4_amsimage.o index a3e7336..159c8f3 100644 Binary files a/build_mingw64/objstore/amscppimglib4_amsimage.o and b/build_mingw64/objstore/amscppimglib4_amsimage.o differ diff --git a/build_mingw64/objstore/amscppimglib4_amspixel.o b/build_mingw64/objstore/amscppimglib4_amspixel.o index d7b3a98..480eaf1 100644 Binary files a/build_mingw64/objstore/amscppimglib4_amspixel.o and b/build_mingw64/objstore/amscppimglib4_amspixel.o differ diff --git a/build_mingw64/objstore/amscppimglib4_intlutil.o b/build_mingw64/objstore/amscppimglib4_intlutil.o index a01bb94..63f49bb 100644 Binary files a/build_mingw64/objstore/amscppimglib4_intlutil.o and b/build_mingw64/objstore/amscppimglib4_intlutil.o differ diff --git a/build_mingw64/objstore/amscppimglib4_template.o b/build_mingw64/objstore/amscppimglib4_template.o index cf14878..04c7917 100644 Binary files a/build_mingw64/objstore/amscppimglib4_template.o and b/build_mingw64/objstore/amscppimglib4_template.o differ diff --git a/build_mingw64/objstore/amscppimglib4_tests.o b/build_mingw64/objstore/amscppimglib4_tests.o index aab130b..3f063a8 100644 Binary files a/build_mingw64/objstore/amscppimglib4_tests.o and b/build_mingw64/objstore/amscppimglib4_tests.o differ diff --git a/build_mingw64/tests.exe b/build_mingw64/tests.exe index e23cf2c..bae19bf 100644 Binary files a/build_mingw64/tests.exe and b/build_mingw64/tests.exe differ diff --git a/include/amscppimglib4/amscppimglib4_intlutil.hpp b/include/amscppimglib4/amscppimglib4_intlutil.hpp index 1dda3fc..fa6e10b 100644 --- a/include/amscppimglib4/amscppimglib4_intlutil.hpp +++ b/include/amscppimglib4/amscppimglib4_intlutil.hpp @@ -12,8 +12,8 @@ namespace imglib4 template int threaded_execute(callable &&fptr, int64_t psize, argst&&... args) { int ret = amsimage_success; - int nthreads; - int I; + int nthreads = 1; + int I = 0; std::vector threads; if(psize int threaded_execute(callable && nthreads = (nthreads<=0) ? 1 : nthreads; nthreads = (nthreads>amsimage_maxthreads) ? amsimage_maxthreads : nthreads; threads.resize(nthreads); + if(threads.size()!=nthreads) + { + //fallback to single threaded execution + nthreads = 1; + I = 0; + fptr(I,nthreads,std::forward(args)...); + return amsimage_success; + } for(I=0;Iresize(Nx,Ny); + res = this->resize(other.Nx,other.Ny); if(res==amsimage_success) { imglib4::amsimage_plane_copy( @@ -55,7 +55,7 @@ namespace ams int res; if(this!=&other) { - res = this->resize(Nx,Ny); + res = this->resize(other.Nx,other.Ny); if(res==amsimage_success) { imglib4::amsimage_plane_copy( @@ -630,8 +630,8 @@ namespace ams Ix = I%dx; Iy = I/dx; - Ia = (Ix + x0) + (Iy + y0)*imgto->Ny; - Ib = Ix + Iy*imgfrom->Ny; + Ia = (Ix + x0) + (Iy + y0)*imgto->Nx; + Ib = Ix + Iy*imgfrom->Nx; v1 = imgto->data[Ia]; v2 = imgfrom->data[Ib]; diff --git a/src/amscppimglib4/amscppimglib4_amsfloatimage.cpp b/src/amscppimglib4/amscppimglib4_amsfloatimage.cpp index e4fe650..6114e9b 100644 --- a/src/amscppimglib4/amscppimglib4_amsfloatimage.cpp +++ b/src/amscppimglib4/amscppimglib4_amsfloatimage.cpp @@ -613,8 +613,8 @@ namespace ams Ix = I%dx; Iy = I/dx; - Ia = (Ix + x0) + (Iy + y0)*imgto->Ny; - Ib = Ix + Iy*imgfrom->Ny; + Ia = (Ix + x0) + (Iy + y0)*imgto->Nx; + Ib = Ix + Iy*imgfrom->Nx; r1 = imgto->data[0 + 4*Ia]; g1 = imgto->data[1 + 4*Ia]; diff --git a/src/amscppimglib4/amscppimglib4_intlutil.cpp b/src/amscppimglib4/amscppimglib4_intlutil.cpp index b951cfe..4d1e4f3 100644 --- a/src/amscppimglib4/amscppimglib4_intlutil.cpp +++ b/src/amscppimglib4/amscppimglib4_intlutil.cpp @@ -546,13 +546,13 @@ void amsfloatimage_region_castcopy2_tf( bi = (int)(datafrom[2 + 4*Ib]*255.0); ai = (int)(datafrom[3 + 4*Ib]*255.0); ri = (ri<0) ? 0 : ri; - gi = (ri<0) ? 0 : gi; - bi = (ri<0) ? 0 : bi; - ai = (ri<0) ? 0 : ai; + gi = (gi<0) ? 0 : gi; + bi = (bi<0) ? 0 : bi; + ai = (ai<0) ? 0 : ai; ri = (ri>255) ? 255 : ri; - gi = (ri>255) ? 255 : gi; - bi = (ri>255) ? 255 : bi; - ai = (ri>255) ? 255 : ai; + gi = (gi>255) ? 255 : gi; + bi = (bi>255) ? 255 : bi; + ai = (ai>255) ? 255 : ai; datato[0 + 4*Ia] = (uint8_t)ri; datato[1 + 4*Ia] = (uint8_t)gi; diff --git a/src/main.cpp b/src/main.cpp index d27f57f..9d90b2b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,10 +6,10 @@ int main(int argc, char* argv[]) { int ret = 0; - //amscppimglib4_test1(); - //amscppimglib4_test2(); + amscppimglib4_test1(); + amscppimglib4_test2(); amscppimglib4_bitplane_alloc_tests(); - //amscppimglib4_image_alloc_tests(); + amscppimglib4_image_alloc_tests(); return ret;