Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

DFTFwd

Applies forward discrete Fourier transform to an image.

Syntax

Case
1
: Not-in-place operation on floating-point data
IppStatus ippiDFTFwd_RToPack_<mod>(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, const IppiDFTSpec_R_32f*
pDFTSpec
, Ipp8u*
pBuffer
);
Supported values for
mod
:
32f_C1R
32f_C3R
32f_C4R
32f_AC4R
Case
2
: Not-in-place operation on complex data
IppStatus ippiDFTFwd_CToC_32fc_C1R(const Ipp32fc*
pSrc
, int
srcStep
, Ipp32fc*
pDst
, int
dstStep
, const IppiDFTSpec_C_32fc*
pDFTSpec
, Ipp8u*
pBuffer
);
Case
3
: In-place operation on floating-point data
IppStatus ippiDFTFwd_RToPack_<mod>(Ipp32f*
pSrcDst
, int
srcDstStep
, const IppiDFTSpec_R_32f*
pDFTSpec
, Ipp8u*
pBuffer
);
Supported values for
mod
:
32f_C1IR
32f_C3IR
32f_C4IR
32f_AC4IR
Case
4
: In-place operation on complex data
IppStatus ippiDFTFwd_CToC_32fc_C1IR(Ipp32fc*
pSrcDst
, int
srcDstStep
, const IppiDFTSpec_C_32fc*
pDFTSpec
, Ipp8u*
pBuffer
);
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 ROI.
srcStep
Distance in bytes between starts of consecutive lines in the source image.
pDst
Pointer to the destination image ROI.
dstStep
Distance in bytes between starts of consecutive lines in the destination image.
pSrcDst
Pointer to the source and destination image ROI for the in-place operation.
srcDstStep
Distance in bytes between starts of consecutive lines in the source and destination image for the in-place operation.
pDFTSpec
Pointer to the previously initialized DFT context structure.
pBuffer
Pointer to the external work buffer.
Description
This function operates with ROI.
This function performs a forward DFT on each channel of the source image ROI
pSrc
(
pSrcDst
for in-place flavors) and writes the Fourier coefficients into the corresponding channel of the destination buffer
pDst
(
pSrcDst
for in-place flavors).
The function flavor
ippiDFTFwd_RToPack
that operates on images with real data takes advantage of the symmetry property and stores the output data in RCPack2D format. It supports processing of the 1-, 3-, and 4-channel images. Note that the functions with
AC4
descriptor do not process alpha channel.
The function flavor
ippiDFTFwd_CToC
that operates on images with complex data performs no packing of the transform results as no symmetry with respect to frequency domain data is observed in this case. Memory layout of images with complex data follows the same conventions as for real images provided that each pixel value consists of two numbers: imaginary and real part.
Before using the forward DFT functions, you need to compute the size of the work buffer by
ippiDFTGetSize
and initialize the context structure by the
ippiDFTInit
function. The forward DFT functions use the
pDFTSpec
context structure to set the mode of calculations and retrieve support data.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or a warning.
ippStsNullPtrErr
Indicates an error condition if
pSrc, pDst,
or
pDFTSpec
pointer is
NULL
.
ippStsStepErr
Indicates an error condition if
srcStep
or
dstStep
value is zero or negative.
ippStsContextMatchErr
Indicates an error condition if a pointer to an invalid
pDFTSpec
structure is passed.
ippStsMemAllocErr
Indicates an error condition if memory allocation fails.

Product and Performance Information

1

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