Actuallyinteger overflow happensduring calculation internal table.In the next release of IPP function will return error state in suchsituation.
(4 * (Ipp64s)numTaps * downFactor + downPhase) < IPP_MAX_32S
The nearest fixin next IPPrelease will check this condition and return error state.
It would be nice to have that condition in a header file. Now it is clear whyan error happened:
( 4 * 1 * 23999 * 24000 )= 2,303,904,000 > 2,147,483,647
[Updated by SergeyK] Something is wrong with the condition...
Could you verify the condition, please? I just noticed that something iswrong. A couple ofmore things:
1. The function 'ippsFIRMRInitAlloc_64f' has7 input argumentsand 1 output argument ( pfState ).
st = ::ippsFIRMRInitAlloc_64f( &pfState, pfTaps, iTapsLen, iUpFactor, iUpPhase, iDownFactor, iDownPhase, pfDelayLine );
I underlined input arguments with numerical values and I thinkthey have to be taken into accountin
case of verifications.
2. The problem is reproducible with IPP libraries down to version 3.x.