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 </opt/nvidia/vpi2/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_ERROR_INVALID_OPERATION | Library libcufft.so.10 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 </opt/nvidia/vpi2/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 | Non-supported flags . |
VPI_ERROR_INVALID_ARGUMENT | output dimensions are non-conformant 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 vpiCreateIFFT | ( | uint64_t | backends, |
int32_t | outputWidth, | ||
int32_t | outputHeight, | ||
const VPIImageFormat | inFormat, | ||
const VPIImageFormat | outFormat, | ||
VPIPayload * | payload | ||
) |
#include </opt/nvidia/vpi2/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_ERROR_INVALID_OPERATION | Library libcufft.so.10 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 </opt/nvidia/vpi2/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 non-supported flag. |
VPI_ERROR_INVALID_ARGUMENT | output dimensions are non-conformant 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. |