[arrayfire] 38/75: Merge remote-tracking branch 'yshady/loadImageINT32' into devel
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Mon Feb 29 08:01:14 UTC 2016
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch dfsg-clean
in repository arrayfire.
commit 123a0372a5dba27b49ce58b4279b2cf9d413bce1
Merge: 236ac64 9b10c0e
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date: Thu Feb 18 13:13:32 2016 -0500
Merge remote-tracking branch 'yshady/loadImageINT32' into devel
src/api/c/imageio.cpp | 38 +++++++++++++++++++++++++++++++++-----
src/api/c/imageio2.cpp | 24 +++++++++++++++++++++---
2 files changed, 54 insertions(+), 8 deletions(-)
diff --cc src/api/c/imageio.cpp
index 748ddbc,d990b10..9f996eb
--- a/src/api/c/imageio.cpp
+++ b/src/api/c/imageio.cpp
@@@ -186,7 -186,10 +186,10 @@@ af_err af_load_image(af_array *out, con
if(fi_bpc != 8 && fi_bpc != 16 && fi_bpc != 32) {
AF_ERROR("FreeImage Error: Bits per channel not supported", AF_ERR_NOT_SUPPORTED);
}
-
+
+ // data type
+ FREE_IMAGE_TYPE image_type = FreeImage_GetImageType(pBitmap);
-
++
// sizes
uint fi_w = FreeImage_GetWidth(pBitmap);
uint fi_h = FreeImage_GetHeight(pBitmap);
@@@ -204,21 -207,36 +207,36 @@@
else if(fi_bpc == 16)
AF_CHECK((readImage<ushort, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 32)
- AF_CHECK((readImage<float, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
+ switch(image_type) {
- case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_INT32: AF_CHECK((readImage<int, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
++ case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_INT32: AF_CHECK((readImage<int, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_RGBA, AFFI_RGBA>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
+ }
} else if (fi_color == 1) {
if(fi_bpc == 8)
AF_CHECK((readImage<uchar, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 16)
AF_CHECK((readImage<ushort, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 32)
- AF_CHECK((readImage<float, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
+ switch(image_type) {
- case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_INT32: AF_CHECK((readImage<int, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
++ case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_INT32: AF_CHECK((readImage<int, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_GRAY, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
+ }
} else { //3 channel image
if(fi_bpc == 8)
AF_CHECK((readImage<uchar, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 16)
AF_CHECK((readImage<ushort, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 32)
- AF_CHECK((readImage<float, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
+ switch(image_type) {
- case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_INT32: AF_CHECK((readImage<int, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
++ case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_INT32: AF_CHECK((readImage<int, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_RGB, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
+ }
}
} else { //output gray irrespective
if(fi_color == 1) { //4 channel image
@@@ -227,14 -245,24 +245,24 @@@
else if(fi_bpc == 16)
AF_CHECK((readImage<ushort, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 32)
- AF_CHECK((readImage<float, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
+ switch(image_type) {
- case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_INT32: AF_CHECK((readImage<int, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
++ case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_INT32: AF_CHECK((readImage<int, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_GRAY>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
+ }
} else if (fi_color == 3 || fi_color == 4) {
if(fi_bpc == 8)
AF_CHECK((readImage<uchar, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 16)
AF_CHECK((readImage<ushort, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
else if(fi_bpc == 32)
- AF_CHECK((readImage<float, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h));
+ switch(image_type) {
- case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_INT32: AF_CHECK((readImage<int, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
- default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
++ case FIT_UINT32: AF_CHECK((readImage<uint, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_INT32: AF_CHECK((readImage<int, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ case FIT_FLOAT: AF_CHECK((readImage<float, AFFI_RGB>)(&rImage, pSrcLine, nSrcPitch, fi_w, fi_h)); break;
++ default: AF_ERROR("FreeImage Error: Unknown image type", AF_ERR_NOT_SUPPORTED); break;
+ }
}
}
diff --cc src/api/c/imageio2.cpp
index ff7a4a8,44886aa..cfad2fa
--- a/src/api/c/imageio2.cpp
+++ b/src/api/c/imageio2.cpp
@@@ -162,7 -162,10 +162,10 @@@ af_err af_load_image_native(af_array *o
if(fi_bpc != 8 && fi_bpc != 16 && fi_bpc != 32) {
AF_ERROR("FreeImage Error: Bits per channel not supported", AF_ERR_NOT_SUPPORTED);
}
-
+
+ // data type
+ FREE_IMAGE_TYPE image_type = FreeImage_GetImageType(pBitmap);
-
++
// sizes
uint fi_w = FreeImage_GetWidth(pBitmap);
uint fi_h = FreeImage_GetHeight(pBitmap);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git
More information about the debian-science-commits
mailing list