Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

DCT8x8InvLSClip

Performs an inverse DCT on a 2D buffer of 8x8 size with further data conversion and level shift.

Syntax

IppStatus ippiDCT8x8InvLSClip_16s8u_C1R(const Ipp16s* pSrc, Ipp8u* pDst, int dstStep, Ipp16s addVal, Ipp8u clipDown, Ipp8u clipUp);

Include Files

ippi.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib

Parameters

pSrc

Pointer to the source image buffer.

pDst

Pointer to the destination image buffer.

dstStep

Distance in bytes between starts of consecutive lines in the destination image buffer.

addVal

The level shift value.

clipDown

The lower bound for the range of output values.

clipUp

The upper bound for the range of output values.

Description

This function operates with ROI (see Regions of Interest in Intel IPP) that is a 2D buffer of 8x8 size in this case, thus there is no need to specify its size.

This function performs the inverse discrete cosine transform of the buffer pSrc. After completing the DCT, this function performs level shift operation by adding the constant value addVal to each sample. Finally, the function converts data from the signed Ipp16s type to the unsigned Ipp8u type. The output data are clipped to the range [clipDown..clipUp]. The result is stored in the destination buffer pDst.

CAUTION:

Source data for 16s flavors must be the result of the forward discrete cosine transform of data from the range [-256, 255], they cannot be arbitrary data from the range [-32768, 32767].

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error or a warning.

ippStsNullPtrErr

Indicates an error condition if pSrc or pDst pointer is NULL.

ippStsStepErr

Indicates an error condition if dstStep value is zero or negative.