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 | payloadis NULL. | 
| VPI_ERROR_INVALID_ARGUMENT | inputWidthorinputHeightoutside valid range. | 
| VPI_ERROR_INVALID_ARGUMENT | backendrefers 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 | outFormatis not supported. | 
| VPI_ERROR_OUT_OF_MEMORY | Cannot allocate required resources. | 
| VPI_ERROR_INVALID_OPERATION | Backend isn't enabled in current context. | 
| VPI_ERROR_INVALID_OPERATION | Library libcufft.so.12 isn't installed in the system. | 
| 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 | streamis NULL. | 
| VPI_ERROR_INVALID_ARGUMENT | inputoroutputare NULL. | 
| VPI_ERROR_INVALID_ARGUMENT | payloadis not created using vpiCreateFFT. | 
| VPI_ERROR_INVALID_ARGUMENT | inputimage dimension and format does not match the ones associated withpayload. | 
| VPI_ERROR_INVALID_ARGUMENT | outputimage format does not match the one associated withpayload. | 
| VPI_ERROR_INVALID_ARGUMENT | Non-supported flags. | 
| VPI_ERROR_INVALID_ARGUMENT | outputdimensions are non-conformant with input's. | 
| VPI_ERROR_INVALID_PAYLOAD_TYPE | payloadis invalid. | 
| VPI_ERROR_INVALID_OPERATION | The needed backends aren't enabled in stream,inputoroutput. | 
| 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 | payloadis NULL. | 
| VPI_ERROR_INVALID_ARGUMENT | outputWidthoroutputHeightoutside valid range. | 
| VPI_ERROR_INVALID_ARGUMENT | backendsrefers 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 | outFormatis not supported. | 
| VPI_ERROR_OUT_OF_MEMORY | Cannot allocate required resources. | 
| VPI_ERROR_INVALID_OPERATION | Backend isn't enabled in current context. | 
| VPI_ERROR_INVALID_OPERATION | Library libcufft.so.12 isn't installed in the system. | 
| 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 | streamis NULL. | 
| VPI_ERROR_INVALID_ARGUMENT | inputoroutputare NULL. | 
| VPI_ERROR_INVALID_ARGUMENT | payloadis not created using vpiCreateIFFT. | 
| VPI_ERROR_INVALID_ARGUMENT | inputimage dimension and format does not match the ones associated withpayload. | 
| VPI_ERROR_INVALID_ARGUMENT | outputimage format does not match the one associated withpayload. | 
| VPI_ERROR_INVALID_ARGUMENT | flagsincludes a non-supported flag. | 
| VPI_ERROR_INVALID_ARGUMENT | outputdimensions are non-conformant with input's. | 
| VPI_ERROR_INVALID_PAYLOAD_TYPE | payloadis invalid. | 
| VPI_ERROR_INVALID_OPERATION | The needed backends aren't enabled in stream,inputoroutput. | 
| VPI_SUCCESS | Operation executed successfully. |