which resize function to use for 32 bit image

which resize function to use for 32 bit image

I have a image which format is RGBA. When resize it, ippiResize_8u_AC4R seems is the function to call. However I also see ippiResize_8u_C4R could do the job. Which function has better performance?

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

We use AC4 specificator for functions which consider forth channel as an alpha channel. No operation will be performed on alpha channel. Functions with C4 specificator process all four channels in the same way.

Vladimir

Quoting - gangli59
I have a image which format is RGBA. When resize it, ippiResize_8u_AC4R seems is the function to call. However I also see ippiResize_8u_C4R could do the job. Which function has better performance?

Thanks for the answer. I will use ippiResize_8u_AC4R.

For better performance on latest processor, youmay use ippiResizeSqrPixel_8u_AC4Rinsteadsince ippiResize* will bedeprecated in future release.

Here is one related KB article :http://software.intel.com/en-us/articles/deprecated-ipp-api-in-version-60/

Regards,
Ying

Quoting - (Intel)

For better performance on latest processor, youmay use ippiResizeSqrPixel_8u_AC4Rinsteadsince ippiResize* will bedeprecated in future release.

Here is one related KB article :http://software.intel.com/en-us/articles/deprecated-ipp-api-in-version-60/

Regards,
Ying

Thnks for point out. I tried ippiResizeSqr function. It 's performance is same as ippiResize. However the new function can resize to a regioninto target image. It is a big plus.

I work on a function to render an image to a DIBsection bitmap. Most of time the soruce image is 8/16/24 bits image, and the render target is a 32 bits DIB. I really hope the ippiResizeSqr can do color converting too.

Quoting - gangli59

Thnks for point out. I tried ippiResizeSqr function. It 's performance is same as ippiResize. However the new function can resize to a regioninto target image. It is a big plus.

I work on a function to render an image to a DIBsection bitmap. Most of time the soruce image is 8/16/24 bits image, and the render target is a 32 bits DIB. I really hope the ippiResizeSqr can do color converting too.

Just found out in my test, the ippiResizeSqrPixel_8u_C1R is 2% slower than ippiResize_8u_C1R. I was expected the newer function be faster!

The function performs only resize transform without any color converting.
Right, the performance of both functionalities is similar but only for single-thread task.
The function ippiResizeSqrPixel has been parallelized and shows 2-4 times better performance than ippiResize on the multi-core machines.

Thanks,
Yuri

Quoting - Yuri Tikhomirov (Intel)

The function performs only resize transform without any color converting.
Right, the performance of both functionalities is similar but only for single-thread task.
The function ippiResizeSqrPixel has been parallelized and shows 2-4 times better performance than ippiResize on the multi-core machines.

Thanks,
Yuri

I do ran the test on 4 cores machine, did not see any multi thread kick in. How do you turn on the multi thread feature? My test program is static linked to the merged library.

Hello,

IPP provided in both threaded and not threaded variants. Threaded variant is IP DLLs (they are always use internal threading) and threaded static libraries (those with '_t' in the name.

You probably use non threaded static libraries and that is why you do not see performance improvements on multi-core systems.

Regards,
Vladimir

Leave a Comment

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