Operations that applies the Fast Fourier Transform and its inverse to 2D images. More...
Functions  
VPIStatus  vpiCreateFFT (uint64_t backends, int32_t inputWidth, int32_t inputHeight, const VPIImageFormat inFormat, const VPIImageFormat outFormat, VPIPayload *payload) 
Creates payload for direct Fast Fourier Transform algorithm. More...  
VPIStatus  vpiSubmitFFT (VPIStream stream, uint64_t backend, VPIPayload payload, VPIImage input, VPIImage output, uint64_t flags) 
Runs the direct Fast Fourier Transform on single image. More...  
VPIStatus  vpiCreateIFFT (uint64_t backends, int32_t outputWidth, int32_t outputHeight, const VPIImageFormat inFormat, const VPIImageFormat outFormat, VPIPayload *payload) 
Creates payload for inverse Fast Fourier Transform algorithm. More...  
VPIStatus  vpiSubmitIFFT (VPIStream stream, uint64_t backend, VPIPayload payload, VPIImage input, VPIImage output, uint64_t flags) 
Runs the inverse Fast Fourier Transform on single image. More...  
Operations that applies the Fast Fourier Transform and its inverse to 2D images.
Refer to FFT for more details and usage examples regarding FFT.
Refer to Inverse FFT for more details and usage examples regarding IFFT.
Both FFT and inverse FFT need a payload created during application initialization phase, where image dimensions, input and output formats are defined. The payload then can be used to submit operations on different images, as long as their dimensions and formats match what was defined during payload creation.
VPIStatus vpiCreateFFT  (  uint64_t  backends, 
int32_t  inputWidth,  
int32_t  inputHeight,  
const VPIImageFormat  inFormat,  
const VPIImageFormat  outFormat,  
VPIPayload *  payload  
) 
#include <vpi/algo/FFT.h>
Creates payload for direct Fast Fourier Transform algorithm.
The created payload can then be used with vpiSubmitFFT.
[in]  backends  VPI backend that will execute the algorithm.

[in]  inputWidth,inputHeight  Dimensions of the input/output images to be used.

[in]  inFormat  Input image format.

[in]  outFormat  Output image format.

[out]  payload  Pointer to the payload variable that receives the created handle. 
VPI_ERROR_INVALID_ARGUMENT  payload is NULL. 
VPI_ERROR_INVALID_ARGUMENT  inputWidth or inputHeight outside valid range. 
VPI_ERROR_INVALID_ARGUMENT  backend refers to an invalid backend. 
VPI_ERROR_NOT_IMPLEMENTED  FFT algorithm is not supported by given backend. 
VPI_ERROR_INVALID_CONTEXT  Current context is destroyed. 
VPI_IMAGE_FORMAT_INVALID  outFormat is not supported. 
VPI_ERROR_OUT_OF_MEMORY  Cannot allocate required resources. 
VPI_ERROR_INVALID_OPERATION  Backend isn't enabled in current context. 
VPI_SUCCESS  Operation executed successfully. 
VPIStatus vpiCreateIFFT  (  uint64_t  backends, 
int32_t  outputWidth,  
int32_t  outputHeight,  
const VPIImageFormat  inFormat,  
const VPIImageFormat  outFormat,  
VPIPayload *  payload  
) 
#include <vpi/algo/FFT.h>
Creates payload for inverse Fast Fourier Transform algorithm.
The created payload can then be used with vpiSubmitIFFT.
[in]  backends  VPI backend that will execute the algorithm.

[in]  outputWidth,outputHeight  Output image dimensions.

[in]  inFormat  Input image format.

[in]  outFormat  Output image format.

[out]  payload  Pointer to the payload variable that receives the created handle. 
VPI_ERROR_INVALID_ARGUMENT  payload is NULL. 
VPI_ERROR_INVALID_ARGUMENT  outputWidth or outputHeight outside valid range. 
VPI_ERROR_INVALID_ARGUMENT  backends refers to an invalid backend. 
VPI_ERROR_NOT_IMPLEMENTED  IFFT algorithm is not supported by given backend. 
VPI_ERROR_INVALID_CONTEXT  Current context is destroyed. 
VPI_IMAGE_FORMAT_INVALID  outFormat is not supported. 
VPI_ERROR_OUT_OF_MEMORY  Cannot allocate required resources. 
VPI_ERROR_INVALID_OPERATION  Backend isn't enabled in current context. 
VPI_SUCCESS  Operation executed successfully. 
VPIStatus vpiSubmitFFT  (  VPIStream  stream, 
uint64_t  backend,  
VPIPayload  payload,  
VPIImage  input,  
VPIImage  output,  
uint64_t  flags  
) 
#include <vpi/algo/FFT.h>
Runs the direct Fast Fourier Transform on single image.
[in]  stream  The stream where the operation will be queued in.
 
[in]  backend  Backend that will execute the algorithm.
 
[in]  payload  Payload created with vpiCreateFFT  
[in]  input  Input image in space domain.
 
[out]  output  Image where the result in frequency domain will be written to. The top left pixel of the output represents the DC (0 Hz) component.
 
[in]  flags  Control flags.

VPI_ERROR_INVALID_ARGUMENT  stream is NULL. 
VPI_ERROR_INVALID_ARGUMENT  input or output are NULL. 
VPI_ERROR_INVALID_ARGUMENT  payload is not created using vpiCreateFFT. 
VPI_ERROR_INVALID_ARGUMENT  input image dimension and format does not match the ones associated with payload . 
VPI_ERROR_INVALID_ARGUMENT  output image format does not match the one associated with payload . 
VPI_ERROR_INVALID_ARGUMENT  Nonsupported flags . 
VPI_ERROR_INVALID_ARGUMENT  output dimensions are nonconformant with input's. 
VPI_ERROR_INVALID_PAYLOAD_TYPE  payload is invalid. 
VPI_ERROR_INVALID_OPERATION  The needed backends aren't enabled in stream , input or output . 
VPI_SUCCESS  Operation executed successfully. 
VPIStatus vpiSubmitIFFT  (  VPIStream  stream, 
uint64_t  backend,  
VPIPayload  payload,  
VPIImage  input,  
VPIImage  output,  
uint64_t  flags  
) 
#include <vpi/algo/FFT.h>
Runs the inverse Fast Fourier Transform on single image.
[in]  stream  A stream handle where the operation will be queued in.
 
[in]  backend  Backend that will execute the algorithm.
 
[in]  payload  Payload created with vpiCreateIFFT  
[in]  input  Input image in frequency domain. The top left pixel of the input represents the DC (0 Hz) component.
 
[out]  output  Image where the result in space domain will be written to.
 
[in]  flags  Control flags.

VPI_ERROR_INVALID_ARGUMENT  stream is NULL. 
VPI_ERROR_INVALID_ARGUMENT  input or output are NULL. 
VPI_ERROR_INVALID_ARGUMENT  payload is not created using vpiCreateIFFT. 
VPI_ERROR_INVALID_ARGUMENT  input image dimension and format does not match the ones associated with payload . 
VPI_ERROR_INVALID_ARGUMENT  output image format does not match the one associated with payload . 
VPI_ERROR_INVALID_ARGUMENT  flags includes a nonsupported flag. 
VPI_ERROR_INVALID_ARGUMENT  output dimensions are nonconformant with input's. 
VPI_ERROR_INVALID_PAYLOAD_TYPE  payload is invalid. 
VPI_ERROR_INVALID_OPERATION  The needed backends aren't enabled in stream , input or output . 
VPI_SUCCESS  Operation executed successfully. 