File difference report generated by CSDiff by ComponentSoftware on 26/12/2010 19:40

Base file: D:\dev2\work\cximage601\libtiff394orig\tif_getimage.c
Compared file: D:\dev2\work\cximage601\tiff\tif_getimage.c

26a27,28
> #pragma warning (disable : 4550)
> 
82c84
< 	switch (td->td_bitspersample) {
---
> 	/*switch (td->td_bitspersample) { // - VK -
93c95
< 	}
---
> 	}*/
245c247
< 	switch (img->bitspersample) {
---
> 	/*switch (img->bitspersample) { // - VK -
256c258
< 	}
---
> 	}*/
1220a1223,1460
> /* + VK
>  * 2-bit packed samples, no Map => RGB
>  */
> DECLAREContigPutFunc(putRGBcontig2bittile)
> {
> 	uint32 d;
> 	uint8 r, g, b;
>     int samplesperpixel = img->samplesperpixel;
> 	int _x;
> 	uint8 *from;
> 
> /*#define put_rgb(r,g,b) *cp++ = PACK( (r<<6), (g<<6), (b<<6) );	\
> 	if(--_x <= 0) { cp += toskew; _x = w; }*/
> #define put_rgb(r,g,b) *cp++ = PACK( (r<<6), (g<<6), (b<<6) );
> 
>     (void) x; (void) y;
> 	if (samplesperpixel == 3) {
> 		while (h-- > 0) {
> 			from = pp;
> 			for (_x=w; _x > 0; _x -= 4) {
> 				d = *(uint32*)from;
> 				from += 3;
> 					r = (uint8)( d & 3 ); g = (uint8)( (d >> 2) & 3 ); b = (uint8)( (d >> 4) & 3 );
> 					put_rgb( r, g, b );
> 				if (_x > 1) {
> 					r = (uint8)( (d>>6) & 3 ); g = (uint8)( (d >> 8) & 3 ); b = (uint8)( (d >> 10) & 3 );
> 					put_rgb( r, g, b );
> 				}
> 				if (_x > 2) {
> 					r = (uint8)( (d>>12) & 3 ); g = (uint8)( (d >> 14) & 3 ); b = (uint8)( (d >> 16) & 3 );
> 					put_rgb( r, g, b );
> 				}
> 				if (_x > 3) {
> 					r = (uint8)( (d>>18) & 3 ); g = (uint8)( (d >> 20) & 3 ); b = (uint8)( (d >> 22) & 3 );
> 					put_rgb( r, g, b );
> 				}
> 			}
> 			cp += toskew;
> 			pp += (w * samplesperpixel * 2 + 7)/8 + fromskew;
> 		}
> 	} else if (samplesperpixel == 4) { // VK: not tested!
> 		while (h-- > 0) {
> 			for (_x = w; _x >= 0; _x --) {
> 				r = *pp & 3; g = (*pp >> 2) & 3; b = (*pp >> 4) & 3;
> 				*cp++ = PACK( r<<6, g<<6, b<<6 );
> 				pp ++;
> 			}
> 			cp += toskew;
> 			pp += fromskew;
> 		}
> 	}
> }
> 
> /* + VK
>  * 2-bit packed samples, w/ Map => RGB
>  */
> DECLAREContigPutFunc(putRGBcontig2bitMaptile)
> {
> 	uint32 d;
> 	uint8 r, g, b;
>     int samplesperpixel = img->samplesperpixel;
> 	int _x;
> 	uint8 *from;
> 	TIFFRGBValue* Map = img->Map;
> 
> /*#define put_rgb(r,g,b) *cp++ = PACK( (r<<6), (g<<6), (b<<6) );	\
> 	if(--_x <= 0) { cp += toskew; _x = w; }*/
> #define put_rgb2map(r,g,b) *cp++ = PACK( Map[g], Map[r], Map[b] );
> 
>     (void) x; (void) y;
> 	if (samplesperpixel == 3) {
> 		while (h-- > 0) {
> 			from = pp;
> 			for (_x=w; _x > 0; _x -= 4) {
> 				d = *(uint32*)from;
> 				from += 3;
> 					r = (uint8)( (d>>6) & 3 ); g = (uint8)( (d >> 4) & 3 ); b = (uint8)( (d >> 2) & 3 );
> 					put_rgb2map( r, g, b );
> 				if (_x > 1) {
> 					r = (uint8)( (d>>0) & 3 ); g = (uint8)( (d >> 14) & 3 ); b = (uint8)( (d >> 12) & 3 );
> 					put_rgb2map( r, g, b );
> 				}
> 				if (_x > 2) {
> 					r = (uint8)( (d>>10) & 3 ); g = (uint8)( (d >> 8) & 3 ); b = (uint8)( (d >> 22) & 3 );
> 					put_rgb2map( r, g, b );
> 				}
> 				if (_x > 3) {
> 					r = (uint8)( (d>>20) & 3 ); g = (uint8)( (d >> 18) & 3 ); b = (uint8)( (d >> 16) & 3 );
> 					put_rgb2map( r, g, b );
> 				}
> 			}
> 			cp += toskew;
> 			pp += (w * samplesperpixel * 2 + 7)/8 + fromskew;
> 		}
> 	} else if (samplesperpixel == 4) { // VK: not tested!
> 		while (h-- > 0) {
> 			for (_x = w; _x >= 0; _x --) {
> 				r = *pp & 3; g = (*pp >> 2) & 3; b = (*pp >> 4) & 3;
> 				*cp++ = PACK( r<<6, g<<6, b<<6 );
> 				pp ++;
> 			}
> 			cp += toskew;
> 			pp += fromskew;
> 		}
> 	}
> }
> 
> /* + VK
>  * 4-bit packed samples, no Map => RGB
>  */
> DECLAREContigPutFunc(putRGBcontig4bittile)
> {
> 	uint32 d;
> 	uint8 r, g, b;
>     int samplesperpixel = img->samplesperpixel;
> 	int _x;
> 	uint8 *from;
> 
> /*#define put_rgb(r,g,b) *cp++ = PACK( (r<<6), (g<<6), (b<<6) );	\
> 	if(--_x <= 0) { cp += toskew; _x = w; }*/
> #define put_rgb4(r,g,b) *cp++ = PACK( ((r<<4)|r), ((g<<4)|g), ((b<<4)|b) );
> 
>     (void) x; (void) y;
> 	if (samplesperpixel == 3) {
> 		while (h-- > 0) {
> 			from = pp;
> 			for (_x=w; _x > 0; _x -= 2) {
> 				d = *(uint32*)from;
> 				from += 3;
> 					g = (uint8)( d & 15 ); b = (uint8)( (d >> 4) & 15 ); r = (uint8)( (d >> 12) & 15 );
> 					put_rgb4( r, g, b );
> 				if (_x > 1) {
> 					b = (uint8)( (d>>8) & 15 ); r = (uint8)( (d >> 16) & 15 ); g = (uint8)( (d >> 20) & 15 );
> 					put_rgb4( r, g, b );
> 				}
> 			}
> 			cp += toskew;
> 			pp += (w * samplesperpixel * 4 + 7)/8 + fromskew;
> 		}
> 	} else if (samplesperpixel == 4) { // VK: not tested!
> 		while (h-- > 0) {
> 			for (_x = w; _x >= 0; _x --) {
> 				g = *pp & 15; r = (*pp++ >> 4) & 15; b = (*pp++ >> 4) & 15;
> 				*cp++ = PACK( r<<4, g<<4, b<<4 );
> 			}
> 			cp += toskew;
> 			pp += fromskew;
> 		}
> 	}
> }
> 
> /* + VK
>  * 4-bit packed samples, w/ Map => RGB
>  */
> DECLAREContigPutFunc(putRGBcontig4bitMaptile)
> {
> 	uint32 d;
> 	uint8 r, g, b;
>     int samplesperpixel = img->samplesperpixel;
> 	int _x;
> 	uint8 *from;
> 	TIFFRGBValue* Map = img->Map;
> 
> /*#define put_rgb(r,g,b) *cp++ = PACK( (r<<6), (g<<6), (b<<6) );	\
> 	if(--_x <= 0) { cp += toskew; _x = w; }*/
> #define put_rgb4map(r,g,b) *cp++ = PACK( Map[r], Map[g], Map[b] );
> 
>     (void) x; (void) y;
> 	if (samplesperpixel == 3) {
> 		while (h-- > 0) {
> 			from = pp;
> 			for (_x=w; _x > 0; _x -= 2) {
> 				d = *(uint32*)from;
> 				from += 3;
> 					g = (uint8)( d & 15 ); r = (uint8)( (d >> 4) & 15 ); b = (uint8)( (d >> 12) & 15 );
> 					put_rgb4map( r, g, b );
> 				if (_x > 1) {
> 					r = (uint8)( (d>>8) & 15 ); b = (uint8)( (d >> 16) & 15 ); g = (uint8)( (d >> 20) & 15 );
> 					put_rgb4map( r, g, b );
> 				}
> 			}
> 			cp += toskew;
> 			pp += (w * samplesperpixel * 4 + 7)/8 + fromskew;
> 		}
> 	} else if (samplesperpixel == 4) { // VK: not tested!
> 		while (h-- > 0) {
> 			for (_x = w; _x >= 0; _x --) {
> 				g = *pp & 15; r = (*pp++ >> 4) & 15; b = (*pp++ >> 4) & 15;
> 				*cp++ = PACK(Map[r<<4], Map[g<<4], Map[b<<4] );
> 			}
> 			cp += toskew;
> 			pp += fromskew;
> 		}
> 	}
> }
> 
> /* + VK
>  * 10-bit packed samples, no Map => RGB
>  */
> DECLAREContigPutFunc(putRGBcontig10bittile)
> {
> 	uint32 d;
> 	uint16 r, g, b;
>     int samplesperpixel = img->samplesperpixel;
> 	int _x;
> 	uint8 *from;
> 
> #define put_rgb10(r,g,b) *cp++ = PACK( (uint8)(r>>2), (uint8)(g>>2), (uint8)(b>>2) );
> 
>     (void) x; (void) y;
> 	if (samplesperpixel == 3) {
> 		while (h-- > 0) {
> 			from = pp;
> 			for (_x=w; _x > 0; _x -= 2) {
> 				d = *(uint32*)from;
> 				from += 3;
> 					g = (uint8)( d & 15 ); b = (uint8)( (d >> 4) & 15 ); r = (uint8)( (d >> 12) & 15 );
> 					put_rgb4( r, g, b );
> 				if (_x > 1) {
> 					b = (uint8)( (d>>8) & 15 ); r = (uint8)( (d >> 16) & 15 ); g = (uint8)( (d >> 20) & 15 );
> 					put_rgb4( r, g, b );
> 				}
> 			}
> 			cp += toskew;
> 			pp += (w * samplesperpixel * 4 + 7)/8 + fromskew;
> 		}
> 	} else if (samplesperpixel == 4) { // VK: not tested!
> 		while (h-- > 0) {
> 			for (_x = w; _x >= 0; _x --) {
> 				g = *pp & 15; r = (*pp++ >> 4) & 15; b = (*pp++ >> 4) & 15;
> 				*cp++ = PACK( r<<4, g<<4, b<<4 );
> 			}
> 			cp += toskew;
> 			pp += fromskew;
> 		}
> 	}
> }
> 
1300a1541,1698
> /* + VK
>  * n-bit packed samples => RGB
>  */
> DECLAREContigPutFunc(putRGBcontigAllbittile)
> {
>     int samplesperpixel = img->samplesperpixel;
> 	int bpp = img->bitspersample;
> 	uint8 r, g, b;
> 	uint8 * pp1;
>     uint16 *wp = (uint16 *)pp;
> 	uint32 d;
> 
>     (void) y;
>     fromskew *= samplesperpixel;
> 
> 	if (bpp <= 8) {
> 		pp1 = pp;
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pp = pp1;
> 			for (x = w; x-- > 0;) {
> 				d = (*pp << 24) | (pp[1] << 16) | (pp[2] << 8) | pp[3];
> 				r = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				g = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				b = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				*cp++ = PACK(r, g, b);
> 				while (offbits >= 8) {
> 					pp++;
> 					offbits -= 8;
> 				}
> 			}
> 			cp += toskew;
> 			pp1 += (bpp * samplesperpixel * w + 7)/8 + fromskew;
> 		}
> 	} else if (bpp <= 24) {
> 		pp1 = pp;
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pp = pp1;
> 			for (x = w; x-- > 0;) {
> 				d = (*pp << 24) | (pp[1] << 16) | (pp[2] << 8) | pp[3];
> 				r = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pp++;
> 					offbits -= 8;
> 				}
> 				d = (*pp << 24) | (pp[1] << 16) | (pp[2] << 8) | pp[3];
> 				g = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pp++;
> 					offbits -= 8;
> 				}
> 				d = (*pp << 24) | (pp[1] << 16) | (pp[2] << 8) | pp[3];
> 				b = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pp++;
> 					offbits -= 8;
> 				}
> 				*cp++ = PACK(r, g, b);
> 			}
> 			cp += toskew;
> 			pp1 += (bpp * samplesperpixel * w + 7)/8 + fromskew;
> 		}
> 	} else {
> 		pp1 = pp;
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pp = pp1;
> 			for (x = w; x-- > 0;) {
> 				d = *(uint32*)pp;
> 				r = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pp++;
> 					offbits -= 8;
> 				}
> 				d = *(uint32*)pp;
> 				g = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pp++;
> 					offbits -= 8;
> 				}
> 				d = *(uint32*)pp;
> 				b = (uint8) ( d >> (24 - offbits) );
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pp++;
> 					offbits -= 8;
> 				}
> 				*cp++ = PACK(r, g, b);
> 			}
> 			cp += toskew;
> 			pp1 += (bpp * samplesperpixel * w + 7)/8 + fromskew;
> 		}
> 	}
> }
> 
> /* + VK 
>  * 16-bit packed CMYK samples => RGB 
>  */
> DECLAREContigPutFunc(put_CMYKmap_contig16bittile)
> {
>     int samplesperpixel = img->samplesperpixel;
> 	TIFFRGBValue* Map = img->Map; // for Map only
>     uint16 *wp = (uint16 *)pp;
> 	uint32 r, g, b, k;
> 
>     (void) y;
>     fromskew *= samplesperpixel;
>     while (h-- > 0) {
> 	for (x = w; x-- > 0;) {
> 	    k = 65535 - wp[3];
> 	    r = (k*(65535-wp[0]))/65535;
> 	    g = (k*(65535-wp[1]))/65535;
> 	    b = (k*(65535-wp[2]))/65535;
> 
> 		*cp++ = PACK(Map[r>>8], Map[g>>8], Map[b>>8]);
> 				//PACKW(r, g, b);
> 	    wp += samplesperpixel;
> 	}
> 	cp += toskew;
> 	wp += fromskew;
>     }
> }
> 
> /* + VK - not tested? see above (put_CMYKmap_contig16bittile)
>  * 16-bit packed CMYK samples => RGB // + VK
>  */
> DECLAREContigPutFunc(put_CMYK_contig16bittile)
> {
>     int samplesperpixel = img->samplesperpixel;
>     uint16 *wp = (uint16 *)pp;
> 	uint16 r, g, b, k;
> 
>     (void) y;
>     fromskew *= samplesperpixel;
>     while (h-- > 0) {
> 	for (x = w; x-- > 0;) {
> 	    k = 65535 - wp[3];
> 	    r = (k*(65535-wp[0]))/65535;
> 	    g = (k*(65535-wp[1]))/65535;
> 	    b = (k*(65535-wp[2]))/65535;
> 
> 		*cp++ = PACKW(r, g, b);
> 	    wp += samplesperpixel;
> 	}
> 	cp += toskew;
> 	wp += fromskew;
>     }
> }
> 
1470a1869,2028
> /* + VK
>  * n-bit packed samples => RGB
>  */
> DECLARESepPutFunc(putRGBseparateAllbittile)
> {
> 	int bpp = img->bitspersample;
>     uint8 *pr = (uint8*) r;
>     uint8 *pg = (uint8*) g;
>     uint8 *pb = (uint8*) b;
> 	uint8 *pr1 = pr;
> 	uint8 *pg1 = pg;
> 	uint8 *pb1 = pb;
> 	uint32 dr, dg, db;
> 	uint8 rr, gg, bb;
> 
>     (void) img; (void) y; (void) a;
> 	if (bpp <= 24) {
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pr = pr1; pg = pg1; pb = pb1;
> 			for (x = 0; x < w; x++) {
> 				dr = (*pr << 24)|(pr[1]<<16)|(pr[2]<<8)|pr[3];
> 				dg = (*pg << 24)|(pg[1]<<16)|(pg[2]<<8)|pg[3];
> 				db = (*pb << 24)|(pb[1]<<16)|(pb[2]<<8)|pb[3];
> 				rr = (uint8) (dr >> (24 - offbits));
> 				gg = (uint8) (dg >> (24 - offbits));
> 				bb = (uint8) (db >> (24 - offbits));
> 				*cp++ = PACK(rr, gg, bb);
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pr++; pg++; pb++;
> 					offbits -= 8;
> 				}
> 			}
> 			pr1 += (bpp * w + 7)/8 + fromskew;
> 			pg1 += (bpp * w + 7)/8 + fromskew;
> 			pb1 += (bpp * w + 7)/8 + fromskew;
> 			cp += toskew;
> 		}
> 	} else if (bpp <= 32) {
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pr = pr1; pg = pg1; pb = pb1;
> 			for (x = 0; x < w; x++) {
> 				dr = *(uint32*)pr;
> 				dg = *(uint32*)pg;
> 				db = *(uint32*)pb;
> 				rr = (uint8) (dr >> (24 - offbits));
> 				gg = (uint8) (dg >> (24 - offbits));
> 				bb = (uint8) (db >> (24 - offbits));
> 				*cp++ = PACK(rr, gg, bb);
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pr++; pg++; pb++;
> 					offbits -= 8;
> 				}
> 			}
> 			pr1 += (bpp * w + 7)/8 + fromskew;
> 			pg1 += (bpp * w + 7)/8 + fromskew;
> 			pb1 += (bpp * w + 7)/8 + fromskew;
> 			cp += toskew;
> 		}
> 	} else { // rare case, when bpp > 32
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pr = pr1; pg = pg1; pb = pb1;
> 			for (x = 0; x < w; x++) {
> #define SWAW( x ) x = (x>>16) | (x<<16)
> 				dr = *(uint32*)(pr + bpp/8 - 4); SWAW( dr ); 
> 				dg = *(uint32*)(pg + bpp/8 - 4); SWAW( dg ); 
> 				db = *(uint32*)(pb + bpp/8 - 4); SWAW( db ); 
> 				rr = (uint8) (dr >> offbits);
> 				gg = (uint8) (dg >> offbits);
> 				bb = (uint8) (db >> offbits);
> 				*cp++ = PACK(rr, gg, bb);
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pr++; pg++; pb++;
> 					offbits -= 8;
> 				}
> 			}
> 			pr1 += (bpp * w + 7)/8 + fromskew;
> 			pg1 += (bpp * w + 7)/8 + fromskew;
> 			pb1 += (bpp * w + 7)/8 + fromskew;
> 			cp += toskew;
> 		}
> 	}
> }
> 
> /* + VK
>  * n-bit packed samples (planar) => RGB
>  */
> DECLARESepPutFunc(putRGBplanarseparateAllbittile)
> {
> 	int bpp = img->bitspersample;
>     uint8 *pr = (uint8*) r;
>     uint8 *pg = (uint8*) g;
>     uint8 *pb = (uint8*) b;
> 	uint8 *pr1 = pr;
> 	uint8 *pg1 = pg;
> 	uint8 *pb1 = pb;
> 	uint32 dr, dg, db;
> 	uint8 rr, gg, bb;
> 
>     (void) img; (void) y; (void) a;
> 	if (bpp <= 8) {
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pr = pr1; pg = pg1; pb = pb1;
> 			for (x = 0; x < w; x++) {
> 				dr = *(uint32*)pr;
> 				dg = *(uint32*)pg;
> 				db = *(uint32*)pb;
> 				/*dr = (*pr << 24)|(pr[1]<<16)|(pr[2]<<8)|pr[3];
> 				dg = (*pg << 24)|(pg[1]<<16)|(pg[2]<<8)|pg[3];
> 				db = (*pb << 24)|(pb[1]<<16)|(pb[2]<<8)|pb[3];*/
> 				rr = (uint8) ((dr >> (32 - offbits - offbits)) << (8 - bpp)) ^ 0xFF;
> 				gg = (uint8) ((dg >> (32 - offbits - offbits)) << (8 - bpp)) ^ 0xFF;
> 				bb = (uint8) ((db >> (32 - offbits - offbits)) << (8 - bpp)) ^ 0xFF;
> 				*cp++ = PACK(rr, gg, bb);
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pr++; pg++; pb++;
> 					offbits -= 8;
> 				}
> 			}
> 			pr1 += (bpp * w + 7)/8 + fromskew;
> 			pg1 += (bpp * w + 7)/8 + fromskew;
> 			pb1 += (bpp * w + 7)/8 + fromskew;
> 			cp += toskew;
> 		}
> 	} else { 
> 		while (h-- > 0) {
> 			int offbits = 0;
> 			pr = pr1; pg = pg1; pb = pb1;
> 			for (x = 0; x < w; x++) {
> 				dr = *(uint32*)pr;
> 				dg = *(uint32*)pg;
> 				db = *(uint32*)pb;
> 				/*dr = (*pr << 24)|(pr[1]<<16)|(pr[2]<<8)|pr[3];
> 				dg = (*pg << 24)|(pg[1]<<16)|(pg[2]<<8)|pg[3];
> 				db = (*pb << 24)|(pb[1]<<16)|(pb[2]<<8)|pb[3];*/
> 				rr = (uint8) (dr >> (offbits + bpp - 8)) ^ 0xFF;
> 				gg = (uint8) (dg >> (offbits + bpp - 8)) ^ 0xFF;
> 				bb = (uint8) (db >> (offbits + bpp - 8)) ^ 0xFF;
> 				*cp++ = PACK(rr, gg, bb);
> 				offbits += bpp;
> 				while (offbits >= 8) {
> 					pr++; pg++; pb++;
> 					offbits -= 8;
> 				}
> 			}
> 			pr1 += (bpp * w + 7)/8 + fromskew;
> 			pg1 += (bpp * w + 7)/8 + fromskew;
> 			pb1 += (bpp * w + 7)/8 + fromskew;
> 			cp += toskew;
> 		}
> 	} 
> }
> 
2152c2710
<     if( img->bitspersample == 16 )
---
>     if( img->bitspersample /*== 16*/ > 8 ) // * VK
2322a2881,2892
> 				case 2: // + VK +
> 					if (!img->Map) 
> 						img->put.contig = putRGBcontig2bittile; 
> 					else
> 						img->put.contig = putRGBcontig2bitMaptile; // VK: todo putRGBcontig2bitMaptile
> 					break;
> 				case 4: // + VK +
> 					if (!img->Map) 
> 						img->put.contig = putRGBcontig4bittile; 
> 					else
> 						img->put.contig = putRGBcontig4bitMaptile; 
> 					break;
2346a2917,2921
> 				default: // + VK + 
> 					if (!img->Map) 
> 						img->put.contig = putRGBcontigAllbittile; 
> 					else
> 						img->put.contig = putRGBcontigAllbittile;  // todo Map
2355a2931,2935
> 				} else if( img->bitspersample == 16) { // + VK +
> 					if (!img->Map)
> 						img->put.contig = put_CMYK_contig16bittile;
> 					else
> 						img->put.contig = put_CMYKmap_contig16bittile;
2489a3070,3071
> 				default:
> 					img->put.separate = putRGBseparateAllbittile;
2490a3073,3075
> 			break;
> 		case PHOTOMETRIC_SEPARATED:
> 			img->put.separate = putRGBplanarseparateAllbittile;


<---------------------  End of report  --------------------->

