summaryrefslogtreecommitdiff
path: root/graphics/tiff/files/patch-tools-tiffcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/tiff/files/patch-tools-tiffcp.c')
-rw-r--r--graphics/tiff/files/patch-tools-tiffcp.c176
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,