Visible to Intel only — GUID: GUID-CC8141E1-3B41-4289-8819-151A7929A547
Visible to Intel only — GUID: GUID-CC8141E1-3B41-4289-8819-151A7929A547
Discrete Cosine Transforms
Discrete Cosine Transform (DCT) of a real 2D image yields output results that are also real, which eliminates the need to use packed format for storing the transformed data. However, forward and inverse DCT functions ippiDCTFwd and ippiDCTInv need different context data structures to be initialized and filled in prior to their use. Consequently, the required workspace buffer size is different for these functions. In case of using an external buffer, its size must be determined by previously calling the respective support function. DCT functions that use context structures implement the modified computation algorithm proposed in [Rao90].
The DCT functions ippiDCT8x8Fwd and ippiDCT8x8Inv working on a fixed 8x8 image buffer need no context data or external workspace buffers. Functions ippiDCT8x8Inv meet IEEE-1180 standard requirements (see [IEEE]).
Intel IPP Discrete Cosine Transform functions working on a fixed 8x8 image buffer use Feig and Winograd algorithm ([Feig92]) modified for taking advantage of SIMD instructions. For details on algorithms used in DCT transforms and for more references, see [AP922].
Product and Performance Information |
---|
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex. Notice revision #20201201 |
- DCTFwdGetSize, DCTInvGetSize
Compute the size of the DCT context structure and the size of the required work buffers. - DCTFwdInit, DCTInvInit
Initialize the context structure for the forward or inverse DCT operation. - DCTFwd
Applies a forward discrete cosine transform to an image. - DCTInv
Applies an inverse discrete cosine transform to an image. - DCT8x8Fwd
Performs a forward DCT on a 2D buffer of 8x8 size. - DCT8x8Inv, DCT8x8Inv_A10
Performs an inverse DCT on a 2D buffer of 8x8 size. - DCT8x8FwdLS
Performs a forward DCT on a 2D buffer of 8x8 size with prior data conversion and level shift. - DCT8x8InvLSClip
Performs an inverse DCT on a 2D buffer of 8x8 size with further data conversion and level shift. - DCT8x8Inv_2x2, DCT8x8Inv_4x4
Perform an inverse DCT on a top left quadrant of size 2x2 or 4x4 in the 2D buffer of size 8x8. - DCT8x8To2x2Inv, DCT8x8To4x4Inv
Perform an inverse DCT on a 2D buffer of 8x8 size with further downsampling to 2x2 or 4x4 size.