APOLLO & ECW/JP2 Discussions

Wondering how others have configured their ERDAS APOLLO server or what data they are crawling? The ERDAS APOLLO Discussion board is a place to find information, share ideas and more. Join the community, connect, contribute and share.
Showing results for 
Search instead for 
Do you mean 
Reply
Highlighted
New Contributor
Posts: 4
Registered: ‎10-31-2019
Accepted Solution

First codestream compatibility list in ftyp box always advertised as Profile 1

[ Edited ]

When using the ECW/JP2 v5.4.0 or earlier SDK to write JPEG2000 files, the JPEG2000 compatibility list in the `ftyp` box declares that the first codestream conforms to Profile 1 no matter which profile the first codestream actually belongs to.

 

In the old, non-closed v3 source of the SDK we used to be able to identify where this problem occurs:

 

 

 CNCSJP2File::CNCSJP2FileTypeBox::CNCSJP2FileTypeBox()
 {
 	// Initialise members
 	m_nTBox = sm_nTBox;
 	m_Brand = sm_JP2Brand;//'jpx\040';	// JPX Brand
 	m_nMinV = 0;
 	m_CLList.push_back(sm_JP2Brand);	// JPEG2000 Part 1 Compatible
 	m_CLList.push_back(0x4a325031/*'J2P1'*/);			// JPEG2000 Part 1 Profile 1 Compliant Codestream
...

Here, you could see that `m_CLList.push_back(0x4a325031/*'J2P1'*/)` unconditionally used.

 

 

In that older code, a possible fix would be to omit the `push_back` here and instead when setting the profile do something like:

 

 

			switch(m_Parameters[i].m_eParam) {
 			case JP2_COMPRESS_PROFILE_BASELINE_0:
 				m_pFile->m_eCompressionProfile = CNCSJPC::BASELINE_0;
 				m_pFile->m_FileType.m_CLList.push_back(0x4a325030); // J2P0
 				break;
 			case JP2_COMPRESS_PROFILE_BASELINE_1:
 				m_pFile->m_eCompressionProfile = CNCSJPC::BASELINE_1;
 				m_pFile->m_FileType.m_CLList.push_back(0x4a325031); // J2P1
 				break; // etc., etc.

It would be nice if future versions of the SDK did something like this to set the proper profile in the compatibility list.

 

Highlighted
New Contributor
Posts: 4
Registered: ‎10-31-2019

Re: First codestream compatibility list in ftyp box always advertised as Profile 1

No replies for 2 weeks: maybe I'm in the wrong place. Is there a more direct way to report bugs to the SDK developers?

Highlighted
Moderator
Posts: 274
Registered: ‎02-08-2016

Re: First codestream compatibility list in ftyp box always advertised as Profile 1

Hi jake.molnar,

 

If there is an actual bug that you can prove through code snippets the issue can be logged through our support system.

If it is a change or addition in functionality that you would like to see then our Ideas page would be the place to post.

 

Thanks,

Marc

Highlighted
New Contributor
Posts: 4
Registered: ‎10-31-2019

Re: First codestream compatibility list in ftyp box always advertised as Profile 1

Thanks Marc,

 

I just tried logging a ticket in the support system, but I couldn't find a product that corresponds to the ECW/JP2 SDK. What should I put for the "Product" and "Version" fields?

Highlighted
Technical Evangelist
Posts: 870
Registered: ‎07-30-2015

Re: First codestream compatibility list in ftyp box always advertised as Profile 1

Hi Jake,

 

I saw the support ticket, and will check your question with SDK development team.

 

best

haiyan