Minor cleanup patch, that gets rid of a bunch of "old style declaration" warnings...
[openjpeg.git] / libopenjpeg / openjpeg.c
index b90eca6f3a972d81de568d54ba883b9055147500..f7363b9b8f5175546baa389f70d0826a50598d1d 100644 (file)
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
+#ifdef WIN32
+#include <windows.h>
+#endif /* WIN32 */
+
 #include "opj_includes.h"
 
-const char * opj_version() {
+/* ---------------------------------------------------------------------- */
+#ifdef WIN32
+#ifndef OPJ_STATIC
+BOOL APIENTRY
+DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
+       switch (ul_reason_for_call) {
+               case DLL_PROCESS_ATTACH :
+                       break;
+               case DLL_PROCESS_DETACH :
+                       break;
+               case DLL_THREAD_ATTACH :
+               case DLL_THREAD_DETACH :
+                       break;
+    }
+
+    return TRUE;
+}
+#endif /* OPJ_STATIC */
+#endif /* WIN32 */
+
+/* ---------------------------------------------------------------------- */
+
+
+const char* OPJ_CALLCONV opj_version(void) {
     return OPENJPEG_VERSION;
 }
 
-opj_dinfo_t* opj_create_decompress(OPJ_CODEC_FORMAT format) {
+opj_dinfo_t* OPJ_CALLCONV opj_create_decompress(OPJ_CODEC_FORMAT format) {
        opj_dinfo_t *dinfo = (opj_dinfo_t*)opj_malloc(sizeof(opj_dinfo_t));
        if(!dinfo) return NULL;
        dinfo->is_decompressor = true;
@@ -63,7 +90,7 @@ opj_dinfo_t* opj_create_decompress(OPJ_CODEC_FORMAT format) {
        return dinfo;
 }
 
-void opj_destroy_decompress(opj_dinfo_t *dinfo) {
+void OPJ_CALLCONV opj_destroy_decompress(opj_dinfo_t *dinfo) {
        if(dinfo) {
                /* destroy the codec */
                switch(dinfo->codec_format) {
@@ -83,19 +110,27 @@ void opj_destroy_decompress(opj_dinfo_t *dinfo) {
        }
 }
 
-void opj_set_default_decoder_parameters(opj_dparameters_t *parameters) {
+void OPJ_CALLCONV opj_set_default_decoder_parameters(opj_dparameters_t *parameters) {
        if(parameters) {
                memset(parameters, 0, sizeof(opj_dparameters_t));
                /* default decoding parameters */
                parameters->cp_layer = 0;
                parameters->cp_reduce = 0;
+               parameters->cp_limit_decoding = NO_LIMITATION;
 
                parameters->decod_format = -1;
                parameters->cod_format = -1;
+/* UniPG>> */
+#ifdef USE_JPWL
+               parameters->jpwl_correct = false;
+               parameters->jpwl_exp_comps = JPWL_EXPECTED_COMPONENTS;
+               parameters->jpwl_max_tiles = JPWL_MAXIMUM_TILES;
+#endif /* USE_JPWL */
+/* <<UniPG */
        }
 }
 
-void opj_setup_decoder(opj_dinfo_t *dinfo, opj_dparameters_t *parameters) {
+void OPJ_CALLCONV opj_setup_decoder(opj_dinfo_t *dinfo, opj_dparameters_t *parameters) {
        if(dinfo && parameters) {
                switch(dinfo->codec_format) {
                        case CODEC_J2K:
@@ -112,7 +147,7 @@ void opj_setup_decoder(opj_dinfo_t *dinfo, opj_dparameters_t *parameters) {
        }
 }
 
-opj_image_t* opj_decode(opj_dinfo_t *dinfo, opj_cio_t *cio) {
+opj_image_t* OPJ_CALLCONV opj_decode(opj_dinfo_t *dinfo, opj_cio_t *cio) {
        if(dinfo && cio) {
                switch(dinfo->codec_format) {
                        case CODEC_J2K:
@@ -121,13 +156,16 @@ opj_image_t* opj_decode(opj_dinfo_t *dinfo, opj_cio_t *cio) {
                                return j2k_decode_jpt_stream((opj_j2k_t*)dinfo->j2k_handle, cio);
                        case CODEC_JP2:
                                return jp2_decode((opj_jp2_t*)dinfo->jp2_handle, cio);
+                       case CODEC_UNKNOWN:
+                       default:
+                               break;
                }
        }
 
        return NULL;
 }
 
-opj_cinfo_t* opj_create_compress(OPJ_CODEC_FORMAT format) {
+opj_cinfo_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT format) {
        opj_cinfo_t *cinfo = (opj_cinfo_t*)opj_malloc(sizeof(opj_cinfo_t));
        if(!cinfo) return NULL;
        cinfo->is_decompressor = false;
@@ -160,7 +198,7 @@ opj_cinfo_t* opj_create_compress(OPJ_CODEC_FORMAT format) {
        return cinfo;
 }
 
-void opj_destroy_compress(opj_cinfo_t *cinfo) {
+void OPJ_CALLCONV opj_destroy_compress(opj_cinfo_t *cinfo) {
        if(cinfo) {
                /* destroy the codec */
                switch(cinfo->codec_format) {
@@ -180,24 +218,59 @@ void opj_destroy_compress(opj_cinfo_t *cinfo) {
        }
 }
 
-void opj_set_default_encoder_parameters(opj_cparameters_t *parameters) {
+void OPJ_CALLCONV opj_set_default_encoder_parameters(opj_cparameters_t *parameters) {
        if(parameters) {
                memset(parameters, 0, sizeof(opj_cparameters_t));
                /* default coding parameters */
+               parameters->cp_cinema = OFF; 
+               parameters->max_comp_size = 0;
                parameters->numresolution = 6;
+               parameters->cp_rsiz = STD_RSIZ;
                parameters->cblockw_init = 64;
                parameters->cblockh_init = 64;
                parameters->prog_order = LRCP;
                parameters->roi_compno = -1;            /* no ROI */
                parameters->subsampling_dx = 1;
                parameters->subsampling_dy = 1;
-
+               parameters->tp_on = 0;
                parameters->decod_format = -1;
                parameters->cod_format = -1;
+/* UniPG>> */
+#ifdef USE_JPWL
+               parameters->jpwl_epc_on = false;
+               parameters->jpwl_hprot_MH = -1; /* -1 means unassigned */
+               {
+                       int i;
+                       for (i = 0; i < JPWL_MAX_NO_TILESPECS; i++) {
+                               parameters->jpwl_hprot_TPH_tileno[i] = -1; /* unassigned */
+                               parameters->jpwl_hprot_TPH[i] = 0; /* absent */
+                       }
+               };
+               {
+                       int i;
+                       for (i = 0; i < JPWL_MAX_NO_PACKSPECS; i++) {
+                               parameters->jpwl_pprot_tileno[i] = -1; /* unassigned */
+                               parameters->jpwl_pprot_packno[i] = -1; /* unassigned */
+                               parameters->jpwl_pprot[i] = 0; /* absent */
+                       }
+               };
+               parameters->jpwl_sens_size = 0; /* 0 means no ESD */
+               parameters->jpwl_sens_addr = 0; /* 0 means auto */
+               parameters->jpwl_sens_range = 0; /* 0 means packet */
+               parameters->jpwl_sens_MH = -1; /* -1 means unassigned */
+               {
+                       int i;
+                       for (i = 0; i < JPWL_MAX_NO_TILESPECS; i++) {
+                               parameters->jpwl_sens_TPH_tileno[i] = -1; /* unassigned */
+                               parameters->jpwl_sens_TPH[i] = -1; /* absent */
+                       }
+               };
+#endif /* USE_JPWL */
+/* <<UniPG */
        }
 }
 
-void opj_setup_encoder(opj_cinfo_t *cinfo, opj_cparameters_t *parameters, opj_image_t *image) {
+void OPJ_CALLCONV opj_setup_encoder(opj_cinfo_t *cinfo, opj_cparameters_t *parameters, opj_image_t *image) {
        if(cinfo && parameters && image) {
                switch(cinfo->codec_format) {
                        case CODEC_J2K:
@@ -214,7 +287,7 @@ void opj_setup_encoder(opj_cinfo_t *cinfo, opj_cparameters_t *parameters, opj_im
        }
 }
 
-bool opj_encode(opj_cinfo_t *cinfo, opj_cio_t *cio, opj_image_t *image, char *index) {
+bool OPJ_CALLCONV opj_encode(opj_cinfo_t *cinfo, opj_cio_t *cio, opj_image_t *image, char *index) {
        if(cinfo && cio && image) {
                switch(cinfo->codec_format) {
                        case CODEC_J2K: