[trunk] Fix Java binding compilation. Need to link against openmj2 for now to resolve...
[openjpeg.git] / wrapping / java / openjp2 / JavaOpenJPEG.c
index 2987015e51af87176f171097570826e7304cf7c8..78a167791476f7f17c70e2819d158914a1851d1a 100644 (file)
@@ -37,6 +37,7 @@
 #include <math.h>\r
 \r
 #include "openjpeg.h"\r
+#include "opj_includes.h"\r
 #include "opj_getopt.h"\r
 #include "convert.h"\r
 #include "index.h"\r
@@ -349,18 +350,6 @@ OPJ_PROG_ORDER give_progression(char progression[4]) {
        return PROG_UNKNOWN;\r
 }\r
 \r
-\r
-/** <summary>\r
-    Get logarithm of an integer and round downwards.\r
-    </summary> */\r
-int int_floorlog2(int a) {\r
-    int l;\r
-    for (l=0; a>1; l++) {\r
-        a>>=1;\r
-    }\r
-    return l;\r
-}\r
-\r
 static int initialise_4K_poc(opj_poc_t *POC, int numres){\r
        POC[0].tile  = 1; \r
        POC[0].resno0  = 0; \r
@@ -627,7 +616,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters,
                                parameters->tcp_numlayers = numlayers;\r
                                numresolution = parameters->numresolution;\r
                                matrix_width = numresolution * 3;\r
-                               parameters->cp_matrice = (int *) malloc(numlayers * matrix_width * sizeof(int));\r
+                               parameters->cp_matrice = (int *) opj_malloc(numlayers * matrix_width * sizeof(int));\r
                                s = s + 2;\r
 \r
                                for (i = 0; i < numlayers; i++) {\r
@@ -855,7 +844,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters,
 \r
                        case 'C':                       /* add a comment */\r
                        {\r
-                               parameters->cp_comment = (char*)malloc(strlen(opj_optarg) + 1);\r
+                               parameters->cp_comment = (char*)opj_malloc(strlen(opj_optarg) + 1);\r
                                if(parameters->cp_comment) {\r
                                        strcpy(parameters->cp_comment, opj_optarg);\r
                                }\r
@@ -884,7 +873,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters,
                        \r
                        case 'z':                       /* Image Directory path */\r
                        {\r
-                               img_fol->imgdirpath = (char*)malloc(strlen(opj_optarg) + 1);\r
+                               img_fol->imgdirpath = (char*)opj_malloc(strlen(opj_optarg) + 1);\r
                                strcpy(img_fol->imgdirpath,opj_optarg);\r
                                img_fol->set_imgdir=1;\r
                        }\r
@@ -1344,7 +1333,7 @@ char* create_index_into_byte_array(opj_codestream_info_t *cstr_info, int* buffer
        prec_max = 0;\r
        for (tileno = 0; tileno < cstr_info->tw * cstr_info->th; tileno++) {\r
                for (resno = 0; resno < cstr_info->numdecompos[0] + 1; resno++) {\r
-                       prec_max = max(prec_max,cstr_info->tile[tileno].pw[resno] * cstr_info->tile[tileno].ph[resno]);\r
+                       prec_max = int_max(prec_max,cstr_info->tile[tileno].pw[resno] * cstr_info->tile[tileno].ph[resno]);\r
                }\r
        }\r
 \r
@@ -1358,7 +1347,7 @@ char* create_index_into_byte_array(opj_codestream_info_t *cstr_info, int* buffer
                + cstr_info->tw*cstr_info->th * cstr_info->numlayers * (cstr_info->numdecompos[0] + 1) * cstr_info->numcomps * prec_max *8\r
                  ) * sizeof(int);\r
        /*printf("C: index buffer size = %d bytes\n", *buffer_size);*/\r
-       buffer = (char*) malloc(*buffer_size);\r
+       buffer = (char*) opj_malloc(*buffer_size);\r
 \r
        if (!buffer) {\r
                /*opj_event_msg(j2k->cinfo, EVT_ERROR, "failed to allocate index buffer for writing %d int\n", *buffer_size);*/\r
@@ -1812,7 +1801,7 @@ JNIEXPORT jlong JNICALL Java_org_openJpeg_OpenJPEGJavaEncoder_internalEncodeImag
 \r
        arraySize = (*env)->GetArrayLength(env, javaParameters);\r
        argc = (int) arraySize +1;\r
-       argv = malloc(argc*sizeof(char*));\r
+       argv = opj_malloc(argc*sizeof(char*));\r
        argv[0] = "ProgramName.exe";    /* The program name: useless*/\r
        j=0;\r
        for (i=1; i<argc; i++) {\r
@@ -1867,10 +1856,10 @@ JNIEXPORT jlong JNICALL Java_org_openJpeg_OpenJPEGJavaEncoder_internalEncodeImag
                const char *version = opj_version();\r
 /* UniPG>> */\r
 #ifdef USE_JPWL\r
-               parameters.cp_comment = (char*)malloc(clen+strlen(version)+11);\r
+               parameters.cp_comment = (char*)opj_malloc(clen+strlen(version)+11);\r
                sprintf(parameters.cp_comment,"%s%s with JPWL", comment, version);\r
 #else\r
-               parameters.cp_comment = (char*)malloc(clen+strlen(version)+1);\r
+               parameters.cp_comment = (char*)opj_malloc(clen+strlen(version)+1);\r
                sprintf(parameters.cp_comment,"%s%s", comment, version);\r
 #endif\r
 /* <<UniPG */\r
@@ -1944,7 +1933,7 @@ JNIEXPORT jlong JNICALL Java_org_openJpeg_OpenJPEGJavaEncoder_internalEncodeImag
                memcpy(jbBody, compressed_index, compressed_index_size);\r
                (*env)->ReleasePrimitiveArrayCritical(env, jba, jbBody, 0);\r
                (*env)->SetObjectField(env, obj, fid, jba); \r
-               free(compressed_index);\r
+               opj_free(compressed_index);\r
 \r
                /* write the generated codestream to disk ? */\r
                if (parameters.outfile[0]!='\0') {\r
@@ -1977,8 +1966,8 @@ JNIEXPORT jlong JNICALL Java_org_openJpeg_OpenJPEGJavaEncoder_internalEncodeImag
        }\r
 \r
        /* free user parameters structure */\r
-  if(parameters.cp_comment) free(parameters.cp_comment);\r
-       if(parameters.cp_matrice) free(parameters.cp_matrice);\r
+  if(parameters.cp_comment) opj_free(parameters.cp_comment);\r
+       if(parameters.cp_matrice) opj_free(parameters.cp_matrice);\r
 \r
        return codestream_length;\r
 }\r