Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Gang_B_
Beginner
107 Views

Bilateral filter performance issue

Hi, ExpertsI had test Bilateral filter in ipp with ippiFilterBilateralGauss and ippiFilterBilateralGaussFast option. But found the performance of ippiFilterBilateralGaussFast is slower than ippiFilterBilateralGauss.

For 1080p 3 channels image on i7-6700k CPU and the latest version of IPP, ippiFilterBilateralGauss cost 10ms to process 1 frame, but ippiFilterBilateralGaussFast cost  500ms to process 1 frame.

Why ippiFilterBilateralGaussFast is slower than ippiFilterBilateralGauss?

Code is as follows:

status = ippiFilterBilateralBorderGetBufferSize_L(filter, size, radius, dataType, channels, distMethod, &specSize, &tmpBufferSize);
status = ippiFilterBilateralBorderInit_L(filter, size, radius, dataType, channels, distMethod, valSquareSigma, posSquareSigma, pSpec);
status = ippiFilterBilateralBorder_8u_C3R_L((Ipp8u*)pSrc, srcStep, (Ipp8u*)pDst, dstStep, size, border, OWN_GET_BORDER_VALP(8u, 3), pSpec, pTmpBuffer); 

0 Kudos
6 Replies
Gennady_F_Intel
Moderator
107 Views

which version of IPP do you use?

Gang_B_
Beginner
107 Views

IPP_VERSION_STR "2019.0.2" Windows version. 

Did you test the filter before? How about the performance?

Gennady F. (Intel) wrote:

which version of IPP do you use?

Gennady_F_Intel
Moderator
107 Views

did you check the status value after each of these function call? 

Igor_A_Intel
Employee
107 Views

Hi Gang,

why do you use " ippiFilterBilateralGaussFast"filter type? In the chapter (IPPI manual) devoted to Bilateral filter the only one possible value is described: " ippiFilterBilateralGauss". If you check IPP function status after initialization attempt with " ippiFilterBilateralGaussFast" - you'll see that it is not supported. I'm curious how you've obtained 500 ms per frame if the function does nothing in this case - you should get 0 ms (I guess).

regards, Igor

Gang_B_
Beginner
107 Views

Hi, Igor 

You are right. I checked the returned value, it's 14. 

#define ippStsNotSupportedModeErr          -14 /* The requested mode is currently not supported. */

And actually, it cost 500ms and then return this value. 

Intel had defined ippiFilterBilateralGaussFast several years before, when Intel will support ippiFilterBilateralGaussFast?

Igor Astakhov (Intel) wrote:

Hi Gang,

why do you use " ippiFilterBilateralGaussFast"filter type? In the chapter (IPPI manual) devoted to Bilateral filter the only one possible value is described: " ippiFilterBilateralGauss". If you check IPP function status after initialization attempt with " ippiFilterBilateralGaussFast" - you'll see that it is not supported. I'm curious how you've obtained 500 ms per frame if the function does nothing in this case - you should get 0 ms (I guess).

regards, Igor

Gang_B_
Beginner
107 Views

hi, Gennady

I checked the status, its -14. 

#define ippStsNotSupportedModeErr          -14 /* The requested mode is currently not supported. */

Intel had defined ippiFilterBilateralGaussFast for several years. When intel will implement it?

Gennady F. (Intel) wrote:

did you check the status value after each of these function call? 

Reply