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 Wrong value of weight
ippStsQualityIndexErr Quality Index cannot be calculated for image filled with a constant
ippStsResizeNoOperationErr One of the output image dimensions is less than 1 pixel
ippStsBlockStepErr Step for Block less than 8
ippStsMBStepErr Step for MB less than 16
ippStsNoiseRangeErr Noise value for Wiener Filter is out of range
ippStsLPCCalcErr Linear prediction could not be evaluated
ippStsJPEG2KBadPassNumber Pass number exceeds allowed limits [0,nOfPasses-1]
ippStsJPEG2KDamagedCodeBlock Codeblock for decoding is damaged
ippStsH263CBPYCodeErr Illegal Huffman code during CBPY stream processing
ippStsH263MCBPCInterCodeErr Illegal Huffman code while MCBPC Inter stream processing
ippStsH263MCBPCIntraCodeErr Illegal Huffman code while 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 bit offset value
ippStsMP4QPErr Incorrect quantization parameter
ippStsMP4BlockIdxErr Incorrect block index
ippStsMP4BlockTypeErr Incorrect block type
ippStsMP4MVCodeErr Illegal Huffman code while MV stream processing
ippStsMP4VLCCodeErr Illegal Huffman code while VLC stream processing
ippStsMP4DCCodeErr Illegal code while DC stream processing
ippStsMP4FcodeErr Incorrect fcode value
ippStsMP4AlignErr Incorrect buffer alignment
ippStsMP4TempDiffErr Incorrect temporal difference
ippStsMP4BlockSizeErr Incorrect size of block or macroblock
ippStsMP4ZeroBABErr All BAB values are zero
ippStsMP4PredDirErr Incorrect prediction direction
ippStsMP4BitsPerPixelErr Incorrect number of bits per pixel
ippStsMP4VideoCompModeErr Incorrect video component mode
ippStsMP4LinearModeErr Incorrect DC linear mode
ippStsH263PredModeErr Prediction Mode value error
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 greater than 31
ippStsH263MVCodeErr Illegal Huffman code while MV stream processing
ippStsH263VLCCodeErr Illegal Huffman code while VLC stream processing
ippStsH263DCCodeErr Illegal code while 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 Attempt to access out of the buffer
ippStsChannelOrderErr Wrong order of the destination channels
ippStsZeroMaskValueErr All values of the mask are zero
ippStsRangeErr Bad values of bounds: the lower bound is greater than the upper bound
ippStsQPErr Incorrect value of 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 Unallowable values of the transformation coefficients
ippStsNoiseValErr Bad value of noise amplitude for dithering
ippStsDitherLevelsErr Number of dithering levels is out of range
ippStsNumChannelsErr Bad or unsupported number of channels
ippStsDataTypeErr Bad 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 compositing 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 error
ippStsScaleRangeErr Scale bounds are out of range
ippStsThresholdErr Invalid threshold bounds
ippStsWtOffsetErr Invalid offset value of 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 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 Null pointer error
ippStsSizeErr Wrong value of data size
ippStsBadArgErr Invalid or bad argument
ippStsNoErr No error
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 Not a Number argument value warning
ippStsDoubleSize Sizes of image are not multiples of 2
ippStsJPEGMarker JPEG marker was met in the bitstream
ippStsResFloor All result values are floored
ippStsAffineQuadChanged 4th vertex of destination quad is not equal to customer's one
ippStsWrongIntersectROI Wrong ROI that has no intersection with the source or destination image. No operation
ippStsWrongIntersectQuad Wrong 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

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.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.