diff options
Diffstat (limited to 'graphics/tiff/files/patch-tools-tiffcp.c')
| -rw-r--r-- | graphics/tiff/files/patch-tools-tiffcp.c | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/graphics/tiff/files/patch-tools-tiffcp.c b/graphics/tiff/files/patch-tools-tiffcp.c deleted file mode 100644 index 186ea4339b18..000000000000 --- a/graphics/tiff/files/patch-tools-tiffcp.c +++ /dev/null @@ -1,176 +0,0 @@ ---- tools/tiffcp.c.orig Mon Dec 22 09:22:16 2003 -+++ tools/tiffcp.c Sat Feb 7 06:47:57 2004 -@@ -1,4 +1,4 @@ --/* $Header: /cvsroot/osrs/libtiff/tools/tiffcp.c,v 1.15 2003/12/20 13:46:57 dron Exp $ */ -+/* $Header: /cvsroot/osrs/libtiff/tools/tiffcp.c,v 1.18 2004/01/28 12:12:01 dron Exp $ */ - - /* - * Copyright (c) 1988-1997 Sam Leffler -@@ -181,7 +181,7 @@ - fputs ("Bias image must be organized in strips\n", stderr); - exit (-7); - } -- TIFFGetField(bias, TIFFTAG_SAMPLESPERPIXEL, &samples); -+ TIFFGetField(bias, TIFFTAG_SAMPLESPERPIXEL, &samples); - if (samples != 1) { - fputs ("Bias image must be monochrome\n", stderr); - exit (-7); -@@ -358,7 +358,7 @@ - " -t write output in tiles", - " -i ignore read errors", - " -b file[,#] bias (dark) monochrome image to be subtracted from all others", --" -,=% use % rather than , to separate image #'s (per Note below)", -+" -,=% use % rather than , to separate image #'s (per Note below)", - "", - " -r # make each strip have no more than # rows", - " -w # set output tile width (pixels)", -@@ -500,8 +500,6 @@ - { TIFFTAG_PRIMARYCHROMATICITIES,(uint16) -1,TIFF_RATIONAL }, - { TIFFTAG_HALFTONEHINTS, 2, TIFF_SHORT }, - { TIFFTAG_INKSET, 1, TIFF_SHORT }, -- { TIFFTAG_INKNAMES, 1, TIFF_ASCII }, -- { TIFFTAG_NUMBEROFINKS, 1, TIFF_SHORT }, - { TIFFTAG_DOTRANGE, 2, TIFF_SHORT }, - { TIFFTAG_TARGETPRINTER, 1, TIFF_ASCII }, - { TIFFTAG_SAMPLEFORMAT, 1, TIFF_SHORT }, -@@ -526,7 +524,6 @@ - tiffcp(TIFF* in, TIFF* out) - { - uint16 bitspersample, samplesperpixel; -- uint16 input_compression; - copyFunc cf; - uint32 width, length; - struct cpTag* p; -@@ -540,16 +537,22 @@ - else - CopyField(TIFFTAG_COMPRESSION, compression); - if (compression == COMPRESSION_JPEG) { -+ uint16 input_compression, input_photometric; -+ - if ( TIFFGetField( in, TIFFTAG_COMPRESSION, &input_compression ) - && input_compression == COMPRESSION_JPEG ) { - TIFFSetField(in, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); - } -- if (jpegcolormode == JPEGCOLORMODE_RGB) -- TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_YCBCR); -- else -- TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB); -+ if (TIFFGetField(in, TIFFTAG_PHOTOMETRIC, &input_photometric) -+ && input_photometric == PHOTOMETRIC_RGB) { -+ if (jpegcolormode == JPEGCOLORMODE_RGB) -+ TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_YCBCR); -+ else -+ TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB); -+ } - } -- else if (compression == COMPRESSION_SGILOG || compression == COMPRESSION_SGILOG24) -+ else if (compression == COMPRESSION_SGILOG -+ || compression == COMPRESSION_SGILOG24) - TIFFSetField(out, TIFFTAG_PHOTOMETRIC, - samplesperpixel == 1 ? - PHOTOMETRIC_LOGL : PHOTOMETRIC_LOGLUV); -@@ -662,14 +665,75 @@ - if (TIFFGetField(in, TIFFTAG_ICCPROFILE, &len32, &data)) - TIFFSetField(out, TIFFTAG_ICCPROFILE, len32, data); - } -+ { uint16 ninks; -+ const char* inknames; -+ if (TIFFGetField(in, TIFFTAG_NUMBEROFINKS, &ninks)) { -+ TIFFSetField(out, TIFFTAG_NUMBEROFINKS, ninks); -+ if (TIFFGetField(in, TIFFTAG_INKNAMES, &inknames)) { -+ int inknameslen = strlen(inknames) + 1; -+ const char* cp = inknames; -+ while (ninks > 1) { -+ cp = strchr(cp, '\0'); -+ if (cp) { -+ cp++; -+ inknameslen += (strlen(cp) + 1); -+ } -+ ninks--; -+ } -+ TIFFSetField(out, TIFFTAG_INKNAMES, inknameslen, inknames); -+ } -+ } -+ } - { - unsigned short pg0, pg1; -- if (TIFFGetField(in, TIFFTAG_PAGENUMBER, &pg0, &pg1)) -- if (pageNum < 0) // only one input file -+ if (TIFFGetField(in, TIFFTAG_PAGENUMBER, &pg0, &pg1)) { -+ if (pageNum < 0) /* only one input file */ - TIFFSetField(out, TIFFTAG_PAGENUMBER, pg0, pg1); - else - TIFFSetField(out, TIFFTAG_PAGENUMBER, pageNum++, 0); -+ } - } -+ { -+ int i; -+ short count; -+ TIFFFieldInfo *xtiffFieldInfo; -+ -+ count = (short) TIFFGetTagListCount(in); -+ xtiffFieldInfo = _TIFFmalloc(count * sizeof(TIFFFieldInfo)); -+ for(i = 0; i < count; i++) -+ { -+ ttag_t tag = TIFFGetTagListEntry(in, i); -+ const TIFFFieldInfo *fld = TIFFFieldWithTag(in, tag); -+ -+ if(fld == NULL) -+ continue; -+ -+ _TIFFmemcpy(&xtiffFieldInfo[i], (void *)fld, sizeof(TIFFFieldInfo)); -+ } -+ TIFFMergeFieldInfo( out, xtiffFieldInfo, count ); -+ for(i = 0; i < count; i++) -+ { -+ const TIFFFieldInfo *fld = &xtiffFieldInfo[i]; -+ if(fld->field_passcount) -+ { -+ short value_count; -+ void *raw_data; -+ -+ if(TIFFGetField(in, fld->field_tag, &value_count, &raw_data)) -+ TIFFSetField(out, fld->field_tag, value_count, raw_data); -+ } -+ else if(!fld->field_passcount -+ && fld->field_type == TIFF_ASCII) -+ { -+ char *data; -+ -+ if(TIFFGetField(in, fld->field_tag, &data)) -+ TIFFSetField(out, fld->field_tag, data); -+ } -+ } -+ -+ _TIFFfree(xtiffFieldInfo); -+ } - for (p = tags; p < &tags[NTAGS]; p++) - CopyTag(p->tag, p->count, p->type); - -@@ -767,7 +831,7 @@ - uint32 row; - buf = _TIFFmalloc(bufSize); - biasBuf = _TIFFmalloc(bufSize); -- for (row = 0; row < imagelength; row++) { -+ for (row = 0; row < imagelength; row++) { - if (TIFFReadScanline(in, buf, row, 0) < 0 && !ignore) - break; - if (TIFFReadScanline(bias, biasBuf, row, 0) < 0 && !ignore) -@@ -1000,7 +1064,7 @@ - DECLAREreadFunc(readContigStripsIntoBuffer) - { - tsize_t scanlinesize = TIFFScanlineSize(in); -- uint8* bufp = buf; -+ uint8* bufp = buf; - uint32 row; - - (void) imagewidth; (void) spp; -@@ -1454,7 +1518,7 @@ - uint32 irps = (uint32) -1L; - TIFFGetField(in, TIFFTAG_ROWSPERSTRIP, &irps); - /* if biased, force decoded copying to allow image subtraction */ -- bychunk = !bias && (rowsperstrip == irps); -+ bychunk = !bias && (rowsperstrip == irps); - }else{ /* either in or out is tiled */ - if (bias) { - fprintf(stderr, |
