From 3c5cb6266a01a607ee7560807465bc833240d793 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Mon, 10 Aug 2020 17:26:53 +0200 Subject: [PATCH] JPEG2000: fix build with Jasper 2.0.17 (fixes #2844) --- gdal/frmts/jpeg2000/jpeg2000dataset.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdal/frmts/jpeg2000/jpeg2000dataset.cpp b/gdal/frmts/jpeg2000/jpeg2000dataset.cpp index 3e668ffe503..2d3f4e46876 100644 --- a/gdal/frmts/jpeg2000/jpeg2000dataset.cpp +++ b/gdal/frmts/jpeg2000/jpeg2000dataset.cpp @@ -484,7 +484,7 @@ int JPEG2000Dataset::DecodeImage() /* the JP2 boxes match the ones of the code stream */ if (nBands != 0) { - if (nBands != jas_image_numcmpts( psImage )) + if (nBands != static_cast(jas_image_numcmpts( psImage ))) { CPLError(CE_Failure, CPLE_AppDefined, "The number of components indicated in the IHDR box (%d) mismatch " @@ -595,7 +595,7 @@ GDALDataset *JPEG2000Dataset::Open( GDALOpenInfo * poOpenInfo ) { int iFormat; - char *pszFormatName = nullptr; + const char *pszFormatName = nullptr; if (!Identify(poOpenInfo)) return nullptr; From e236eeaed1be45a4af457565085e3db1f2fc489f Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 11 Aug 2020 09:26:41 +0200 Subject: [PATCH] JPEG2000: follow-up fix to build with Jasper 2.0.17 (fixes #2844) --- gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp b/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp index e780d2bcaed..10a4f96f0ee 100644 --- a/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp +++ b/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp @@ -94,13 +94,23 @@ typedef struct { * File stream object. \******************************************************************************/ +// PRIjas_seqent macro is defined since Jasper 2.0.17 + +#ifndef PRIjas_seqent static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, int cnt) +#else +static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, unsigned cnt) +#endif { jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj); return static_cast(VSIFReadL(buf, 1, cnt, fileobj->fp)); } +#ifndef PRIjas_seqent static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, char *buf, int cnt) +#else +static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, char *buf, unsigned int cnt) +#endif { jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj); return static_cast(VSIFWriteL(buf, 1, cnt, fileobj->fp)); From 1562e215c6f53a53efa66263113ecc6e761818d2 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Mon, 5 Oct 2020 12:11:52 +0200 Subject: [PATCH] JPEG2000: make it build with Jasper 2.0.21 (fixes #3012) --- gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp | 16 +++++++++------- gdal/frmts/jpeg2000/jpeg2000dataset.cpp | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp b/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp index 10a4f96f0ee..ebcac4010ce 100644 --- a/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp +++ b/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp @@ -94,22 +94,24 @@ typedef struct { * File stream object. \******************************************************************************/ +#if defined(PRIjas_seqent) // PRIjas_seqent macro is defined since Jasper 2.0.17 - -#ifndef PRIjas_seqent -static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, int cnt) -#else static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, unsigned cnt) +#else +static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, int cnt) #endif { jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj); return static_cast(VSIFReadL(buf, 1, cnt, fileobj->fp)); } -#ifndef PRIjas_seqent -static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, char *buf, int cnt) -#else +#if defined(JAS_INCLUDE_JP2_CODEC) +// Jasper 2.0.21 +static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, const char *buf, unsigned int cnt) +#elif defined(PRIjas_seqent) static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, char *buf, unsigned int cnt) +#else +static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, char *buf, int cnt) #endif { jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj); diff --git a/gdal/frmts/jpeg2000/jpeg2000dataset.cpp b/gdal/frmts/jpeg2000/jpeg2000dataset.cpp index a5a6b258ed9..bd1e7763186 100644 --- a/gdal/frmts/jpeg2000/jpeg2000dataset.cpp +++ b/gdal/frmts/jpeg2000/jpeg2000dataset.cpp @@ -513,7 +513,7 @@ int JPEG2000Dataset::DecodeImage() for ( iBand = 0; iBand < nBands; iBand++ ) { JPEG2000RasterBand* poBand = (JPEG2000RasterBand*) GetRasterBand(iBand+1); - if (poBand->iDepth != jas_image_cmptprec( psImage, iBand ) || + if (poBand->iDepth != static_cast(jas_image_cmptprec( psImage, iBand )) || poBand->bSignedness != jas_image_cmptsgnd( psImage, iBand )) { CPLError(CE_Failure, CPLE_AppDefined,