![]() |
VXLIB User Guide
|
Header file for kernel's internal use. For the kernel's interface, please see VXLIB_convolve.
Definition in file VXLIB_convolve_priv.h.
Go to the source code of this file.
Data Structures | |
struct | VXLIB_convolve_PrivArgs |
Structure that is reserved for internal use by the kernel. More... | |
Macros | |
#define | VXLIB_CONVOLVE_IXX_IXX_OXX_PBLOCK_SIZE (3 * VXLIB_SE_PARAM_SIZE + 2 * VXLIB_SA_PARAM_SIZE) |
Macro to define the size of bufPblock array of VXLIB_convolve_PrivArgs structure. More... | |
#define | VXLIB_CONVOLVE_I8U_C16S_O8U ((dTypeIn == VXLIB_UINT8) && (dTypeFilter == VXLIB_INT16) && (dTypeOut == VXLIB_UINT8)) |
Macros that will be useful to check for datatype combinations. More... | |
#define | VXLIB_CONVOLVE_I8U_C16S_O16S ((dTypeIn == VXLIB_UINT8) && (dTypeFilter == VXLIB_INT16) && (dTypeOut == VXLIB_INT16)) |
#define | VXLIB_CONVOLVE_TYPENAME_I8U_C16S_O8U uint8_t, int16_t, uint8_t |
Macros for templatization of execution functions. More... | |
#define | VXLIB_CONVOLVE_TYPENAME_I8U_C16S_O16S uint8_t, int16_t, int16_t |
#define | VXLIB_CONVOLVE_DTYPE_I8U_C16S_O8U VXLIB_UINT8, VXLIB_INT16, VXLIB_UINT8 |
Macros for templatization of initialization functions. More... | |
#define | VXLIB_CONVOLVE_DTYPE_I8U_C16S_O16S VXLIB_UINT8, VXLIB_INT16, VXLIB_INT16 |
#define | VXLIB_CONVOLVE_I8U_C16S_O8U_TEMPLATE(dTypeOut) (std::is_same<dTypeOut, uint8_t>::value) |
Macros for datatype combination of exec functions. More... | |
#define | VXLIB_CONVOLVE_I8U_C16S_O16S_TEMPLATE(dTypeOut) (std::is_same<dTypeOut, int16_t>::value) |
Typedefs | |
typedef VXLIB_STATUS(* | pFxnVXLIB_convolve_exec) (VXLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut) |
This is a function pointer type that conforms to the declaration of VXLIB_convolve_exec_ci and VXLIB_convolve_exec_cn. More... | |
Functions | |
template<uint32_t dTypeIn, uint32_t dTypeFilter, uint32_t dTypeOut> | |
VXLIB_STATUS | VXLIB_convolve_init_ci (VXLIB_kernelHandle handle, const VXLIB_bufParams2D_t *bufParamsIn, const VXLIB_bufParams2D_t *bufParamsFilter, const VXLIB_bufParams2D_t *bufParamsOut, const VXLIB_convolve_InitArgs *pKerInitArgs) |
This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of VXLIB_convolve_init. More... | |
template<typename dTypeIn , typename dTypeFilter , typename dTypeOut > | |
VXLIB_STATUS | VXLIB_convolve_exec_ci (VXLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut) |
This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of VXLIB_convolve_exec. More... | |
template<typename dTypeIn , typename dTypeFilter , typename dTypeOut > | |
VXLIB_STATUS | VXLIB_convolve_exec_cn (VXLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut) |
This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of VXLIB_convolve_exec. More... | |
#define VXLIB_CONVOLVE_IXX_IXX_OXX_PBLOCK_SIZE (3 * VXLIB_SE_PARAM_SIZE + 2 * VXLIB_SA_PARAM_SIZE) |
Macro to define the size of bufPblock array of VXLIB_convolve_PrivArgs structure.
Definition at line 55 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_I8U_C16S_O8U ((dTypeIn == VXLIB_UINT8) && (dTypeFilter == VXLIB_INT16) && (dTypeOut == VXLIB_UINT8)) |
Macros that will be useful to check for datatype combinations.
Definition at line 62 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_I8U_C16S_O16S ((dTypeIn == VXLIB_UINT8) && (dTypeFilter == VXLIB_INT16) && (dTypeOut == VXLIB_INT16)) |
Definition at line 65 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_TYPENAME_I8U_C16S_O8U uint8_t, int16_t, uint8_t |
Macros for templatization of execution functions.
Definition at line 73 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_TYPENAME_I8U_C16S_O16S uint8_t, int16_t, int16_t |
Definition at line 74 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_DTYPE_I8U_C16S_O8U VXLIB_UINT8, VXLIB_INT16, VXLIB_UINT8 |
Macros for templatization of initialization functions.
Definition at line 81 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_DTYPE_I8U_C16S_O16S VXLIB_UINT8, VXLIB_INT16, VXLIB_INT16 |
Definition at line 82 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_I8U_C16S_O8U_TEMPLATE | ( | dTypeOut | ) | (std::is_same<dTypeOut, uint8_t>::value) |
Macros for datatype combination of exec functions.
Definition at line 89 of file VXLIB_convolve_priv.h.
#define VXLIB_CONVOLVE_I8U_C16S_O16S_TEMPLATE | ( | dTypeOut | ) | (std::is_same<dTypeOut, int16_t>::value) |
Definition at line 91 of file VXLIB_convolve_priv.h.
typedef VXLIB_STATUS(* pFxnVXLIB_convolve_exec) (VXLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut) |
This is a function pointer type that conforms to the declaration of VXLIB_convolve_exec_ci and VXLIB_convolve_exec_cn.
Definition at line 100 of file VXLIB_convolve_priv.h.
VXLIB_STATUS VXLIB_convolve_init_ci | ( | VXLIB_kernelHandle | handle, |
const VXLIB_bufParams2D_t * | bufParamsIn, | ||
const VXLIB_bufParams2D_t * | bufParamsFilter, | ||
const VXLIB_bufParams2D_t * | bufParamsOut, | ||
const VXLIB_convolve_InitArgs * | pKerInitArgs | ||
) |
This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of VXLIB_convolve_init.
This function determines the configuration for the streaming engine resources based on the function call parameters, and the configuration is saved in bufPBlock array. In the kernel call sequence, VXLIB_convolve_exec_ci would be called later independently by the application. When VXLIB_convolve_exec_ci runs, it merely retrieves the configuration from the bufPBlock and uses it to set up the hardware resources. This arrangement is so that VXLIB_convolve_exec_ci does not lose cycles to determine the hardware configuration.
[in] | handle | : Active handle to the kernel |
[in] | bufParamsIn | : Pointer to the structure containing dimensional input image |
[in] | bufParamsFilter | : Pointer to the structure containing * dimensional information of input filter |
[out] | bufParamsOut | : Pointer to the structure containing dimensional information of output image |
[in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 768 of file VXLIB_convolve_ci.cpp.
VXLIB_STATUS VXLIB_convolve_exec_ci | ( | VXLIB_kernelHandle | handle, |
void *restrict | pIn, | ||
void *restrict | pFilter, | ||
void *restrict | pOut | ||
) |
This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of VXLIB_convolve_exec.
[in] | handle | : Active handle to the kernel |
[in] | pFilter | : Pointer to buffer holding input filter |
[in] | pIn | : Pointer to buffer holding the input image |
[out] | pOut | : Pointer to buffer holding the output image |
Definition at line 1691 of file VXLIB_convolve_ci.cpp.
VXLIB_STATUS VXLIB_convolve_exec_cn | ( | VXLIB_kernelHandle | handle, |
void *restrict | pIn, | ||
void *restrict | pFilter, | ||
void *restrict | pOut | ||
) |
This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of VXLIB_convolve_exec.
[in] | handle | : Active handle to the kernel |
[in] | pIn | : Pointer to buffer holding the input data |
[in] | pFilter | : Pointer to buffer holding the input filter |
[out] | pOut | : Pointer to buffer holding the output data |
Definition at line 61 of file VXLIB_convolve_cn.cpp.