[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] libcvd/pnm_src png.cc
From: |
Edward Rosten |
Subject: |
[libcvd-members] libcvd/pnm_src png.cc |
Date: |
Fri, 05 Nov 2010 15:32:41 +0000 |
CVSROOT: /cvsroot/libcvd
Module name: libcvd
Changes by: Edward Rosten <edrosten> 10/11/05 15:32:41
Modified files:
pnm_src : png.cc
Log message:
Added macro based verbose mode to PNG loading.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/pnm_src/png.cc?cvsroot=libcvd&r1=1.13&r2=1.14
Patches:
Index: png.cc
===================================================================
RCS file: /cvsroot/libcvd/libcvd/pnm_src/png.cc,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- png.cc 5 Nov 2010 15:09:52 -0000 1.13
+++ png.cc 5 Nov 2010 15:32:40 -0000 1.14
@@ -53,10 +53,8 @@
// Implementation of PNGPimpl
//
-
class CVD::PNG::PNGPimpl
{
-
public:
template<class C> void read_pixels(C*);
PNGPimpl(std::istream& in);
@@ -96,8 +94,29 @@
return my_size;
}
+#ifdef CVD_INTERNAL_VERBOSE_PNG
+ #include <map>
-#define LOG(X) do{ cerr << X; }while(0)
+ #define LOG(X) do{ cerr << X; }while(0)
+
+ static string lookup_color_type(int i)
+ {
+ map<int, string> m;
+ #define ADD(X) m[X] = #X
+ ADD(PNG_COLOR_TYPE_GRAY);
+ ADD(PNG_COLOR_TYPE_GRAY_ALPHA);
+ ADD(PNG_COLOR_TYPE_PALETTE);
+ ADD(PNG_COLOR_TYPE_RGB);
+ ADD(PNG_COLOR_TYPE_RGB_ALPHA);
+ ADD(PNG_COLOR_MASK_PALETTE);
+ ADD(PNG_COLOR_MASK_COLOR);
+ ADD(PNG_COLOR_MASK_ALPHA);
+
+ return m[i];
+ }
+#else
+ #define LOG(X)
+#endif
template<class P> void PNGPimpl::read_pixels(P* data)
{
@@ -174,6 +193,16 @@
png_get_IHDR(png_ptr, info_ptr, &w, &h, &depth, &colour, &interlace,
&dummy, &dummy);
+ LOG("w = " << w << endl);
+ LOG("h = " << h << endl);
+ LOG("depth = " << depth << endl);
+ LOG("colour = " << colour<< ": " << lookup_color_type(colour) <<
endl);
+ LOG(" palette = " << (colour & PNG_COLOR_MASK_PALETTE) << endl);
+ LOG(" color = " << (colour & PNG_COLOR_MASK_COLOR) << endl);
+ LOG(" alpha = " << (colour & PNG_COLOR_MASK_ALPHA) << endl);
+ LOG("interlace = " << interlace<< endl);
+ LOG("channels = " << (int)png_get_channels(png_ptr, info_ptr) << endl);
+
my_size.x = w;
my_size.y = h;
- [libcvd-members] libcvd/pnm_src png.cc,
Edward Rosten <=