- TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &Info.tiWidth);
- TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &Info.tiHeight);
- TIFFGetField(tif, TIFFTAG_BITSPERSAMPLE, &Info.tiBps);
- TIFFGetField(tif, TIFFTAG_SAMPLEFORMAT, &Info.tiSf);
- TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &Info.tiSpp);
- Info.tiPhoto = 0;
- TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &Info.tiPhoto);
- TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &Info.tiPC);
- w= Info.tiWidth;
- h= Info.tiHeight;
-
+ tiBps = tiPhoto = tiSf = tiSpp = tiPC = 0;
+ tiWidth = tiHeight = 0;
+
+ TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &tiWidth);
+ TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &tiHeight);
+ TIFFGetField(tif, TIFFTAG_BITSPERSAMPLE, &tiBps);
+ TIFFGetField(tif, TIFFTAG_SAMPLEFORMAT, &tiSf);
+ TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &tiSpp);
+ TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &tiPhoto);
+ TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &tiPC);
+ w= tiWidth;
+ h= tiHeight;
+
+ if(tiBps != 8 && tiBps != 16 && tiBps != 12) tiBps = 0;
+ if(tiPhoto != 1 && tiPhoto != 2) tiPhoto = 0;
+
+ if( !tiBps || !tiPhoto)