Runs a generic 2D Gaussian filter over the input image. More...
Functions | |
VPIStatus | vpiCreateRecursiveGaussianFilter (uint64_t backends, int32_t maxWidth, int32_t maxHeight, VPIPayload *payload) |
Creates payload for vpiSubmitRecursiveGaussianFilter. More... | |
VPIStatus | vpiSubmitRecursiveGaussianFilter (VPIStream stream, uint64_t backend, VPIPayload payload, VPIImage input, VPIImage output, float sigmaX, float sigmaY, VPIBorderExtension border) |
Runs a Recursive Gaussian Filter over an image. More... | |
Runs a generic 2D Gaussian filter over the input image.
It allows bigger sigma values than the ones available in direct-convolution-based Gaussian filter. Refer to Recursive Gaussian Filter for more details and usage examples.
VPIStatus vpiCreateRecursiveGaussianFilter | ( | uint64_t | backends, |
int32_t | maxWidth, | ||
int32_t | maxHeight, | ||
VPIPayload * | payload | ||
) |
#include <vpi/algo/RecursiveGaussianFilter.h>
Creates payload for vpiSubmitRecursiveGaussianFilter.
This function allocates all temporary memory needed by the algorithm.
[in] | backends | VPI backends that are eligible to execute the algorithm.
|
[in] | maxWidth | Maximum width in the input and output images provided for the algorithm.
|
[in] | maxHeight | Maximum height in the input and output images provided for the algorithm.
|
[out] | payload | Pointer to the payload variable that receives the created handle.
|
VPI_ERROR_INVALID_ARGUMENT | payload is NULL. |
VPI_ERROR_INVALID_ARGUMENT | backends refers to an invalid backend. |
VPI_ERROR_INVALID_ARGUMENT | maxWidth or maxHeight outside valid range. |
VPI_ERROR_INVALID_OPERATION | Backend hardware not available. |
VPI_ERROR_NOT_IMPLEMENTED | Algorithm does not support the given backend. |
VPI_ERROR_INVALID_CONTEXT | Current context is destroyed. |
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 vpiSubmitRecursiveGaussianFilter | ( | VPIStream | stream, |
uint64_t | backend, | ||
VPIPayload | payload, | ||
VPIImage | input, | ||
VPIImage | output, | ||
float | sigmaX, | ||
float | sigmaY, | ||
VPIBorderExtension | border | ||
) |
#include <vpi/algo/RecursiveGaussianFilter.h>
Runs a Recursive Gaussian Filter over an image.
[in] | stream | The stream where the operation will be queued in.
|
[in] | backend | Backend that will execute the algorithm.
|
[in] | payload | Payload created by vpiCreateRecursiveGaussianFilter.
|
[in] | input | Input image to be filtered.
|
[out] | output | Image where the result will be written to.
|
[in] | sigmaX | Standard deviation for the Gaussian filter in the X direction.
|
[in] | sigmaY | Standard deviation for the Gaussian filter in the Y direction.
|
[in] | border | How to handle pixels outside image boundaries.
|
VPI_ERROR_INVALID_ARGUMENT | stream is NULL. |
VPI_ERROR_INVALID_ARGUMENT | input or output are NULL. |
VPI_ERROR_INVALID_ARGUMENT | payload is not generated using vpiCreateRecursiveGaussianFilter. |
VPI_ERROR_INVALID_ARGUMENT | input or output image dimensions outside valid range. |
VPI_ERROR_INVALID_ARGUMENT | input and output image dimensions and format must be the same. |
VPI_ERROR_INVALID_ARGUMENT | input and output dimensions are bigger than the one defined in the payload . |
VPI_ERROR_INVALID_ARGUMENT | border not supported. |
VPI_ERROR_INVALID_ARGUMENT | backend is invalid or unknown. |
VPI_ERROR_INVALID_IMAGE_FORMAT | input or output image format not supported. |
VPI_ERROR_INVALID_PAYLOAD_TYPE | payload is invalid. |
VPI_ERROR_NOT_IMPLEMENTED | Algorithm does not support the given backend. |
VPI_ERROR_INVALID_OPERATION | Backend hardware not available. |
VPI_ERROR_INVALID_OPERATION | The needed backends aren't enabled in stream , input or output . |
VPI_SUCCESS | Operation executed successfully. |