Fixed a copy-and-paste type assignment error (bool instead of int) in the JPWL sectio...
authorGiuseppe Baruffa <gbaruffa@users.noreply.github.com>
Fri, 23 Feb 2007 01:23:05 +0000 (01:23 +0000)
committerGiuseppe Baruffa <gbaruffa@users.noreply.github.com>
Fri, 23 Feb 2007 01:23:05 +0000 (01:23 +0000)
ChangeLog
OPJViewer/source/imagj2k.cpp
OPJViewer/source/imagjp2.cpp
OPJViewer/source/imagmj2.cpp
jpwl/LibOpenJPEG_JPWL.dsp
jpwl/jpwl_lib.c
libopenjpeg/openjpeg.h

index fa24ad1fccecfbe01b36a371d099c43de1b2ce06..d7e88c9273bdc3308e593e151eb239a4196949a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@ What's New for OpenJPEG
 ! : changed
 + : added
 
+February 23, 2007
+* [GB] Fixed a copy-and-paste type assignment error (bool instead of int) in the JPWL section of decoder parameters structure in openjpeg.h; minor type-casting in jpwl_lib.c. As a result, now OPJViewer should run correctly when built against the most current SVN trunk of LibOpenJPEG.lib
+
 February 22, 2007
 + [FOD] Added the OPJViewer Module (/OPJViewer), developed by Giuseppe Baruffa of the university of Perugia
 
index b58c7a51b634eeba8fba63bd81ee82553f837514..16bcdd1631a0dbb0eaa1874f89234ad7f6fc7eac 100644 (file)
@@ -124,7 +124,6 @@ bool wxJ2KHandler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
        opj_dparameters_t parameters;   /* decompression parameters */\r
        opj_event_mgr_t event_mgr;              /* event manager */\r
        opj_image_t *opjimage = NULL;\r
-       FILE *fsrc = NULL;\r
        unsigned char *src = NULL;\r
     unsigned char *ptr;\r
        int file_length;\r
@@ -147,13 +146,15 @@ bool wxJ2KHandler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
        opj_set_default_decoder_parameters(&parameters);\r
 \r
        /* prepare parameters */\r
+       strncpy(parameters.infile, "", sizeof(parameters.infile)-1);\r
+       strncpy(parameters.outfile, "", sizeof(parameters.outfile)-1);\r
        parameters.decod_format = J2K_CFMT;\r
        parameters.cod_format = BMP_DFMT;\r
 \r
        /* JPWL only */\r
 #ifdef USE_JPWL\r
-       parameters.jpwl_exp_comps = 3;\r
-       parameters.jpwl_max_tiles = 100;\r
+       parameters.jpwl_exp_comps = JPWL_EXPECTED_COMPONENTS;\r
+       parameters.jpwl_max_tiles = JPWL_MAXIMUM_TILES;\r
        parameters.jpwl_correct = true;\r
 #endif /* USE_JPWL */\r
 \r
@@ -191,13 +192,15 @@ bool wxJ2KHandler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
                return false;\r
        }\r
 \r
+       /* close the byte stream */\r
+       opj_cio_close(cio);\r
+\r
        // check image components\r
        if ((opjimage->numcomps != 1) && (opjimage->numcomps != 3)) {\r
                wxMutexGuiEnter();\r
                wxLogError("J2K: weird number of components");\r
                wxMutexGuiLeave();\r
                opj_destroy_decompress(dinfo);\r
-               opj_cio_close(cio);\r
                free(src);\r
                return false;\r
        }\r
@@ -274,7 +277,6 @@ bool wxJ2KHandler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
 \r
        /* close openjpeg structs */\r
        opj_destroy_decompress(dinfo);\r
-       opj_cio_close(cio);\r
        opj_image_destroy(opjimage);\r
        free(src);\r
 \r
index 4b7437f8a84d6214c267c7d17626c720a7a46f54..99ef23c99526d19540c244e5531f71e73afb83dc 100644 (file)
@@ -124,7 +124,6 @@ bool wxJP2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
        opj_dparameters_t parameters;   /* decompression parameters */\r
        opj_event_mgr_t event_mgr;              /* event manager */\r
        opj_image_t *opjimage = NULL;\r
-       FILE *fsrc = NULL;\r
        unsigned char *src = NULL;\r
     unsigned char *ptr;\r
        int file_length;\r
@@ -146,6 +145,8 @@ bool wxJP2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
        opj_set_default_decoder_parameters(&parameters);\r
 \r
        /* prepare parameters */\r
+       strncpy(parameters.infile, "", sizeof(parameters.infile)-1);\r
+       strncpy(parameters.outfile, "", sizeof(parameters.outfile)-1);\r
        parameters.decod_format = JP2_CFMT;\r
        parameters.cod_format = BMP_DFMT;\r
 \r
@@ -182,17 +183,20 @@ bool wxJP2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
                return false;\r
        }\r
 \r
+       /* close the byte stream */\r
+       opj_cio_close(cio);\r
+\r
        // check image size\r
        if ((opjimage->numcomps != 1) && (opjimage->numcomps != 3)) {\r
                wxMutexGuiEnter();\r
                wxLogError("JP2: weird number of components");\r
                wxMutexGuiLeave();\r
                opj_destroy_decompress(dinfo);\r
-               opj_cio_close(cio);\r
                free(src);\r
                return false;\r
        }\r
 \r
+\r
        // prepare image size\r
     image->Create(opjimage->comps[0].w, opjimage->comps[0].h, true );\r
 \r
@@ -238,7 +242,6 @@ bool wxJP2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
 \r
        /* close openjpeg structs */\r
        opj_destroy_decompress(dinfo);\r
-       opj_cio_close(cio);\r
        opj_image_destroy(opjimage);\r
        free(src);\r
 \r
index 351621ea97927f11d9ab619a170333ba5efc1ee8..65c9ca73325bda32c0d35a240af28debe07e3227 100644 (file)
@@ -589,7 +589,6 @@ bool wxMJ2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
        opj_dparameters_t parameters;   /* decompression parameters */\r
        opj_event_mgr_t event_mgr;              /* event manager */\r
        opj_image_t *opjimage = NULL;\r
-       FILE *fsrc = NULL;\r
        unsigned char *src = NULL;\r
     unsigned char *ptr;\r
        int file_length, jp2c_point, jp2h_point;\r
@@ -612,6 +611,8 @@ bool wxMJ2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
        opj_set_default_decoder_parameters(&parameters);\r
 \r
        /* prepare parameters */\r
+       strncpy(parameters.infile, "", sizeof(parameters.infile)-1);\r
+       strncpy(parameters.outfile, "", sizeof(parameters.outfile)-1);\r
        parameters.decod_format = JP2_CFMT;\r
        parameters.cod_format = BMP_DFMT;\r
 \r
@@ -671,13 +672,15 @@ bool wxMJ2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
                return false;\r
        }\r
 \r
+       /* close the byte stream */\r
+       opj_cio_close(cio);\r
+\r
        // check image size\r
        if ((opjimage->numcomps != 1) && (opjimage->numcomps != 3)) {\r
                wxMutexGuiEnter();\r
                wxLogError("MJ2: weird number of components");\r
                wxMutexGuiLeave();\r
                opj_destroy_decompress(dinfo);\r
-               opj_cio_close(cio);\r
                free(src);\r
                return false;\r
        }\r
@@ -736,7 +739,6 @@ bool wxMJ2Handler::LoadFile(wxImage *image, wxInputStream& stream, bool verbose,
 \r
        /* close openjpeg structs */\r
        opj_destroy_decompress(dinfo);\r
-       opj_cio_close(cio);\r
        opj_image_destroy(opjimage);\r
        free(src);\r
 \r
index 58b929739f78bb19ff6ec75097a61bc87e4e2877..68ee908cf482feee605e3107ca953b188d51a0f3 100644 (file)
@@ -37,8 +37,8 @@ RSC=rc.exe
 # PROP BASE Target_Dir ""\r
 # PROP Use_MFC 0\r
 # PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "LibOpenJPEG_JPWL___Win32_Release"\r
-# PROP Intermediate_Dir "LibOpenJPEG_JPWL___Win32_Release"\r
+# PROP Output_Dir "Release"\r
+# PROP Intermediate_Dir "Release"\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c\r
 # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "OPJ_STATIC" /D "USE_JPWL" /YX /FD /c\r
@@ -60,8 +60,8 @@ LIB32=link.exe -lib
 # PROP BASE Target_Dir ""\r
 # PROP Use_MFC 0\r
 # PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "LibOpenJPEG_JPWL___Win32_Debug"\r
-# PROP Intermediate_Dir "LibOpenJPEG_JPWL___Win32_Debug"\r
+# PROP Output_Dir "Debug"\r
+# PROP Intermediate_Dir "Debug"\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c\r
 # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "OPJ_STATIC" /D "USE_JPWL" /YX /FD /GZ /c\r
index 656ca7e5799e7f4a0ed4d61e982d63a80d3c5f6c..96e6f69dd29de0cbf35d76643e98dfad118800ad 100644 (file)
@@ -1483,7 +1483,7 @@ bool jpwl_esd_fill(opj_j2k_t *j2k, jpwl_esd_ms_t *esd, unsigned char *buf) {
                        else
                                /* packet: first is most important, and then in decreasing order
                                down to the last, which counts for 1 */
-                               dvalue = jpwl_pfp_to_double(j2k->image_info->num - thispacket, esd->se_size);
+                               dvalue = jpwl_pfp_to_double((unsigned short) (j2k->image_info->num - thispacket), esd->se_size);
                        break;
 
                /* MSE */
index 8e9da44645508c9e3326fc2ec7ed547c596450e1..71baf02f6b053df72ef03b2b49577f37b6231c45 100644 (file)
@@ -366,9 +366,9 @@ typedef struct opj_dparameters {
        /** activates the JPWL correction capabilities */
        bool jpwl_correct;
        /** expected number of components */
-       bool jpwl_exp_comps;
+       int jpwl_exp_comps;
        /** maximum number of tiles */
-       bool jpwl_max_tiles;
+       int jpwl_max_tiles;
        /*@}*/
 #endif /* USE_JPWL */
 /* <<UniPG */