summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bin/jp2/convert.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c
index 730ab909..b3eb8581 100644
--- a/src/bin/jp2/convert.c
+++ b/src/bin/jp2/convert.c
@@ -1896,8 +1896,9 @@ static int are_comps_similar(opj_image_t * image)
for (i = 1; i < image->numcomps; i++) {
if (image->comps[0].dx != image->comps[i].dx ||
image->comps[0].dy != image->comps[i].dy ||
- image->comps[0].prec != image->comps[i].prec ||
- image->comps[0].sgnd != image->comps[i].sgnd) {
+ (i <= 2 &&
+ (image->comps[0].prec != image->comps[i].prec ||
+ image->comps[0].sgnd != image->comps[i].sgnd))) {
return OPJ_FALSE;
}
}
@@ -1940,7 +1941,7 @@ int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
ncomp = 1;
}
- if ((force_split == 0) &&
+ if ((force_split == 0) && ncomp >= 2 &&
are_comps_similar(image)) {
fdest = fopen(outfile, "wb");