* Better fix of the TPH EPBs bug in JPWL module
* Fixed the UEP bug in JPWL module + Added some lines in the help of JPWL_image_to_j2k
This commit is contained in:
		| @@ -5,6 +5,11 @@ What's New for OpenJPEG | ||||
| ! : changed | ||||
| + : added | ||||
|  | ||||
| December 05, 2006 | ||||
| * [Giuseppe Baruffa] Better fix of the TPH EPBs bug in JPWL module | ||||
| * [GB] Fixed the UEP bug in JPWL module; now, during a UEP specification, RS protection or CRC check can be switched off for selected range of packets, and consequently reswitched on without confusing the decoder | ||||
| + [GB] Added some lines in the help of JPWL_image_to_j2k, specifying that when using error protection on data packets, this must be paired with header protection, i.e. there cannot be packet protection without header protection | ||||
|  | ||||
| December 04, 2006 | ||||
|  | ||||
| + [Francois-Olivier Devaux] New tag: version1.0 (includes codec and libopenjpeg directories) | ||||
|   | ||||
| @@ -201,10 +201,10 @@ void encode_help_display() { | ||||
| 	fprintf(stdout,"                   1/2 bytes, for the transformed pseudo-floating point value\n"); | ||||
| 	fprintf(stdout,"\n"); | ||||
| 	fprintf(stdout,"                 ex.:\n"); | ||||
| 	fprintf(stdout," h,h0=64,h3=16,h5=0,p0=78,p0:24=56,p1,p3:0=0,p3:20=32,s=0,s0=6,s3=-1,a=0,g=1,z=1\n"); | ||||
| 	fprintf(stdout," h,h0=64,h3=16,h5=32,p0=78,p0:24=56,p1,p3:0=0,p3:20=32,s=0,s0=6,s3=-1,a=0,g=1,z=1\n"); | ||||
| 	fprintf(stdout,"                 means\n"); | ||||
| 	fprintf(stdout,"                   predefined EPB in MH, rs(64,32) from TPH 0 to TPH 2,\n"); | ||||
| 	fprintf(stdout,"                   CRC-16 in TPH 3 and TPH 4, no EPBs in remaining TPHs,\n"); | ||||
| 	fprintf(stdout,"                   CRC-16 in TPH 3 and TPH 4, CRC-32 in remaining TPHs,\n"); | ||||
| 	fprintf(stdout,"                   UEP rs(78,32) for packets 0 to 23 of tile 0,\n"); | ||||
| 	fprintf(stdout,"                   UEP rs(56,32) for packets 24 to the last of tile 0,\n"); | ||||
| 	fprintf(stdout,"                   UEP rs default for packets of tile 1,\n"); | ||||
| @@ -219,6 +219,11 @@ void encode_help_display() { | ||||
| 	fprintf(stdout,"                 means\n"); | ||||
| 	fprintf(stdout,"                   default protection to headers (MH and TPHs) as well as\n"); | ||||
| 	fprintf(stdout,"                   data packets, one ESD in MH\n"); | ||||
| 	fprintf(stdout,"\n"); | ||||
| 	fprintf(stdout,"                 N.B.: use the following recommendations when specifying\n"); | ||||
| 	fprintf(stdout,"                       the JPWL parameters list\n"); | ||||
| 	fprintf(stdout,"                   - when you use UEP, always pair the 'p' option with 'h'\n"); | ||||
| 	fprintf(stdout,"                 \n"); | ||||
| #endif /* USE_JPWL */ | ||||
| /* <<UniPG */ | ||||
| 	fprintf(stdout,"IMPORTANT:\n"); | ||||
|   | ||||
| @@ -61,8 +61,8 @@ LINK32=link.exe | ||||
| # PROP BASE Target_Dir "" | ||||
| # PROP Use_MFC 0 | ||||
| # PROP Use_Debug_Libraries 1 | ||||
| # PROP Output_Dir "JPWL_j2k_to_image___Win32_Debug" | ||||
| # PROP Intermediate_Dir "JPWL_j2k_to_image___Win32_Debug" | ||||
| # PROP Output_Dir "Debug" | ||||
| # PROP Intermediate_Dir "Debug" | ||||
| # PROP Ignore_Export_Lib 0 | ||||
| # PROP Target_Dir "" | ||||
| # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c | ||||
|   | ||||
| @@ -377,7 +377,7 @@ void jpwl_prepare_marks(opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image) { | ||||
| 		unsigned long sot_pos, post_sod_pos; | ||||
| 		unsigned long int left_THmarks_len, epbs_len = 0; | ||||
| 		int startpack = 0, stoppack = j2k->image_info->num; | ||||
| 		jpwl_epb_ms_t *tph_epb; | ||||
| 		jpwl_epb_ms_t *tph_epb = NULL; | ||||
|  | ||||
| 		sot_pos = j2k->image_info->tile[tileno].start_pos; | ||||
| 		cio_seek(cio, sot_pos + 2);  | ||||
| @@ -555,10 +555,10 @@ void jpwl_prepare_marks(opj_j2k_t *j2k, opj_cio_t *cio, opj_image_t *image) { | ||||
| 		} | ||||
|  | ||||
| 		/* we can now check if the TPH EPB was really the last one */ | ||||
| 		if (epb_index == 1) { | ||||
| 		if (tph_epb && (epb_index == 1)) { | ||||
| 			/* set the TPH EPB to be the last one in current header */ | ||||
| 			tph_epb->Depb |= (unsigned char) ((true & 0x0001) << 6); | ||||
|  | ||||
| 			tph_epb = NULL; | ||||
| 		} | ||||
|  | ||||
| 		/* write back Psot */ | ||||
|   | ||||
| @@ -1018,6 +1018,14 @@ bool jpwl_epb_correct(opj_j2k_t *j2k, unsigned char *buffer, int type, int pre_l | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 	} else if (Pepb == 0xFFFFFFFF) { | ||||
| 		/* no method */ | ||||
|  | ||||
| 		/* advance without doing anything */ | ||||
| 		remaining = L4; | ||||
| 		while (remaining--) | ||||
| 			L4_buf++; | ||||
|  | ||||
| 	} else if ((((Pepb & 0xF0000000) >> 28) == 2) || (((Pepb & 0xF0000000) >> 28) == 0)) { | ||||
| 		/* RS coding here */ | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Giuseppe Baruffa
					Giuseppe Baruffa