diff options
Diffstat (limited to 'converter/other/jpeg2000/libjasper_compat.h')
-rw-r--r-- | converter/other/jpeg2000/libjasper_compat.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/converter/other/jpeg2000/libjasper_compat.h b/converter/other/jpeg2000/libjasper_compat.h index 401144a3..45dd904b 100644 --- a/converter/other/jpeg2000/libjasper_compat.h +++ b/converter/other/jpeg2000/libjasper_compat.h @@ -1,12 +1,18 @@ /* Here's some stuff to create backward compatibility with older Jasper libraries. Unfortunately, new versions of the Jasper library are not backward compatible with old applications. + + This also makes the programs compatible with both distributed Jasper + libraries and the Netpbm fork of Jasper distributed with Netpbm. */ /* The color space thing got more complex between Version 1.600 and 1.701. For example, it now allows for multiple kinds of RGB, whereas in 1.600 RGB meant SRGB. As part of that change, names changed from "colorspace" to "clrspc". */ +#include "jasper/jasper.h" +#include "jasper/jas_image.h" + #if defined(jas_image_setcolorspace) /* Old style color space */ #define jas_image_setclrspc jas_image_setcolorspace @@ -22,3 +28,32 @@ #define JAS_CLRSPC_FAM_UNKNOWN JAS_IMAGE_CS_UNKNOWN #endif + + +#ifndef JAS_HAVE_PMJAS_IMAGE_DECODE + +/* The Netpbm version of jas_image_decode (pmjas_image_decode) returns a + description of the problem when it fails and does not molest Standard + Error. Real libjasper just indicates that it failed, after writing some + explanation (but not as much as the Netpbm version returns) to Standard + Error. +*/ +void +pmjas_image_decode(jas_stream_t * const in, + int const fmtArg, + const char * const optstr, + jas_image_t ** const imagePP, + const char ** const errorP) { + + jas_image_t * const jasperP = jas_image_decode(in, fmtArg, optstr); + + if (jasperP) { + *imagePP = jasperP; + *errorP = errorP; + } else { + pm_asprintf(errorP, "Failed. Details may have been written to " + "Standard Error"); + } +} + +#endif |