Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Visual Studio 2005 and IPP

akulp
Beginner
552 Views
I am attempting to write a C# application using the .NET Compact Framework 2.0 (for Windows Mobile) and would like to leverage the IPP libraries for image compression/decompression. Is this a possible scenario? I'm assuming that it requires using P/Invoke as in the full .NET samples, but I didn't see any samples using .NET CF. Are there any samples available? What's the best way to get started?

Thanks!
0 Kudos
7 Replies
Vladimir_Dudnik
Employee
552 Views

Hello,

we provide a sample how to write C# wrappers above IPP functions. You also might be interested to see similar threads on this forum:

1. IPP and C#
2. Use of IJL Library in C# for creating JPEG images
3. IPP with C# : RGB Image histogram : HELP!
4. C# Wrappers for Ippi (image library) ?
5. IJG-IPP using C# for JPEG displaying
6. Example on how to call FFT in IPP from C#?
7. How do I FFT from C#? What is my code missing?
8. What's wrong with this C# FFT Class: Included is my source
9. Displaying a IplImage in C#.NET Winform
10. C# Wrappers using P/Invoke

Please feel free to express your ideas about what can be missed in samples we provide. Whatwas your main reason to look at IPP? Is it because of performance?

Regards,
Vladimir

Message Edited by vdudnik on 06-06-2006 04:17 PM

0 Kudos
Vladimir_Dudnik
Employee
552 Views

Please take a look on attached files (without MSVC solution file) provided by our engineer:

Regards,
Vladimir

0 Kudos
akulp
Beginner
552 Views
Vladimir,

Thanks for the response. Many of the links you provided are questions with no answers, but they all seem to relate to .NET development on the desktop. I am specifically interested in Windows Mobile development with the .NET Compact Framework 2.0 (for the Pocket PC) using Visual Studio 2005. I have seen several references to Pocket PC coding on the forums, but I can't figure out where to download the libraries (or if they are part of the IPP download, which ones). I was also hoping that you had a sample that could be deployed to Pocket PC. The IPP samples fail on Pocket PC due to the "SuppressUnmanagedCodeSecurityAttribute" attribute missing in the Compact Framework, and some other attributes. I changed those around, but I'm still not sure of which DLL's to copy.

Question 1: Is .NET Compact Framework 2.0 on the Pocket PC a supported environment for IPP?

Question 2: Is there a specific download for DLL's and samples for .NET Compact Framework 2.0 on the Pocket PC, or do I have what I need?

Thanks!
0 Kudos
Vladimir_Dudnik
Employee
552 Views
IPP libraries should work with .NET Compact Framework 2.0. Unfortunately we do not provide any specific example for that, I'll ask if engineers can develop some simple demonstartion of that. Did you look at files I've attached in previous post? It was exactly attempt to providesuch sample,just without MSVC project, which you should be able to create by yourself. You need to download IPP for IXP WinCE if you did not do that yet.
Vladimir
0 Kudos
akulp
Beginner
552 Views
To be specific, in Intel Premier Support downloads, is it:

w_ipp_ixp_p_5.1.017.exe
"Intel IPP 5.1 for Windows* on Intel IXP4XX Network Processor Family"

I ask because it says "Windows" without the "CE" qualifier.

Thanks!
0 Kudos
akulp
Beginner
552 Views
I should have also stated, there is another download:

w_ipp_pca_wmmx_p_5.0.2.001.exe
"Intel IPP 5.0.2 for Windows* Mobile 5 and Windows* Mobile 2003 for Pocket PC on Intel PCA Processors with Wireless MMX Technology Package (PXA27X processors)"

This seemed to make more sense, but it says PCA instead of IXP. When I installed it, it just seemed to be an update package to 5.0.2 of IPP. Sorry, but at this point I'm just a bit confused!

What's my best route for developing .NET software for Windows XP, then to easily port that software to Pocket PC? A whitepaper/sample or two for Pocket PC development would be very helpful!

Thanks!
0 Kudos
Vladimir_Dudnik
Employee
552 Views

thanks for providing details. There is several IPP packages for different arhitectures (like IA32, EM64T, Itanium, IXP and PCA). IPP for PCA have no updates for v5.1 and so it still version 5.0. Note, IPP for PCA is indended for PCA27x based systems and will not be run on PCA25x processors. IPP for IXP will work on IXP42x and PCA25x/27x. The only limitation is that IPP for IXP does not contain WMMX optimized code.

To use IPP with .NET on PocketPC you basically need to do three steps:

1. create custom DLL, which contains only functions you need in your application. See appropriate IPP sample, which demonstrate how to create custom DLL from IPP static libraries

2. you need to create C++ wrappers for C functions exported from your custom DLL. See attached sample.

3.link your application with that DLL and this should work

Regards,
Vladimir

0 Kudos
Reply