Intel® Integrated Performance Primitives Developer Guide and Reference

ID 790148
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Error Reporting

The Intel IPP functions return status codes of the performed operation to report errors and warnings to the calling program. Thus, it is up to the application to perform error-related actions and/or recover from the error. The last value of the error status is not stored, and the user is to decide whether to check it or not as the function returns. The status codes are of IppStatus type and are global constant integers.

The status codes and corresponding messages reported by Intel IPP for image and video processing are listed in Table Status Codes and Messages.

Status Codes and Messages
Status Code Message
ippStsNotSupportedModeErr The requested mode is currently not supported.
ippStsDecimateFractionErr Unsupported fraction in decimate.
ippStsWeightErr Incorrect value for weight.
ippStsQualityIndexErr Quality Index cannot be calculated for an image filled with a constant.
ippStsResizeNoOperationErr One of the output image dimensions is less than 1 pixel.
ippStsBlockStepErr Step for Block is less than 8.
ippStsMBStepErr Step for MB is less than 16.
ippStsNoiseRangeErr Noise value for Wiener Filter is out of range.
ippStsLPCCalcErr Cannot evaluate linear prediction.
ippStsJPEG2KBadPassNumber Pass number exceeds the limits of [0,nOfPasses-1].
ippStsJPEG2KDamagedCodeBlock Codeblock for decoding is damaged.
ippStsH263CBPYCodeErr Illegal Huffman code is detected during CBPY stream processing.
ippStsH263MCBPCInterCodeErr Illegal Huffman code is detected during MCBPC Inter stream processing.
ippStsH263MCBPCIntraCodeErr Illegal Huffman code is detected during MCBPC Intra stream processing.
ippStsNotEvenStepErr Step value is not pixel multiple.
ippStsHistoNofLevelsErr Number of levels for histogram is less than 2.
ippStsLUTNofLevelsErr Number of levels for LUT is less than 2.
ippStsMP4BitOffsetErr Incorrect value for bit offset.
ippStsMP4QPErr Incorrect value for quantization parameter.
ippStsMP4BlockIdxErr Incorrect value for block index.
ippStsMP4BlockTypeErr Incorrect block type.
ippStsMP4MVCodeErr Illegal Huffman code is detected during MV stream processing.
ippStsMP4VLCCodeErr Illegal Huffman code is detected during VLC stream processing.
ippStsMP4DCCodeErr Illegal code is detected during DC stream processing.
ippStsMP4FcodeErr Incorrect value for fcode.
ippStsMP4AlignErr Incorrect buffer alignment.
ippStsMP4TempDiffErr Incorrect temporal difference.
ippStsMP4BlockSizeErr Incorrect size of block or macroblock.
ippStsMP4ZeroBABErr All BAB values are equal to zero.
ippStsMP4PredDirErr Incorrect prediction direction.
ippStsMP4BitsPerPixelErr Incorrect number of bits per pixel.
ippStsMP4VideoCompModeErr Incorrect video component mode.
ippStsMP4LinearModeErr Incorrect DC linear mode.
ippStsH263PredModeErr Incorrect value for Prediction Mode.
ippStsH263BlockStepErr The step value is less than 8.
ippStsH263MBStepErr The step value is less than 16.
ippStsH263FrameWidthErr The frame width is less than 8.
ippStsH263FrameHeightErr The frame height is less than, or equal to zero.
ippStsH263ExpandPelsErr The expand pixels number is less than 8.
ippStsH263PlaneStepErr Step value is less than the plane width.
ippStsH263QuantErr Quantizer value is less than, or equal to zero, or more than 31.
ippStsH263MVCodeErr Illegal Huffman code is detetcted during MV stream processing.
ippStsH263VLCCodeErr Illegal Huffman code is detetcted during VLC stream processing.
ippStsH263DCCodeErr Illegal code is detetcted during DC stream processing.
ippStsH263ZigzagLenErr Zigzag compact length is more than 64.
ippStsJPEGHuffTableErr JPEG Huffman table is destroyed.
ippStsJPEGDCTRangeErr JPEG DCT coefficient is out of range.
ippStsJPEGOutOfBufErr An attempt to access out of the buffer.
ippStsChannelOrderErr Incorrect order of the destination channels.
ippStsZeroMaskValueErr All values of the mask are equal to zero.
ippStsRangeErr Incorrect values for bounds: the lower bound is greater than the upper bound.
ippStsQPErr Incorrect value for a quantizer parameter.
ippStsQuadErr The quadrangle is nonconvex or degenerates into triangle, line, or point.
ippStsRectErr Size of the rectangular region is less than, or equal to 1.
ippStsCoeffErr Incorrect values for the transformation coefficients.
ippStsNoiseValErr Incorrect value for the noise amplitude for dithering.
ippStsDitherLevelsErr Number of dithering levels is out of range.
ippStsNumChannelsErr Incorrect or unsupported number of channels.
ippStsDataTypeErr Incorrect or unsupported data type.
ippStsCOIErr COI is out of range.
ippStsOutOfRangeErr Argument is out of range or point is outside the image.
ippStsDivisorErr Divisor is equal to zero, function is aborted.
ippStsAlphaTypeErr Illegal type of image composition operation.
ippStsGammaRangeErr Gamma range bound is less than, or equal to zero.
ippStsGrayCoefSumErr Sum of the conversion coefficients must be less than, or equal to 1.
ippStsChannelErr Illegal channel number.
ippStsJaehneErr Magnitude value is negative.
ippStsStepErr Step value is less than, or equal to zero.
ippStsStrideErr Stride value is less than the row length.
ippStsEpsValErr Negative epsilon value.
ippStsScaleRangeErr Scale bounds are out of range.
ippStsThresholdErr Invalid threshold bounds.
ippStsWtOffsetErr Invalid offset value for the 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.
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 of the FFT flag parameter.
ippStsFftOrderErr Invalid value of the FFT order parameter.
ippStsMemAllocErr Not enough memory for the operation.
ippStsNullPtrErr Pointer is NULL.
ippStsSizeErr Wrong value for the data size.
ippStsBadArgErr Invalid or bad argument.
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.
ippStsInvZero INF result. Zero value was met by InvThresh with zero level.
ippStsEvenMedianMaskSize Even size of the Median Filter mask was replaced by the odd number.
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.
ippStsDoubleSize Sizes of image are not multiples of 2.
ippStsJPEGMarker JPEG marker in the bitstream.
ippStsResFloor All result values are floored.
ippStsAffineQuadChanged The fourth ertex of destination quad is not equal to the customer's one.
ippStsWrongIntersectROI Incorrect ROI that has no intersection with the source or destination image. No operation.
ippStsWrongIntersectQuad Incorrect quadrangle that has no intersection with the source or destination ROI. No operation.
ippStsSymKernelExpected The kernel is not symmetric.
ippStsEvenMedianWeight Even weight of the Weighted Median Filter was replaced by the odd one.
ippStsNoAntialiasing The mode does not support antialiasing.
ippStsAlgTypeErr The algorithm type is not supported.
ippStsAccurateModeNotSupported Accurate mode is not supported.

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.

The status code ippStsNoErr indicates no error. 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 function ippiDiv meets an attempt to divide a positive value by zero, the function execution is not aborted. The result of the operation is set to the maximum value that can be represented by the source data type, and the user is warned by the output status ippStsDivByZero. See appendix A Handling of Special Cases for more information.