Intel® Integrated Performance Primitives

Intel® IPP 9.0 Update 1 is available

Intel® IPP 9.0 is now available.  The release added the new Intel® AVX-512 optimization for the computer vision and image processing functions, extended optimization for Intel® Atom™ and Intel® Quark™ processors, and included the new APIs to support external threading.

What's New in Intel® IPP 9.0 Update 1:

Jpeg2000 encode not lossless


I'm using uic samplecode(Jpeg2000codec) (I know that conde is already not supported)

I tried  an Jpeg2000 Image(All pixcel data is 1000) decoding → encoding(lossless).

but the pixcel data is differntfrom before decoding .

parameter of PARAMS_JPEG2K

1.useMCT = 0

2.quality = 100

3.mode  0(lossless)

4.wt = 0(WT53)

by the way ,I'm just wondering ippiEncodeGetDist_JPEG2K work.

I expected the highest distortion value appear around nOfPasses.

but it appears when i == 8 (nOfPasses  =43).

Build OpenCV with IPP 8.1


I have a build environment where I am required to use IPP 8.1    I need to rebuild the OpenCV library to use IPP 8.1.  It was previously compiled with IPP 7.1.  Is OpenCV compatible with IPP 8.1 or do I need to go to a later version?    I am aware that OpenCV 3.0 comes with IPP 9.0 integrated but I don't get that choice.  We are running RedHat Linux 6.x on an x86_64 platform.




ippiFilterMin_16u_C1R crashed (IPP 8.2)

Could you please point me where I made a mistake doing ippiFilterMin_16u_C1R? Demo code below.

	int mskSizeX = 3;
	int mskSizeY = 3;
	IppiSize roi={(int)imageW - (mskSizeX - 1),(int)imageH - (mskSizeY -1)}, mask={mskSizeX,mskSizeY};
	IppiPoint anchor =  {mskSizeX/2, mskSizeY/2};

	int stepBytes;
	int stepBytesf;
	Ipp16u* d_image1 = ippiMalloc_16u_C1(imageW, imageH, &stepBytes);
	Ipp16u* d_image2 = ippiMalloc_16u_C1(imageW, imageH, &stepBytes);
	Ipp16u* d_image11 = ippiMalloc_16u_C1(imageW, imageH, &stepBytes);

Using in Linux Kernel Module and Windows Driver?


Using 7.0.x I'm able to use the px/mx generic versions no problems in Kernel mode for both Linux/Windows.   I'm thinking of moving up to 7.1.x (don't want to break too much stuff) and there is no px/mx available.   I recall reading somewhere you can't use SSE2 or anything that does task switching  in Linux kernel and for Windows x64 kernel the MMX registers.   So the question is, is that true and if so does that mean kernel modes stuck at staying with px/mx versions from 7.0.x ?   Would be using for encryption and/or compression.  No floating point.

resizing an image by duplicating pixels



I want to resize an image in a particular way that duplicates a pixel vertically and horizontally. For example

source image                       destination image

    1   2                                    1   1   2   2

    3   4                                    1   1   2   2

                                              3   3   4   4

                                              3   3   4   4

Is there an IPP function that can do this?








Assine o Intel® Integrated Performance Primitives