\r
extern int get_file_format(char *filename);\r
extern void error_callback(const char *msg, void *client_data);\r
-extern warning_callback(const char *msg, void *client_data);\r
+extern void warning_callback(const char *msg, void *client_data);\r
extern void info_callback(const char *msg, void *client_data);\r
\r
typedef struct callback_variables {\r
}\r
\r
\r
-/// <summary>\r
-/// Get logarithm of an integer and round downwards.\r
-/// </summary>\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
}\r
}\r
\r
- // Compute the size of the index buffer, in number of bytes*/\r
+ /* Compute the size of the index buffer, in number of bytes*/\r
*buffer_size = \r
1 /* version */\r
+ (10 /* image_w until decomposition */\r
+ cstr_info->tw * cstr_info->th * 4 /* tile info, without distorsion info */\r
+ 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
+ /*printf("C: index buffer size = %d bytes\n", *buffer_size);*/\r
buffer = (char*) 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
+ /*opj_event_msg(j2k->cinfo, EVT_ERROR, "failed to allocate index buffer for writing %d int\n", *buffer_size);*/\r
fprintf(stderr, "failed to allocate index buffer for writing %d int\n", *buffer_size);\r
return 0;\r
}\r
\r
- buffer[0] = 1; // Version stored on a byte\r
+ buffer[0] = 1; /* Version stored on a byte*/\r
buffer++;\r
- // Remaining informations are stored on a int.\r
+ /* Remaining informations are stored on a int.*/\r
((int*)buffer)[buffer_pos++] = cstr_info->image_w;\r
((int*)buffer)[buffer_pos++] = cstr_info->image_h;\r
((int*)buffer)[buffer_pos++] = cstr_info->prog;\r
} /* tileno */\r
\r
if (buffer_pos > *buffer_size) {\r
- //opj_event_msg(j2k->cinfo, EVT_ERROR, "index creation: buffer_pos (%d) > buffer_size (%d)!\n", buffer_pos, *buffer_size);\r
+ /*opj_event_msg(j2k->cinfo, EVT_ERROR, "index creation: buffer_pos (%d) > buffer_size (%d)!\n", buffer_pos, *buffer_size);*/\r
fprintf(stderr, "index creation: buffer_pos (%d) > buffer_size (%d)!\n", buffer_pos, *buffer_size);\r
return 0;\r
}\r
jint *jiBody;\r
jboolean isCopy;\r
\r
- // Image width, height and depth\r
+ /* Image width, height and depth*/\r
fid = (*env)->GetFieldID(env, cls,"width", "I");\r
ji = (*env)->GetIntField(env, obj, fid);\r
w = ji;\r
ji = (*env)->GetIntField(env, obj, fid);\r
depth = ji;\r
\r
- // Read the image\r
+ /* Read the image*/\r
if (depth <=16) {\r
numcomps = 1;\r
color_space = CLRSPC_GRAY;\r
cmptparm[0].y0 = parameters->image_offset_y0;\r
cmptparm[0].w = !cmptparm[0].x0 ? (w - 1) * parameters->subsampling_dx + 1 : cmptparm[0].x0 + (w - 1) * parameters->subsampling_dx + 1;\r
cmptparm[0].h = !cmptparm[0].y0 ? (h - 1) * parameters->subsampling_dy + 1 : cmptparm[0].y0 + (h - 1) * parameters->subsampling_dy + 1;\r
- // Java types are always signed but we use them as unsigned types (shift of the negative part of \r
- // the pixels of the images in Telemis before entering the encoder).\r
+ /* Java types are always signed but we use them as unsigned types (shift of the negative part of \r
+ the pixels of the images in Telemis before entering the encoder).*/\r
cmptparm[0].sgnd = 0;\r
if (depth<=16) \r
cmptparm[0].prec=depth;\r
comp = &image->comps[compno];\r
max = -100000;\r
if (depth == 8) {\r
- fid = (*env)->GetFieldID(env, cls,"image8", "[B"); // byteArray []\r
+ fid = (*env)->GetFieldID(env, cls,"image8", "[B"); /* byteArray []*/\r
jba = (*env)->GetObjectField(env, obj, fid);\r
len = (*env)->GetArrayLength(env, jba);\r
\r
jbBody = (*env)->GetPrimitiveArrayCritical(env, jba, &isCopy);\r
- //printf("C: before transfering 8 bpp image\n");\r
+ /*printf("C: before transfering 8 bpp image\n");*/\r
if (comp->sgnd) {\r
for(i=0; i< len;i++) {\r
comp->data[i] = (char) jbBody[i];\r
}\r
(*env)->ReleasePrimitiveArrayCritical(env, jba, jbBody, 0);\r
} else if(depth == 16) {\r
- fid = (*env)->GetFieldID(env, cls,"image16", "[S"); // shortArray []\r
+ fid = (*env)->GetFieldID(env, cls,"image16", "[S"); /* shortArray []*/\r
jsa = (*env)->GetObjectField(env, obj, fid);\r
len = (*env)->GetArrayLength(env, jsa);\r
\r
jsBody = (*env)->GetPrimitiveArrayCritical(env, jsa, &isCopy);\r
- //printf("C: before transfering 16 bpp image\n");\r
- if (comp->sgnd) { // Special behaviour to deal with signed elements ??\r
+ /*printf("C: before transfering 16 bpp image\n");*/\r
+ if (comp->sgnd) { /* Special behaviour to deal with signed elements ??*/\r
comp->data[i] = (short) jsBody[i];\r
for(i=0; i< len;i++) {\r
if (comp->data[i] > max) max = comp->data[i];\r
}\r
(*env)->ReleasePrimitiveArrayCritical(env, jsa, jsBody, 0);\r
} else if (depth == 24) {\r
- fid = (*env)->GetFieldID(env, cls,"image24", "[I"); // intArray []\r
+ fid = (*env)->GetFieldID(env, cls,"image24", "[I"); /* intArray []*/\r
jia = (*env)->GetObjectField(env, obj, fid);\r
len = (*env)->GetArrayLength(env, jia);\r
shift = compno*8;\r
\r
jiBody = (*env)->GetPrimitiveArrayCritical(env, jia, &isCopy);\r
- //printf("C: before transfering 24 bpp image (component %d, signed = %d)\n", compno, comp->sgnd);\r
- if (comp->sgnd) { // Special behaviour to deal with signed elements ?? XXXXX\r
+ /*printf("C: before transfering 24 bpp image (component %d, signed = %d)\n", compno, comp->sgnd);*/\r
+ if (comp->sgnd) { /* Special behaviour to deal with signed elements ?? XXXXX*/\r
for(i=0; i< len;i++) {\r
comp->data[i] = ( ((int) jiBody[i]) & (0xFF << shift) ) >> shift;\r
if (comp->data[i] > max) max = comp->data[i];\r
}\r
comp->bpp = int_floorlog2(max)+1;\r
comp->prec = comp->bpp;\r
- //printf("C: component %d: max %d, real bpp = %d\n", compno, max, comp->bpp);\r
+ /*printf("C: component %d: max %d, real bpp = %d\n", compno, max, comp->bpp);*/\r
}\r
return image;\r
}\r
opj_codestream_info_t cstr_info; /* Codestream information structure */\r
char indexfilename[OPJ_PATH_LEN]; /* index file name */\r
\r
- int* compressed_index = NULL;\r
+ char* compressed_index = NULL;\r
int compressed_index_size=-1;\r
- // ==> Access variables to the Java member variables\r
+ /* ==> Access variables to the Java member variables*/\r
jsize arraySize;\r
jclass cls;\r
jobject object;\r
jbyteArray jba;\r
jbyte *jbBody;\r
callback_variables_t msgErrorCallback_vars;\r
- // <== access variable to the Java member variables.\r
+ /* <== access variable to the Java member variables.*/\r
\r
- // For the encoding and storage into the file\r
+ /* For the encoding and storage into the file*/\r
opj_cinfo_t* cinfo;\r
int codestream_length;\r
opj_cio_t *cio = NULL;\r
FILE *f = NULL;\r
\r
- // JNI reference to the calling class\r
+ /* JNI reference to the calling class*/\r
cls = (*env)->GetObjectClass(env, obj);\r
\r
- // Pointers to be able to call a Java method for all the info and error messages\r
+ /* Pointers to be able to call a Java method for all the info and error messages*/\r
msgErrorCallback_vars.env = env;\r
msgErrorCallback_vars.jobj = &obj;\r
msgErrorCallback_vars.message_mid = (*env)->GetMethodID(env, cls, "logMessage", "(Ljava/lang/String;)V");\r
arraySize = (*env)->GetArrayLength(env, javaParameters);\r
argc = (int) arraySize +1;\r
argv = malloc(argc*sizeof(char*));\r
- argv[0] = "ProgramName.exe"; // The program name: useless\r
+ argv[0] = "ProgramName.exe"; /* The program name: useless*/\r
j=0;\r
for (i=1; i<argc; i++) {\r
object = (*env)->GetObjectArrayElement(env, javaParameters, i-1);\r
- argv[i] = (*env)->GetStringUTFChars(env, object, &isCopy);\r
+ argv[i] = (char*)(*env)->GetStringUTFChars(env, object, &isCopy);\r
}\r
\r
/*printf("C: ");\r
/* set encoding parameters to default values */\r
opj_set_default_encoder_parameters(¶meters);\r
parameters.cod_format = J2K_CFMT;\r
- //parameters.index_on = 1;\r
+ /*parameters.index_on = 1;*/\r
\r
/* Initialize indexfilename and img_fol */\r
*indexfilename = 0;\r
\r
/* parse input and get user encoding parameters */\r
if (parse_cmdline_encoder(argc, argv, ¶meters,&img_fol, indexfilename) == 1) {\r
- // Release the Java arguments array\r
+ /* Release the Java arguments array*/\r
for (i=1; i<argc; i++)\r
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, javaParameters, i-1), argv[i]);\r
return -1;\r
}\r
\r
- // Release the Java arguments array\r
+ /* Release the Java arguments array*/\r
for (i=1; i<argc; i++)\r
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, javaParameters, i-1), argv[i]);\r
\r
fprintf(stderr,"\n");\r
\r
image = loadImage(¶meters, env, obj, cls);\r
- //printf("C: after load image: image = %d\n", image);\r
+ /*printf("C: after load image: image = %d\n", image);*/\r
if (!image) {\r
fprintf(stderr, "Unable to load image\n");\r
return -1; \r
int w,h;\r
long min_value, max_value;\r
short tempS; unsigned char tempUC, tempUC1, tempUC2;\r
- // ==> Access variables to the Java member variables\r
+ /* ==> Access variables to the Java member variables*/\r
jsize arraySize;\r
jclass cls;\r
jobject object;\r
jshort *jsBody, *ptrSBody;\r
jint *jiBody, *ptrIBody;\r
callback_variables_t msgErrorCallback_vars;\r
- // <=== access variable to Java member variables */\r
- int *ptr, *ptr1, *ptr2; // <== To transfer the decoded image to Java\r
+ /* <=== access variable to Java member variables */\r
+ int *ptr, *ptr1, *ptr2; /* <== To transfer the decoded image to Java*/\r
\r
/* configure the event callbacks */\r
memset(&event_mgr, 0, sizeof(opj_event_mgr_t)); \r
event_mgr.warning_handler = warning_callback;\r
event_mgr.info_handler = info_callback;\r
\r
- // JNI reference to the calling class\r
+ /* JNI reference to the calling class*/\r
cls = (*env)->GetObjectClass(env, obj);\r
\r
- // Pointers to be able to call a Java method for all the info and error messages\r
+ /* Pointers to be able to call a Java method for all the info and error messages*/\r
msgErrorCallback_vars.env = env;\r
msgErrorCallback_vars.jobj = &obj;\r
msgErrorCallback_vars.message_mid = (*env)->GetMethodID(env, cls, "logMessage", "(Ljava/lang/String;)V");\r
msgErrorCallback_vars.error_mid = (*env)->GetMethodID(env, cls, "logError", "(Ljava/lang/String;)V");\r
\r
- // Get the String[] containing the parameters, and converts it into a char** to simulate command line arguments.\r
+ /* Get the String[] containing the parameters, and converts it into a char** to simulate command line arguments.*/\r
arraySize = (*env)->GetArrayLength(env, javaParameters);\r
argc = (int) arraySize +1;\r
argv = malloc(argc*sizeof(char*));\r
- argv[0] = "ProgramName.exe"; // The program name: useless\r
+ argv[0] = "ProgramName.exe"; /* The program name: useless*/\r
j=0;\r
for (i=1; i<argc; i++) {\r
object = (*env)->GetObjectArrayElement(env, javaParameters, i-1);\r
- argv[i] = (*env)->GetStringUTFChars(env, object, &isCopy);\r
+ argv[i] = (char*)(*env)->GetStringUTFChars(env, object, &isCopy);\r
}\r
\r
/*printf("C: decoder params = ");\r
\r
/* parse input and get user encoding parameters */\r
if(parse_cmdline_decoder(argc, argv, ¶meters,&img_fol) == 1) {\r
- // Release the Java arguments array\r
+ /* Release the Java arguments array*/\r
for (i=1; i<argc; i++)\r
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, javaParameters, i-1), argv[i]);\r
return -1;\r
}\r
- // Release the Java arguments array\r
+ /* Release the Java arguments array*/\r
for (i=1; i<argc; i++)\r
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, javaParameters, i-1), argv[i]);\r
\r
num_images=1;\r
\r
- // Get additional information from the Java object variables\r
+ /* Get additional information from the Java object variables*/\r
fid = (*env)->GetFieldID(env, cls,"skippedResolutions", "I");\r
parameters.cp_reduce = (short) (*env)->GetIntField(env, obj, fid);\r
\r
Implemented for debug purpose. */\r
/* -------------------------------------------------------------- */\r
if (parameters.infile && parameters.infile[0]!='\0') {\r
- //printf("C: opening [%s]\n", parameters.infile);\r
+ /*printf("C: opening [%s]\n", parameters.infile);*/\r
fsrc = fopen(parameters.infile, "rb");\r
if (!fsrc) {\r
fprintf(stderr, "ERROR -> failed to open %s for reading\n", parameters.infile);\r
src = (unsigned char *) malloc(file_length);\r
fread(src, 1, file_length, fsrc);\r
fclose(fsrc);\r
- //printf("C: %d bytes read from file\n",file_length);\r
+ /*printf("C: %d bytes read from file\n",file_length);*/\r
} else {\r
- // Preparing the transfer of the codestream from Java to C\r
- //printf("C: before transfering codestream\n");\r
+ /* Preparing the transfer of the codestream from Java to C*/\r
+ /*printf("C: before transfering codestream\n");*/\r
fid = (*env)->GetFieldID(env, cls,"compressedStream", "[B");\r
jba = (*env)->GetObjectField(env, obj, fid);\r
file_length = (*env)->GetArrayLength(env, jba);\r
\r
}\r
\r
- // ========= Return the image to the Java structure ===============\r
+ /* ========= Return the image to the Java structure ===============*/\r
#ifdef CHECK_THRESHOLDS\r
printf("C: checking thresholds\n");\r
#endif\r
- // First compute the real with and height, in function of the resolutions decoded.\r
- //wr = (image->comps[0].w + (1 << image->comps[0].factor) -1) >> image->comps[0].factor;\r
- //hr = (image->comps[0].h + (1 << image->comps[0].factor) -1) >> image->comps[0].factor;\r
+ /* First compute the real with and height, in function of the resolutions decoded.*/\r
+ /*wr = (image->comps[0].w + (1 << image->comps[0].factor) -1) >> image->comps[0].factor;*/\r
+ /*hr = (image->comps[0].h + (1 << image->comps[0].factor) -1) >> image->comps[0].factor;*/\r
w = image->comps[0].w;\r
h = image->comps[0].h;\r
\r
- if (image->numcomps==3) { // 3 components color image\r
+ if (image->numcomps==3) { /* 3 components color image*/\r
ptr = image->comps[0].data;\r
ptr1 = image->comps[1].data;\r
ptr2 = image->comps[2].data;\r
max_value = 255;\r
}\r
#endif \r
- // Get the pointer to the Java structure where the data must be copied\r
+ /* Get the pointer to the Java structure where the data must be copied*/\r
fid = (*env)->GetFieldID(env, cls,"image24", "[I");\r
jia = (*env)->GetObjectField(env, obj, fid);\r
jiBody = (*env)->GetIntArrayElements(env, jia, 0);\r
}\r
(*env)->ReleaseIntArrayElements(env, jia, jiBody, 0);\r
\r
- } else { // 1 component 8 or 16 bpp image\r
+ } else { /* 1 component 8 or 16 bpp image*/\r
ptr = image->comps[0].data;\r
printf("C: before transfering a %d bpp image to java (length = %d)\n",image->comps[0].prec ,w*h);\r
if (image->comps[0].prec<=8) {\r
max_value = 255;\r
}\r
#endif \r
- //printf("C: transfering %d shorts to Java image8 pointer = %d\n", wr*hr,ptrSBody);\r
+ /*printf("C: transfering %d shorts to Java image8 pointer = %d\n", wr*hr,ptrSBody);*/\r
for (i=0; i<w*h; i++) {\r
tempUC = (unsigned char) (ptr[i]);\r
#ifdef CHECK_THRESHOLDS\r
}\r
return 1; /* OK */\r
}\r
-//end main\r
+/*end main*/\r
\r