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

Matrix Subtraction

alon_b_
Beginner
327 Views

Hey,

This is probably an obvious question..

I have an operation I'd like to optimize with intel.

currently the input and output are 8 bit matrices, and I'd like the output to be the subtraction of those 2 matrices.

It seems obvious to me that the output would have to be at least 16 bit..

what is the ipp function to do it? I'm looking around the ippmSub but can't seem to find it.

 

Thanks,

Alon

0 Kudos
3 Replies
Gennady_F_Intel
Moderator
327 Views

pls look at the image processing functions: Subtracts pixel values of two images. -   ippiSub_*.*

0 Kudos
alon_b_
Beginner
327 Views

But as I said, Input bits and output bits are same count, how is overflow handled?

0-256 = -256

256-0 = 256.

you need 16 bits for 8 bit subtraction.

0 Kudos
Igor_A_Intel
Employee
327 Views

Hi Alon,

IPP for integer data works with saturation - therefore for 0-256 you'll get 0. If you need precise result - yes, you are right, you should convert both sources to 16s (for example with ippiConvert_8u16s_CxR) and then use ippiSub for 16s data type.

regards, Igor

0 Kudos
Reply