34 #ifndef VXLIB_THRESHOLDBINARY_IXX_OXX_PRIV_H_
35 #define VXLIB_THRESHOLDBINARY_IXX_OXX_PRIV_H_
37 #include "../common/VXLIB_utility.h"
39 #include "VXLIB_types.h"
52 #define VXLIB_THRESHOLDBINARY_IXX_OXX_PBLOCK_SIZE (VXLIB_SE_PARAM_SIZE + VXLIB_SA_PARAM_SIZE)
58 #define VXLIB_THRESHOLDBINARY_I8U_O8U ((dTypeIn == VXLIB_UINT8) && (dTypeOut == VXLIB_UINT8))
59 #define VXLIB_THRESHOLDBINARY_I8S_O8S ((dTypeIn == VXLIB_INT8) && (dTypeOut == VXLIB_INT8))
60 #define VXLIB_THRESHOLDBINARY_I16U_O16U ((dTypeIn == VXLIB_UINT16) && (dTypeOut == VXLIB_UINT16))
61 #define VXLIB_THRESHOLDBINARY_I16S_O16S ((dTypeIn == VXLIB_INT16) && (dTypeOut == VXLIB_INT16))
67 #define VXLIB_THRESHOLDBINARY_TYPENAME_I8U_O8U uint8_t, uint8_t
68 #define VXLIB_THRESHOLDBINARY_TYPENAME_I8S_O8S int8_t, int8_t
69 #define VXLIB_THRESHOLDBINARY_TYPENAME_I16U_O16U uint16_t, uint16_t
70 #define VXLIB_THRESHOLDBINARY_TYPENAME_I16S_O16S int16_t, int16_t
76 #define VXLIB_THRESHOLDBINARY_DTYPE_I8U_O8U VXLIB_UINT8, VXLIB_UINT8
77 #define VXLIB_THRESHOLDBINARY_DTYPE_I8S_O8S VXLIB_INT8, VXLIB_INT8
78 #define VXLIB_THRESHOLDBINARY_DTYPE_I16U_O16U VXLIB_UINT16, VXLIB_UINT16
79 #define VXLIB_THRESHOLDBINARY_DTYPE_I16S_O16S VXLIB_INT16, VXLIB_INT16
89 void *restrict pThresholdVal,
90 void *restrict pTrueVal,
91 void *restrict pFalseVal);
121 template <u
int32_t dTypeIn, u
int32_t dTypeOut>
148 template <
typename dTypeIn,
typename dTypeOut>
152 void *restrict pThresholdVal,
153 void *restrict pTrueVal,
154 void *restrict pFalseVal);
174 template <
typename dTypeIn,
typename dTypeOut>
178 void *restrict pThresholdVal,
179 void *restrict pTrueVal,
180 void *restrict pFalseVal);
VXLIB_STATUS VXLIB_thresholdBinary_init_ci(VXLIB_kernelHandle handle, const VXLIB_bufParams2D_t *bufParamsIn, const VXLIB_bufParams2D_t *bufParamsOut, const VXLIB_thresholdBinary_InitArgs *pKerInitArgs)
This function is the initialization function for the C7x implementation of the kernel....
VXLIB_STATUS(* pFxnVXLIB_thresholdBinary_exec)(VXLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut, void *restrict pThresholdVal, void *restrict pTrueVal, void *restrict pFalseVal)
This is a function pointer type that conforms to the declaration of VXLIB_thresholdBinary_exec_ci and...
VXLIB_STATUS VXLIB_thresholdBinary_exec_ci(VXLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut, void *restrict pThresholdVal, void *restrict pTrueVal, void *restrict pFalseVal)
This function is the main execution function for the C7x implementation of the kernel....
VXLIB_STATUS VXLIB_thresholdBinary_init_cn(VXLIB_kernelHandle handle, VXLIB_bufParams2D_t *bufParamsIn, VXLIB_bufParams2D_t *bufParamsOut)
This function is the initialization function for the natural C implementation of the kernel....
#define VXLIB_THRESHOLDBINARY_IXX_OXX_PBLOCK_SIZE
Macro to define the size of bufPblock array of VXLIB_thresholdBinary_PrivArgs structure.
VXLIB_STATUS VXLIB_thresholdBinary_exec_cn(VXLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut, void *restrict pThresholdVal, void *restrict pTrueVal, void *restrict pFalseVal)
This function is the main execution function for the natural C implementation of the kernel....
void * VXLIB_kernelHandle
Handle type for VXLIB operations.
VXLIB_STATUS_NAME VXLIB_STATUS
Return value for VXLIB functions.
VXLIB_STATUS_NAME
The enumeration of all status codes.
A structure for a 2 dimensional buffer descriptor.
Structure containing the parameters to initialize the kernel.
Structure that is reserved for internal use by the kernel.
size_t numBlocks
Number of blocks to be processed after simidfication.
size_t width
Width of image
VXLIB_thresholdBinary_InitArgs pKerInitArgs
Initargs of the kernel.
size_t height
Height of image
size_t strideInElements
Stride of input in elements.
pFxnVXLIB_thresholdBinary_exec execute
Function pointer to point to the right execution variant between VXLIB_thresholdBinary_exec_cn and VX...
size_t strideOutElements
Stride of output in elements.