Code improvements using 'g++-4.4.0' to trace the code (v1.4). Thanks to Winfried for this patch.
This commit is contained in:
		| @@ -5,6 +5,8 @@ What's New for OpenJPEG | ||||
| ! : changed | ||||
| + : added | ||||
|  | ||||
| March 24, 2010 | ||||
| * [FOD] Code improvements using 'g++-4.4.0' to trace the code. Thanks to Winfried for this patch.		 | ||||
|  | ||||
| March 7, 2010 | ||||
| * [FOD] Fixed small compatibility issues with win32 in codec (moved include <strings.h>) | ||||
|   | ||||
| @@ -49,7 +49,7 @@ const char *optarg;			/* argument associated with option */ | ||||
|  | ||||
| typedef struct option | ||||
| { | ||||
| 	char *name; | ||||
| 	const char *name; | ||||
| 	int has_arg; | ||||
| 	int *flag; | ||||
| 	int val; | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
|  | ||||
| typedef struct option | ||||
| { | ||||
| 	char *name; | ||||
| 	const char *name; | ||||
| 	int has_arg; | ||||
| 	int *flag; | ||||
| 	int val; | ||||
|   | ||||
| @@ -1463,7 +1463,7 @@ int imagetotif(opj_image_t * image, const char *outfile) { | ||||
| 				unsigned char *dat8; | ||||
| 				int i, ssize; | ||||
| 				ssize = TIFFStripSize(tif); | ||||
| 				dat8 = buf; | ||||
| 				dat8 = (unsigned char*)buf; | ||||
| 				if (image->comps[0].prec == 8){ | ||||
| 					for (i=0; i<ssize-2; i+=3) {	// 8 bits per pixel  | ||||
| 						int r = 0,g = 0,b = 0; | ||||
| @@ -1658,7 +1658,7 @@ int imagetotif(opj_image_t * image, const char *outfile) { | ||||
| 			for (strip = 0; strip < TIFFNumberOfStrips(tif); strip++) { | ||||
| 				unsigned char *dat8; | ||||
| 				int i; | ||||
| 				dat8 = buf; | ||||
| 				dat8 = (unsigned char*)buf; | ||||
| 				if (image->comps[0].prec == 8){ | ||||
| 					for (i=0; i<TIFFStripSize(tif); i+=1) {	// 8 bits per pixel  | ||||
| 						if(index < imgsize){ | ||||
| @@ -1799,7 +1799,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters) | ||||
| 			unsigned char *dat8; | ||||
| 			int i, ssize; | ||||
| 			ssize = TIFFReadEncodedStrip(tif, strip, buf, strip_size); | ||||
| 			dat8 = buf; | ||||
| 			dat8 = (unsigned char*)buf; | ||||
|  | ||||
| 			if (Info.tiBps==12){ | ||||
| 				for (i=0; i<ssize; i+=9) {	/*12 bits per pixel*/ | ||||
| @@ -1895,7 +1895,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters) | ||||
| 			unsigned char *dat8; | ||||
| 			int i, ssize; | ||||
| 			ssize = TIFFReadEncodedStrip(tif, strip, buf, strip_size); | ||||
| 			dat8 = buf; | ||||
| 			dat8 = (unsigned char*)buf; | ||||
|  | ||||
| 			if (Info.tiBps==12){ | ||||
| 				for (i=0; i<ssize; i+=3) {	/* 12 bits per pixel*/ | ||||
|   | ||||
| @@ -910,7 +910,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, | ||||
| 				while (sscanf(s, "T%d=%d,%d,%d,%d,%d,%4s", &POC[numpocs].tile, | ||||
| 					&POC[numpocs].resno0, &POC[numpocs].compno0, | ||||
| 					&POC[numpocs].layno1, &POC[numpocs].resno1, | ||||
| 					&POC[numpocs].compno1, &POC[numpocs].progorder) == 7) { | ||||
| 					&POC[numpocs].compno1, POC[numpocs].progorder) == 7) { | ||||
| 					POC[numpocs].prg1 = give_progression(POC[numpocs].progorder); | ||||
| 					numpocs++; | ||||
| 					while (*s && *s != '/') { | ||||
|   | ||||
| @@ -73,7 +73,7 @@ typedef struct img_folder{ | ||||
| 	/** The directory path of the folder containing input images*/ | ||||
| 	char *imgdirpath; | ||||
| 	/** Output format*/ | ||||
| 	char *out_format; | ||||
| 	const char *out_format; | ||||
| 	/** Enable option*/ | ||||
| 	char set_imgdir; | ||||
| 	/** Enable Cod Format for output*/ | ||||
|   | ||||
| @@ -864,7 +864,7 @@ void j2k_read_sot() { | ||||
|     if (partno >= tile->Cztile_parts) | ||||
|       { | ||||
| 	tilepart_tmp = (info_tile_part_t*)malloc((INCREMENT + tile->Cztile_parts) * sizeof(info_tile_part_t)); | ||||
| 	memcpy(tmp, tile->tile_parts, tile->Cztile_parts); | ||||
| 	memcpy(tilepart_tmp, tile->tile_parts, tile->Cztile_parts); | ||||
| 	tile->Cztile_parts += INCREMENT; | ||||
| 	free(tile->tile_parts); | ||||
| 	tile->tile_parts = tilepart_tmp; | ||||
| @@ -1008,7 +1008,7 @@ void j2k_read_unk() { | ||||
|  | ||||
| int j2k_index_JPIP(char *Idx_file, char *J2K_file, int len, int version){ | ||||
|   FILE *dest; | ||||
|   char *index; | ||||
|   unsigned char *index; | ||||
|   int pos_iptr, end_pos; | ||||
|   int len_cidx, pos_cidx; | ||||
|   int len_jp2c, pos_jp2c; | ||||
| @@ -1021,7 +1021,7 @@ int j2k_index_JPIP(char *Idx_file, char *J2K_file, int len, int version){ | ||||
|   } | ||||
|  | ||||
|   /* INDEX MODE JPIP */ | ||||
|  index = (char*)malloc(len);  | ||||
|  index = (unsigned char*)malloc(len);  | ||||
|  cio_init(index, len); | ||||
|  jp2_write_jp(); | ||||
|  jp2_write_ftyp(); | ||||
| @@ -1149,7 +1149,7 @@ int main(int argc, char **argv) | ||||
| {   | ||||
|   FILE *src; | ||||
|   int totlen; | ||||
|   char *j2kfile; | ||||
|   unsigned char *j2kfile; | ||||
|   j2k_image_t *imgg; | ||||
|   j2k_cp_t *cp; | ||||
|   int version; | ||||
| @@ -1171,7 +1171,7 @@ int main(int argc, char **argv) | ||||
|   totlen = ftell(src); | ||||
|   fseek(src, 0, SEEK_SET); | ||||
|    | ||||
|   j2kfile = (char*)malloc(totlen); | ||||
|   j2kfile = (unsigned char*)malloc(totlen); | ||||
|   fread(j2kfile, 1, totlen, src); | ||||
|   fclose(src); | ||||
|  | ||||
| @@ -1197,6 +1197,7 @@ int main(int argc, char **argv) | ||||
|  | ||||
|   if (!j2k_decode(j2kfile, totlen, &imgg, &cp)) { | ||||
|     fprintf(stderr, "Index_creator: failed to decode image!\n"); | ||||
|     free(j2kfile); | ||||
|     return 1; | ||||
|   } | ||||
|   free(j2kfile); | ||||
|   | ||||
| @@ -50,7 +50,8 @@ | ||||
|  | ||||
| void jp2_write_url(char *Idx_file) | ||||
| { | ||||
|   int len, lenp, i; | ||||
|   int len, lenp;  | ||||
|   unsigned int i; | ||||
|   char str[256]; | ||||
|  | ||||
|   sprintf(str, "%s", Idx_file); | ||||
|   | ||||
| @@ -245,7 +245,7 @@ j2k_prog_order_t j2k_prog_order_list[] = { | ||||
| 	{PCRL, "PCRL"}, | ||||
| 	{RLCP, "RLCP"}, | ||||
| 	{RPCL, "RPCL"}, | ||||
| 	{-1, ""} | ||||
| 	{(OPJ_PROG_ORDER)-1, ""} | ||||
| }; | ||||
|  | ||||
| char *j2k_convert_progression_order(OPJ_PROG_ORDER prg_order){ | ||||
|   | ||||
| @@ -105,7 +105,7 @@ int main(int argc, char *argv[]) { | ||||
|  | ||||
| 	/* setup the decoder decoding parameters using user parameters */ | ||||
| 	movie = (opj_mj2_t*) dinfo->mj2_handle; | ||||
| 	mj2_setup_decoder(dinfo->mj2_handle, ¶meters); | ||||
| 	mj2_setup_decoder((opj_mj2_t*)dinfo->mj2_handle, ¶meters); | ||||
|  | ||||
|   if (mj2_read_struct(file, movie)) // Creating the movie structure | ||||
|     return 1; | ||||
|   | ||||
| @@ -234,12 +234,12 @@ int main(int argc, char **argv) | ||||
| 	opj_cparameters_t *j2k_parameters;	/* J2K compression parameters */ | ||||
| 	opj_event_mgr_t event_mgr;		/* event manager */ | ||||
| 	opj_cio_t *cio; | ||||
| 	char value; | ||||
| 	int value; | ||||
|   opj_mj2_t *movie; | ||||
| 	opj_image_t *img; | ||||
|   int i, j; | ||||
|   char *s, S1, S2, S3; | ||||
|   char *buf; | ||||
|   unsigned char *buf; | ||||
|   int x1, y1,  len; | ||||
|   long mdat_initpos, offset; | ||||
|   FILE *mj2file; | ||||
| @@ -519,7 +519,7 @@ int main(int argc, char **argv) | ||||
| 				while (sscanf(s, "T%d=%d,%d,%d,%d,%d,%4s", &POC[numpocs].tile, | ||||
| 					&POC[numpocs].resno0, &POC[numpocs].compno0, | ||||
| 					&POC[numpocs].layno1, &POC[numpocs].resno1, | ||||
| 					&POC[numpocs].compno1, &POC[numpocs].progorder) == 7) { | ||||
| 					&POC[numpocs].compno1, POC[numpocs].progorder) == 7) { | ||||
| 					POC[numpocs].prg1 = give_progression(POC[numpocs].progorder); | ||||
| 					numpocs++; | ||||
| 					while (*s && *s != '/') { | ||||
| @@ -671,7 +671,7 @@ int main(int argc, char **argv) | ||||
|      | ||||
| 	/* get a MJ2 decompressor handle */ | ||||
| 	cinfo = mj2_create_compress(); | ||||
| 	movie = cinfo->mj2_handle; | ||||
| 	movie = (opj_mj2_t*)cinfo->mj2_handle; | ||||
| 	 | ||||
| 	/* catch events using our callbacks and give a local context */ | ||||
| 	opj_set_event_mgr((opj_common_ptr)cinfo, &event_mgr, stderr); | ||||
| @@ -694,7 +694,7 @@ int main(int argc, char **argv) | ||||
|   };     | ||||
|    | ||||
|   // Writing JP, FTYP and MDAT boxes  | ||||
|   buf = (char*) malloc (300 * sizeof(char)); // Assuming that the JP and FTYP | ||||
|   buf = (unsigned char*) malloc (300 * sizeof(unsigned char)); // Assuming that the JP and FTYP | ||||
|   // boxes won't be longer than 300 bytes | ||||
| 	cio = opj_cio_open((opj_common_ptr)movie->cinfo, buf, 300); | ||||
|   mj2_write_jp(cio); | ||||
| @@ -722,7 +722,7 @@ int main(int argc, char **argv) | ||||
| 			 | ||||
| 			img = mj2_image_create(tk, j2k_parameters);           | ||||
| 			buflen = 2 * (tk->w * tk->h * 8); | ||||
| 			buf = (char *) malloc(buflen*sizeof(char));	 | ||||
| 			buf = (unsigned char *) malloc(buflen*sizeof(unsigned char));	 | ||||
|  | ||||
|       for (sampleno = 0; sampleno < numframes; sampleno++) {		 | ||||
| 				double init_time = opj_clock(); | ||||
| @@ -771,7 +771,7 @@ int main(int argc, char **argv) | ||||
|    | ||||
|   fseek(mj2file, mdat_initpos, SEEK_SET); | ||||
| 	 | ||||
|   buf = (char*) malloc(4*sizeof(char)); | ||||
|   buf = (unsigned char*) malloc(4*sizeof(unsigned char)); | ||||
|  | ||||
| 	// Init a cio to write box length variable in a little endian way  | ||||
| 	cio = opj_cio_open(NULL, buf, 4); | ||||
| @@ -781,7 +781,7 @@ int main(int argc, char **argv) | ||||
|   free(buf); | ||||
|  | ||||
|   // Writing MOOV box  | ||||
| 	buf = (char*) malloc ((TEMP_BUF+numframes*20) * sizeof(char)); | ||||
| 	buf = (unsigned char*) malloc ((TEMP_BUF+numframes*20) * sizeof(unsigned char)); | ||||
| 	cio = opj_cio_open(movie->cinfo, buf, (TEMP_BUF+numframes*20)); | ||||
| 	mj2_write_moov(movie, cio); | ||||
|   fwrite(buf,cio_tell(cio),1,mj2file); | ||||
|   | ||||
							
								
								
									
										19
									
								
								mj2/mj2.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								mj2/mj2.c
									
									
									
									
									
								
							| @@ -42,8 +42,9 @@ Read box headers | ||||
| @param box | ||||
| @return Returns true if successful, returns false otherwise | ||||
| */ | ||||
| /*-- UNUSED | ||||
| static bool jp2_read_boxhdr(opj_common_ptr cinfo, opj_cio_t *cio, opj_jp2_box_t *box); | ||||
|  | ||||
| --*/ | ||||
| /* | ||||
| *  | ||||
| * Read box headers | ||||
| @@ -269,7 +270,8 @@ void mj2_stsc_decompact(mj2_tk_t * tk) | ||||
|       tk->chunk[k].num_samples = | ||||
| 				tk->sampletochunk[tk->num_samplestochunk - 1].samples_per_chunk; | ||||
|     } | ||||
|     tk->chunk = opj_realloc(tk->chunk, tk->num_chunks * sizeof(mj2_chunk_t)); | ||||
|     tk->chunk = (mj2_chunk_t*) | ||||
| 	 opj_realloc(tk->chunk, tk->num_chunks * sizeof(mj2_chunk_t)); | ||||
|   } | ||||
|    | ||||
| } | ||||
| @@ -1163,7 +1165,7 @@ int mj2_read_smj2(opj_image_t * img, mj2_tk_t * tk, opj_cio_t *cio) | ||||
|   } | ||||
|  | ||||
|   tk->jp2_struct.comps = (opj_jp2_comps_t*) opj_malloc(tk->jp2_struct.numcomps * sizeof(opj_jp2_comps_t)); | ||||
|   tk->jp2_struct.cl = (int*) opj_malloc(sizeof(int)); | ||||
|   tk->jp2_struct.cl = (unsigned int*) opj_malloc(sizeof(unsigned int)); | ||||
|  | ||||
|   tk->num_br = 0; | ||||
|   tk->num_jp2x = 0; | ||||
| @@ -2604,13 +2606,13 @@ int mj2_read_moov(opj_mj2_t * movie, opj_image_t * img, opj_cio_t *cio) | ||||
| int mj2_read_struct(FILE *file, opj_mj2_t *movie) { | ||||
|   mj2_box_t box; | ||||
|   opj_image_t img; | ||||
|   char * src; | ||||
|   unsigned char * src; | ||||
|   int fsresult; | ||||
|   int foffset; | ||||
| 	opj_cio_t *cio; | ||||
| 	 | ||||
| 	/* open a byte stream for reading */	 | ||||
| 	src = (char*) opj_malloc(300 * sizeof(char));	 | ||||
| 	src = (unsigned char*) opj_malloc(300 * sizeof(unsigned char));	 | ||||
|  | ||||
| 	/* Assuming that jp and ftyp markers size do | ||||
|      not exceed 300 bytes */ | ||||
| @@ -2694,7 +2696,7 @@ int mj2_read_struct(FILE *file, opj_mj2_t *movie) { | ||||
|   }	 | ||||
|  | ||||
|   fseek(file,foffset,SEEK_SET); | ||||
|   src = opj_realloc(src,box.length); | ||||
|   src = (unsigned char*)opj_realloc(src,box.length); | ||||
|   fsresult = fread(src,box.length,1,file); | ||||
|   if (fsresult != 1) { | ||||
|     opj_event_msg(cio->cinfo, EVT_ERROR, "End of file reached while trying to read MOOV box\n");  | ||||
| @@ -2738,7 +2740,8 @@ void mj2_setup_decoder(opj_mj2_t *movie, mj2_dparameters_t *mj2_parameters) { | ||||
|   movie->num_htk=0;	 | ||||
|  | ||||
| 	/* setup the J2K decoder parameters */ | ||||
| 	j2k_setup_decoder(movie->cinfo->j2k_handle, &mj2_parameters->j2k_parameters); | ||||
| 	j2k_setup_decoder((opj_j2k_t*)movie->cinfo->j2k_handle,  | ||||
| 		&mj2_parameters->j2k_parameters); | ||||
|  | ||||
| } | ||||
|  | ||||
| @@ -2846,7 +2849,7 @@ void mj2_setup_encoder(opj_mj2_t *movie, mj2_cparameters_t *parameters) { | ||||
| 		jp2_struct->brand = JP2_JP2;	/* BR         */ | ||||
| 		jp2_struct->minversion = 0;	/* MinV       */ | ||||
| 		jp2_struct->numcl = 1; | ||||
| 		jp2_struct->cl = (unsigned int*) opj_malloc(jp2_struct->numcl * sizeof(int)); | ||||
| 		jp2_struct->cl = (unsigned int*) opj_malloc(jp2_struct->numcl * sizeof(unsigned int)); | ||||
| 		jp2_struct->cl[0] = JP2_JP2;	/* CL0 : JP2  */		 | ||||
| 		jp2_struct->C = 7;      /* C : Always 7*/ | ||||
| 		jp2_struct->UnkC = 0;      /* UnkC, colorspace specified in colr box*/ | ||||
|   | ||||
| @@ -112,7 +112,7 @@ int main(int argc, char *argv[]) { | ||||
| 	 | ||||
| 	/* get a MJ2 decompressor handle */ | ||||
| 	dinfo = mj2_create_decompress(); | ||||
| 	movie = dinfo->mj2_handle; | ||||
| 	movie = (opj_mj2_t*)dinfo->mj2_handle; | ||||
| 	 | ||||
| 	/* catch events using our callbacks and give a local context */ | ||||
| 	opj_set_event_mgr((opj_common_ptr)dinfo, &event_mgr, stderr);		 | ||||
| @@ -121,7 +121,7 @@ int main(int argc, char *argv[]) { | ||||
| 	opj_set_default_decoder_parameters(&mj2_parameters.j2k_parameters); | ||||
| 	 | ||||
| 	/* setup the decoder decoding parameters using user parameters */ | ||||
| 	mj2_setup_decoder(dinfo->mj2_handle, &mj2_parameters); | ||||
| 	mj2_setup_decoder((opj_mj2_t*)dinfo->mj2_handle, &mj2_parameters); | ||||
| 			 | ||||
|   if (mj2_read_struct(file, movie)) // Creating the movie structure | ||||
|     return 1;	 | ||||
| @@ -156,7 +156,8 @@ int main(int argc, char *argv[]) { | ||||
|     sample = &track->sample[snum]; | ||||
| 		if (sample->sample_size-8 > max_codstrm_size) { | ||||
| 			max_codstrm_size =  sample->sample_size-8; | ||||
| 			if ((frame_codestream = realloc(frame_codestream, max_codstrm_size)) == NULL) { | ||||
| 			if ((frame_codestream = (unsigned char*) | ||||
| 				realloc(frame_codestream, max_codstrm_size)) == NULL) { | ||||
| 				printf("Error reallocation memory\n"); | ||||
| 				return 1; | ||||
| 			}; 		 | ||||
|   | ||||
| @@ -78,7 +78,7 @@ static void read_siz_marker(FILE *file, opj_image_t *image) | ||||
| { | ||||
|   int len,i; | ||||
|   char buf, buf2[2]; | ||||
|   char *siz_buffer; | ||||
|   unsigned char *siz_buffer; | ||||
| 	opj_cio_t *cio; | ||||
|    | ||||
|   fseek(file, 0, SEEK_SET); | ||||
| @@ -92,7 +92,7 @@ static void read_siz_marker(FILE *file, opj_image_t *image) | ||||
|   fread(buf2,2,1,file);		/* Lsiz                */ | ||||
|   len = ((buf2[0])<<8) + buf2[1]; | ||||
|    | ||||
|   siz_buffer = (char*) malloc(len * sizeof(char)); | ||||
|   siz_buffer = (unsigned char*) malloc(len * sizeof(unsigned char)); | ||||
|   fread(siz_buffer,len, 1, file); | ||||
| 	cio = opj_cio_open(NULL, siz_buffer, len); | ||||
|    | ||||
| @@ -119,6 +119,7 @@ static void read_siz_marker(FILE *file, opj_image_t *image) | ||||
|   } | ||||
|   fseek(file, 0, SEEK_SET); | ||||
| 	opj_cio_close(cio); | ||||
|   free(siz_buffer); | ||||
| } | ||||
|  | ||||
| static void setparams(opj_mj2_t *movie, opj_image_t *image) { | ||||
| @@ -213,7 +214,7 @@ int main(int argc, char *argv[]) { | ||||
|   unsigned char* frame_codestream; | ||||
|   FILE *mj2file, *j2kfile; | ||||
|   char j2kfilename[50]; | ||||
|   char *buf; | ||||
|   unsigned char *buf; | ||||
|   int offset, mdat_initpos; | ||||
|   opj_image_t img; | ||||
|  	opj_cio_t *cio; | ||||
| @@ -249,13 +250,13 @@ int main(int argc, char *argv[]) { | ||||
| 	 | ||||
| 	/* setup the decoder encoding parameters using user parameters */ | ||||
| 	movie = (opj_mj2_t*) cinfo->mj2_handle; | ||||
| 	mj2_setup_encoder(cinfo->mj2_handle, ¶meters); | ||||
| 	mj2_setup_encoder((opj_mj2_t*)cinfo->mj2_handle, ¶meters); | ||||
|  | ||||
|    | ||||
| 	/* Writing JP, FTYP and MDAT boxes  | ||||
| 	Assuming that the JP and FTYP boxes won't be longer than 300 bytes */ | ||||
| 	 | ||||
|   buf = (char*) malloc (300 * sizeof(char));  | ||||
|   buf = (unsigned char*) malloc (300 * sizeof(unsigned char));  | ||||
|   cio = opj_cio_open(movie->cinfo, buf, 300); | ||||
|   mj2_write_jp(cio); | ||||
|   mj2_write_ftyp(movie, cio); | ||||
| @@ -312,14 +313,16 @@ int main(int argc, char *argv[]) { | ||||
|     // Ending loop | ||||
|     fclose(j2kfile); | ||||
|     snum++; | ||||
|     movie->tk[0].sample = realloc(movie->tk[0].sample, (snum+1) * sizeof(mj2_sample_t)); | ||||
|     movie->tk[0].chunk = realloc(movie->tk[0].chunk, (snum+1) * sizeof(mj2_chunk_t)); | ||||
|     movie->tk[0].sample = (mj2_sample_t*) | ||||
| 		realloc(movie->tk[0].sample, (snum+1) * sizeof(mj2_sample_t)); | ||||
|     movie->tk[0].chunk = (mj2_chunk_t*) | ||||
| 		realloc(movie->tk[0].chunk, (snum+1) * sizeof(mj2_chunk_t)); | ||||
|     free(frame_codestream); | ||||
|   } | ||||
|    | ||||
|   // Writing the MDAT box length in header | ||||
|   offset += cio_tell(cio); | ||||
|   buf = (char*) malloc (4 * sizeof(char)); | ||||
|   buf = (unsigned char*) malloc (4 * sizeof(unsigned char)); | ||||
| 	cio = opj_cio_open(movie->cinfo, buf, 4); | ||||
|   cio_write(cio,offset-mdat_initpos,4);  | ||||
|   fseek(mj2file,(long)mdat_initpos,SEEK_SET); | ||||
| @@ -333,7 +336,7 @@ int main(int argc, char *argv[]) { | ||||
|   setparams(movie, &img); | ||||
| 	 | ||||
|   // Writing MOOV box  | ||||
| 	buf = (char*) malloc ((TEMP_BUF+snum*20) * sizeof(char)); | ||||
| 	buf = (unsigned char*) malloc ((TEMP_BUF+snum*20) * sizeof(unsigned char)); | ||||
| 	cio = opj_cio_open(movie->cinfo, buf, (TEMP_BUF+snum*20)); | ||||
| 	mj2_write_moov(movie, cio); | ||||
|   fwrite(buf,cio_tell(cio),1,mj2file); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Francois-Olivier Devaux
					Francois-Olivier Devaux