Is JPEG2000 supported on Intel PXA27x Processors?

Is JPEG2000 supported on Intel PXA27x Processors?

Hi,

Can anyone tell me if JPEG2000 is supported on Intel PXA27x Processors? I need to do JPEG2000 encoding/decoding on a Dell Axim PDA. Sample code would be very much appreciated.

Thanks in advance,
Sky.

15 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Sky,

Fortunately, you come to the right place:)

Our JPEG2000 codec Linux sample supports IXP425 processors. That means that even in spite of the fact that there is no WMMX optimization in IPP JPEG2000 functions, codec can be used on PXA270 processors as well. Please visit IPP Samples Page to download JPEG sample. Note, you also need to get IPP for IXP for Linuxin order to be able to build this sample.

Regards,
Vladimir

Hi Vladimir,
First of all, thanks foryour promptreply.

I am using windows xp as host machine, so I downloaded the IPP sample for JPEG 2000 for windows instead of linux. No problem with the building and executing.

Now, I wish to port this to work on PXA27x processors. I read that IPP has a common api for different targetted platforms. So, I assume I don't have to change any of the function calls. However, I suppose I need to change some of the header files and also link with the correct libraries for PXA27x ? Is there a simple direct mapping of "window version's" header filesand libraries to "handheld version's" header files and libraries?

Regards,
Sky.

Hi Sky,

We not released WinCE v4.0 for Xscale version of JPEG2000 sample because there is limitation in STL(standard template library) support in MS EVC v4.0. We use STL mostly in implementation of errors and warnings reporting. If you want to port this sample on WinCE by yourself, you need to download IPP for IXP libraries and headers. It provides simple more-less direct mapping you are looking for.I did not say just direct mapping because IPP for IXP does not provide functions for Ipp32f and Ipp64f data types due to target architecture limitation.

Regards,
Vladimir

Ok got it. Thanks alot for your info. Will give it a shot. :smileyvery-happy:

Regards,
Sky.

Hello,

I just realized that the entropy encoding/decoding functions for JPEG2000 are not implemented in the library for Intel PXA27x processors. Do you have any intention to implement it in the near future? Alternatively, maybe you have some beta versions of it already?

Regards,
Sky.

Hi Sky,

I mean you can use IPP for IXP. It does not contains WMMX optimization, but it contains all the functions needed for JPEG2000 codec. We have sample for linux which you can try to use

Regards,
Vladimir

Hi, Vladimir and Sky,

I am trying to work on the same problem.Currently, I use "#define XSCALE" tonarrow down the scope of the codeto those relevant to xscale processor only.

However, I encounter awhole bunchof linker errors when I am trying to use ipp for ixp to compile the windows JPEG2000 example. Some typical errors read like

1>dsubband.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)

Is there anything tricky I have left out? May I know if there is any significant difference between the ia32 and the ixp library? Any sugguestions or walkaround to this problem?

Many thanks,

Yin

Message Edited by sunyin on 02-27-2006 01:00 AM

Message Edited by sunyin on 02-27-2006 01:00 AM

Message Edited by sunyin on 02-27-2006 02:19 AM

Hi, Vladimir and Sky,

I am trying to work on the same problem.Currently, I use "#define XSCALE" tonarrow down the scope of the codeto those relevant to xscale processor only.

However, I encounter awhole bunchof linker errors when I am trying to use ipp for ixp to compile the windows JPEG2000 example. Some typical errors read like

1>dsubband.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)

1>j2kit.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)

1>mepnm.obj : error LNK2001: unresolved external symbol "void __cdecl `eh vector destructor iterator'(void *,unsigned int,int,void (__cdecl*)(void *))" (??_M@YAXPAXIHP6AX0@Z@Z)

1>etile.obj : error LNK2001: unresolved external symbol "void __cdecl `eh vector destructor iterator'(void *,unsigned int,int,void (__cdecl*)(void *))" (??_M@YAXPAXIHP6AX0@Z@Z)

1>etilecomp.obj : error LNK2001: unresolved external symbol "void __cdecl `eh vector destructor iterator'(void *,unsigned int,int,void (__cdecl*)(void *))" (??_M@YAXPAXIHP6AX0@Z@Z)

1>jp2tileprogriterator.obj : error LNK2001: unresolved external symbol "void __cdecl `eh vector destructor iterator'(void *,unsigned int,int,void (__cdecl*)(void *))" (??_M@YAXPAXIHP6AX0@Z@Z)

1>mdjp2.obj : error LNK2001: unresolved external symbol "void __cdecl `eh vector destructor iterator'(void *,unsigned int,int,void (__cdecl*)(void *))" (??_M@YAXPAXIHP6AX0@Z@Z)

1>mapfile.obj : error LNK2019: unresolved external symbol sysMemoryMapCreate referenced in function "public: void __cdecl MapFile::Open(char const *)" (?Open@MapFile@@QAAXPBD@Z)

Is it due to the missing support for STL or is there anything tricky I have left out? How to walk around this problem?

Many thanks,

Yin

Message Edited by sunyin on 02-27-2006 02:24 AM

Hi, Vladimir and Sky,
I am trying to work on the same problem. Currently, I use "#define XSCALE" to narrow down the scope of the code to those relevant to xscale processor only.

However, I encounter a whole bunch of linker errors when I am trying to use ipp for ixp to compile the windows JPEG2000 example. Some typical errors read like

1>dsubband.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)

1>etilecomp.obj : error LNK2001: unresolved external symbol "void __cdecl `eh vector destructor iterator'(void *,unsigned int,int,void (__cdecl*)(void *))" (??_M@YAXPAXIHP6AX0@Z@Z)

Is it due to the missing support for STL? Is there anything tricky I have left out? May I know if there is any significant difference between the ia32 and the ixp library? Any sugguestions or walkaround to this problem?

Many thanks,

Yin

Hi Yin,

yes, MSeVC v4.0 SP2 has limited support for STL (or even do not have it at all). So, it probably to difficult to port this sample to WinCE, but we provide JPEG2000 sample for MontaVista Linux on IXP for both little-endian and big-endian arhitectures.

The main difference between IPP for IA and IPP for IXP is limited support for Ipp32f and Ipp64f data types in IPP for IXP because of target platform has no hw match co-processor.

Regards,
Vladimir

Hi, Vladimir,

Thanks for the reply! However, I will still be using Windows for development. Is that possible to work directly with the linux example sourcecode under windows?Is thereany neccessary modifications that I have to made if I use IPP for IXP under Windows?

Many thanks,

Yin

JPEG2000 sample is cross-platform, it supports win32, win64, winem64t, linux32, linux64, linuxem64t, linux_le and linux_be on IXP. So, there is nothing special to port it. But the problem is limitation of compiler for WindowsCE. To workaround that you need to remove STL using from JPEG2000 sources. It can be too difficult. Probably you can try to compile this sample with MSVC2005, it should support Xscale, but we did not tested that.

Regards,
Vladimir

Actually I am using VS2005 and pocketpc 2003 SDK. It compiles but got linker errors. Currently I only linked with the set of static libraries found in IPP IXP, could it be a problem?

Regards,

Yin

No, I don't think linkage model is a problem. Unfortunately we do not tested sample on WinCE

Vladimir

Leave a Comment

Please sign in to add a comment. Not a member? Join today