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

## Is there an IPP function for this 3-rd interpolation function?

Beginner
188 Views
This is a standard 3rd order itnerpolation:

for (int iy=-2; iy<=3; iy++) {

y_coeff = interp_coef_y[iy+2];

x_interp_value = coefx0*pf[index_signal_start + 0] +

coefx1*pf[index_signal_start+1] +

coefx2*pf[index_signal_start+2] +

coefx3*pf[index_signal_start+3] +

coefx4*pf[index_signal_start+4] +

coefx5*pf[index_signal_start+5];

signal_value3 += y_coeff*x_interp_value;

index_signal_start += nx;

}

Is there an IPP function for this?

Thanks.

Employee
188 Views
Your "x_interp_value = ..." statement should be handled nicely by the DotProduct function:

http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/ippxe/ipp_manual_lnx/hh_goto.htm#IPPM/ippm_ch4/functn_DotProduct.htm

since you are essentially just multiplying two vectors together. One vector is contained in pf[] and the other is your list of coefficients (coefx0-5). With such a small vector you may not see much benefit from using an IPP function, due to the call overhead; but if the vectors are longer or you are doing large numbers of them, there may be an advantage.