projects
/
openjpeg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
db9ef99
)
imagetopnm(): make sure the alpha component has same dimension as other components...
author
Even Rouault
<even.rouault@spatialys.com>
Sat, 29 Jul 2017 15:28:55 +0000
(17:28 +0200)
committer
Even Rouault
<even.rouault@spatialys.com>
Sat, 29 Jul 2017 15:28:55 +0000
(17:28 +0200)
src/bin/jp2/convert.c
patch
|
blob
|
history
diff --git
a/src/bin/jp2/convert.c
b/src/bin/jp2/convert.c
index a540128fca56f88c7efdbcf1de1739cd4f43cfd6..730ab909f4b4611daab890f7c259deb4de5999b0 100644
(file)
--- a/
src/bin/jp2/convert.c
+++ b/
src/bin/jp2/convert.c
@@
-1890,6
+1890,21
@@
opj_image_t* pnmtoimage(const char *filename, opj_cparameters_t *parameters)
return image;
}/* pnmtoimage() */
return image;
}/* pnmtoimage() */
+static int are_comps_similar(opj_image_t * image)
+{
+ unsigned int i;
+ 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) {
+ return OPJ_FALSE;
+ }
+ }
+ return OPJ_TRUE;
+}
+
+
int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
{
int *red, *green, *blue, *alpha;
int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
{
int *red, *green, *blue, *alpha;
@@
-1926,15
+1941,7
@@
int imagetopnm(opj_image_t * image, const char *outfile, int force_split)
}
if ((force_split == 0) &&
}
if ((force_split == 0) &&
- (ncomp == 2 /* GRAYA */
- || (ncomp > 2 /* RGB, RGBA */
- && image->comps[0].dx == image->comps[1].dx
- && image->comps[1].dx == image->comps[2].dx
- && image->comps[0].dy == image->comps[1].dy
- && image->comps[1].dy == image->comps[2].dy
- && image->comps[0].prec == image->comps[1].prec
- && image->comps[1].prec == image->comps[2].prec
- ))) {
+ are_comps_similar(image)) {
fdest = fopen(outfile, "wb");
if (!fdest) {
fdest = fopen(outfile, "wb");
if (!fdest) {