74 lines
2.2 KiB
Diff
74 lines
2.2 KiB
Diff
From 536c5752fe944f6288c87c773dcee74420865b65 Mon Sep 17 00:00:00 2001
|
|
From: Young_X <YangX92@hotmail.com>
|
|
Date: Sat, 8 Sep 2018 14:36:12 +0800
|
|
Subject: [PATCH 2/2] only read/write TIFFTAG_GROUP3OPTIONS or
|
|
TIFFTAG_GROUP4OPTIONS if compression is COMPRESSION_CCITTFAX3 or
|
|
COMPRESSION_CCITTFAX4
|
|
|
|
---
|
|
tools/pal2rgb.c | 18 +++++++++++++++++-
|
|
tools/tiff2bw.c | 18 +++++++++++++++++-
|
|
2 files changed, 34 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/tools/pal2rgb.c b/tools/pal2rgb.c
|
|
index 7a57800..01e9dab 100644
|
|
--- a/tools/pal2rgb.c
|
|
+++ b/tools/pal2rgb.c
|
|
@@ -391,7 +391,23 @@ cpTags(TIFF* in, TIFF* out)
|
|
{
|
|
struct cpTag *p;
|
|
for (p = tags; p < &tags[NTAGS]; p++)
|
|
- cpTag(in, out, p->tag, p->count, p->type);
|
|
+ {
|
|
+ if( p->tag == TIFFTAG_GROUP3OPTIONS )
|
|
+ {
|
|
+ uint16 compression;
|
|
+ if( !TIFFGetField(in, TIFFTAG_COMPRESSION, &compression) ||
|
|
+ compression != COMPRESSION_CCITTFAX3 )
|
|
+ continue;
|
|
+ }
|
|
+ if( p->tag == TIFFTAG_GROUP4OPTIONS )
|
|
+ {
|
|
+ uint16 compression;
|
|
+ if( !TIFFGetField(in, TIFFTAG_COMPRESSION, &compression) ||
|
|
+ compression != COMPRESSION_CCITTFAX4 )
|
|
+ continue;
|
|
+ }
|
|
+ cpTag(in, out, p->tag, p->count, p->type);
|
|
+ }
|
|
}
|
|
#undef NTAGS
|
|
|
|
diff --git a/tools/tiff2bw.c b/tools/tiff2bw.c
|
|
index dad54af..0c53015 100644
|
|
--- a/tools/tiff2bw.c
|
|
+++ b/tools/tiff2bw.c
|
|
@@ -452,7 +452,23 @@ cpTags(TIFF* in, TIFF* out)
|
|
{
|
|
struct cpTag *p;
|
|
for (p = tags; p < &tags[NTAGS]; p++)
|
|
- cpTag(in, out, p->tag, p->count, p->type);
|
|
+ {
|
|
+ if( p->tag == TIFFTAG_GROUP3OPTIONS )
|
|
+ {
|
|
+ uint16 compression;
|
|
+ if( !TIFFGetField(in, TIFFTAG_COMPRESSION, &compression) ||
|
|
+ compression != COMPRESSION_CCITTFAX3 )
|
|
+ continue;
|
|
+ }
|
|
+ if( p->tag == TIFFTAG_GROUP4OPTIONS )
|
|
+ {
|
|
+ uint16 compression;
|
|
+ if( !TIFFGetField(in, TIFFTAG_COMPRESSION, &compression) ||
|
|
+ compression != COMPRESSION_CCITTFAX4 )
|
|
+ continue;
|
|
+ }
|
|
+ cpTag(in, out, p->tag, p->count, p->type);
|
|
+ }
|
|
}
|
|
#undef NTAGS
|
|
|
|
--
|
|
2.17.2
|
|
|