Developer Reference for Intel® Integrated Performance Primitives 2018

Error Reporting

The Intel IPP functions return the status of the performed operation to report errors and warnings to the calling program. The last value of the error status is not stored, and you need to decide whether to check it or not as the function returns. The status values are of the IppStatus type and are global constant integers.

The following table lists status codes and corresponding messages reported by Intel IPP for signal processing.

Error Status Values and Messages 
Status Message
ippStsCpuNotSupportedErr The target cpu is not supported.
ippStsPointAtInfinity Point at infinity is detected.
ippStsI18nUnsupportedErr Internationalization (i18n) is not supported.
ippStsI18nMsgCatalogOpenErr Message Catalog cannot be opened. For detailed information, use errno on Linux* OS and GetLastError on Windows* OS.
ippStsI18nMsgCatalogCloseErr Message Catalog cannot be closed. For detailed information, use errno on Linux* OS and GetLastError for Windows* OS.
ippStsUnknownStatusCodeErr Unknown status code.
ippStsOFBSizeErr Wrong value for crypto OFB block size.
ippStsLzoBrokenStreamErr LZO safe decompression function cannot decode LZO stream.
ippStsRoundModeNotSupportedErr Rounding mode is not supported.
ippStsMaxLenHuffCodeErr Huff: Max length of the Huffman code is more than the expected one.
ippStsCodeLenTableErr Huff: Invalid codeLenTable.
ippStsFreqTableErr Huff: Invalid freqTable.
ippStsRegExpOptionsErr RegExp: Options for the pattern are incorrect.
ippStsRegExpErr RegExp: The structure pRegExpState contains wrong data.
ippStsRegExpMatchLimitErr RegExp: The match limit has been exhausted.
ippStsRegExpQuantifierErr RegExp: Incorrect quantifier.
ippStsRegExpGroupingErr RegExp: Incorrect grouping.
ippStsRegExpBackRefErr RegExp: Incorrect back reference.
ippStsRegExpChClassErr RegExp: Incorrect character class.
ippStsRegExpMetaChErr RegExp: Icnorrect metacharacter.
ippStsMP3FrameHeaderErr Error in fields of the IppMP3FrameHeader structure.
ippStsMP3SideInfoErr Error in fields of the IppMP3SideInfo structure.
ippStsAacPrgNumErr AAC: Invalid number of elements for one program.
ippStsAacSectCbErr AAC: Invalid section codebook.
ippStsAacSfValErr AAC: Invalid scalefactor value.
ippStsAacCoefValErr AAC: Invalid quantized coefficient value.
ippStsAacMaxSfbErr AAC: Invalid coefficient index.
ippStsAacPredSfbErr AAC: Invalid predicted coefficient index.
ippStsAacPlsDataErr AAC: Invalid pulse data attributes.
ippStsAacGainCtrErr AAC: Gain control is not supported.
ippStsAacSectErr AAC: Invalid number of sections.
ippStsAacTnsNumFiltErr AAC: Invalid number of TNS filters.
ippStsAacTnsLenErr AAC: Invalid length of TNS region.
ippStsAacTnsOrderErr AAC: Invalid order of TNS filter.
ippStsAacTnsCoefResErr AAC: Invalid bit-resolution for TNS filter coefficients.
ippStsAacTnsCoefErr AAC: Invalid coefficients of TNS filter.
ippStsAacTnsDirectErr AAC: Invalid direction of TNS filter.
ippStsAacTnsProfileErr AAC: Invalid TNS profile.
ippStsAacErr AAC: Internal error.
ippStsAacBitOffsetErr AAC: Invalid current bit offset in bitstream.
ippStsAacAdtsSyncWordErr AAC: Invalid ADTS syncword.
ippStsAacSmplRateIdxErr AAC: Invalid sample rate index.
ippStsAacWinLenErr AAC: Invalid window length (not short or long).
ippStsAacWinGrpErr AAC: Invalid number of groups for current window length.
ippStsAacWinSeqErr AAC: Invalid window sequence range.
ippStsAacComWinErr AAC: Invalid common window flag.
ippStsAacStereoMaskErr AAC: Invalid stereo mask.
ippStsAacChanErr AAC: Invalid channel number.
ippStsAacMonoStereoErr AAC: Invalid mono-stereo flag.
ippStsAacStereoLayerErr AAC: Invalid Stereo Layer flag.
ippStsAacMonoLayerErr AAC: Invalid Mono Layer flag.
ippStsAacScalableErr AAC: Invalid scalable object flag.
ippStsAacObjTypeErr AAC: Invalid audio object type.
ippStsAacWinShapeErr AAC: Invalid window shape.
ippStsAacPcmModeErr AAC: Invalid PCM output interleaving indicator.
ippStsVLCUsrTblHeaderErr VLC: Invalid header inside table.
ippStsVLCUsrTblUnsupportedFmtErr VLC: Table format is not supported.
ippStsVLCUsrTblEscAlgTypeErr VLC: Ecs-algorithm is not supported.
ippStsVLCUsrTblEscCodeLengthErr VLC: Esc-code length inside table header is incorrect.
ippStsVLCUsrTblCodeLengthErr VLC: Code length inside table is incorrect.
ippStsVLCInternalTblErr VLC: Invalid internal table.
ippStsVLCInputDataErr VLC: Invalid input data.
ippStsVLCAACEscCodeLengthErr VLC: Invalid AAC-Esc code length.
ippStsIncorrectLSPErr Incorrect values for linear spectral pair.
ippStsNoRootFoundErr No roots are found for equation.
ippStsLengthErr Incorrect value for string length.
ippStsFBankFreqErr Incorrect value for the filter bank frequency parameter.
ippStsFBankFlagErr Incorrect value for the filter bank parameter.
ippStsFBankErr Filter bank is not correctly initialized.
ippStsNegOccErr Ocupation count is negative.
ippStsCdbkFlagErr Incorrect value for the codebook flag parameter.
ippStsSVDCnvgErr No convergence of the SVD algorithm.
ippStsToneMagnErr Tone magnitude is less than or equal to zero.
ippStsToneFreqErr Tone frequency is negative, or greater than or equal to 0.5.
ippStsTonePhaseErr Tone phase is negative, or greater than or equal to 2*PI.
ippStsTrnglMagnErr Triangle magnitude is less than or equal to zero.
ippStsTrnglFreqErr Triangle frequency is negative, or greater than or equal to 0.5.
ippStsTrnglPhaseErr Triangle phase is negative, or greater than or equal to 2*PI.
ippStsTrnglAsymErr Triangle asymmetry is less than -PI, or greater than or equal to PI.
ippStsHugeWinErr The Kaiser window is too big.
ippStsJaehneErr Magnitude value is negative.
ippStsStepErr Step value is not valid.
ippStsDlyLineIndexErr Invalid value for the delay line sample index.
ippStsStrideErr Stride value is less than length of the row.
ippStsEpsValErr Negative epsilon value.
ippStsScaleRangeErr Scale bounds are out of range.
ippStsThresholdErr Invalid threshold bounds.
ippStsWtOffsetErr Invalid offset value for wavelet filter.
ippStsAnchorErr Anchor point is outside the mask.
ippStsMaskSizeErr Invalid mask size.
ippStsShiftErr Shift value is less than zero.
ippStsSampleFactorErr Sampling factor is less than or equal to zero.
ippStsSamplePhaseErr Phase value is out of range, 0 ≤ phase < factor.
ippStsFIRMRFactorErr MR FIR sampling factor is less than or equal to zero.
ippStsFIRMRPhaseErr MR FIR sampling phase parameter is negative, or greater than or equal to the sampling factor.
ippStsRelFreqErr Relative frequency value is out of range.
ippStsFIRLenErr Length of the FIR filter is less than or equal to zero.
ippStsIIROrderErr Order of the IIR filter is not valid.
ippStsResizeFactorErr Resize factor(s) is less than or equal to zero.
ippStsDivByZeroErr An attempt to divide by zero.
ippStsInterpolationErr Invalid interpolation mode.
ippStsMirrorFlipErr Invalid flip mode.
ippStsMoment00ZeroErr Moment value M(0,0) is too small to continue calculations.
ippStsThreshNegLevelErr Negative value of the level in the threshold operation.
ippStsContextMatchErr Context parameter does not match the operation.
ippStsFftFlagErr Invalid value for the FFT flag parameter.
ippStsFftOrderErr Invalid value for the FFT order parameter.
ippStsMemAllocErr Not enough memory for the operation.
ippStsNullPtrErr Null pointer error.
ippStsSizeErr Incorrect value for data size.
ippStsBadArgErr Incorrect argument/parameter of the function.
ippStsErr Unknown/unspecified error.
ippStsNoErr No errors.
ippStsNoOperation No operation has been executed.
ippStsMisalignedBuf Misaligned pointer in operation in which it must be aligned.
ippStsSqrtNegArg Negative value(s) of the argument in the function Sqrt.
ippStsInvByZero INF result. Zero value was met by InvThresh with zero level.
ippStsEvenMedianMaskSize Even size of the Median Filter mask was replaced by the odd one.
ippStsDivByZero Zero value(s) of the divisor in the function Div.
ippStsLnZeroArg Zero value(s) of the argument in the function Ln.
ippStsLnNegArg Negative value(s) of the argument in the function Ln.
ippStsNanArg Argument value is not a number.
ippStsResFloor All result values are floored.
ippStsOverflow Overflow in the operation.
ippStsZeroOcc Zero occupation count.
ippStsUnderflow Underflow in the operation.
ippStsSingularity Singularity in the operation.
ippStsDomain Argument is out of the function domain.
ippStsNotIntelCpu The target cpu is not Genuine Intel.
ippStsCpuMismatch Cannot set the library for the given cpu.
ippStsNotIppFunctionFound Application does not contain Intel IPP function calls.
ippStsDllNotFoundBestUsed Dispatcher cannot find the newest version of Intel IPP DLLs.
ippStsNoOperationInDll The function does nothing in the dynamic version of the library.
ippStsOvermuchStrings Number of destination strings is more than expected.
ippStsOverlongString Length of one of the destination strings is more than expected.
ippStsSrcSizeLessExpected DC: The size of source buffer is less than the expected one.
ippStsDstSizeLessExpected DC: The size of destination buffer is less than the expected one.
ippStsNotSupportedCpu The CPU is not supported.
ippStsUnkhownCacheSize The CPU is supported, but the size of the cache is unknown.
ippStsAlgTypeErr The algorithm type is not supported.

*)

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

The status codes ending with Err (except for the ippStsNoErr status) indicate an error; the integer values of these codes are negative. When an error occurs, the function execution is interrupted. All other status codes indicate warnings. When a specific case is encountered, the function execution is completed and the corresponding warning status is returned.

For example, if the integer function ippsDiv_8u meets an attempt to divide a positive value by zero, the function execution is not interrupted. The result of the operation is set to the maximum value that can be represented by the source data type, and the function returns the warning status ippStsDivByZero. This is the case for the vector-vector operation ippsDiv. For the vector-scalar division operation ippsDivC, the function behavior is different: if the constant divisor is zero, then the function stops execution and returns immediately with the error status ippStsDivByZeroErr.