VXLIB_add_i16s_i16s_o16s


Detailed Description


Functions

VXLIB_STATUS VXLIB_add_i16s_i16s_o16s (const int16_t src0[restrict], const VXLIB_bufParams2D_t *src0_addr, const int16_t src1[restrict], const VXLIB_bufParams2D_t *src1_addr, int16_t dst[restrict], const VXLIB_bufParams2D_t *dst_addr, uint16_t overflow_policy)
VXLIB_STATUS VXLIB_add_i16s_i16s_o16s_checkParams (const int16_t src0[], const VXLIB_bufParams2D_t *src0_addr, const int16_t src1[], const VXLIB_bufParams2D_t *src1_addr, const int16_t dst[], const VXLIB_bufParams2D_t *dst_addr, uint16_t overflow_policy)


Function Documentation

VXLIB_STATUS VXLIB_add_i16s_i16s_o16s ( const int16_t  src0[restrict],
const VXLIB_bufParams2D_t src0_addr,
const int16_t  src1[restrict],
const VXLIB_bufParams2D_t src1_addr,
int16_t  dst[restrict],
const VXLIB_bufParams2D_t dst_addr,
uint16_t  overflow_policy 
)

Description:
Performs addition between two signed 16-bit images and results in a signed 16-bit image. The overflow handling is controlled by an overflow-policy parameter. Use VXLIB_CONVERT_POLICY_WRAP as the parameter for wrap and VXLIB_CONVERT_POLICY_SATURATE for saturate.
Method:
The addition is computed using the following equation:

    dst(x,y) = src0(x,y) + src1(x,y)

   

Parameters:
[in] src0[] Pointer to array containing first input image (SQ15.0)
[in] src0_addr[] Pointer to structure containing dimensional information of src0
[in] src1[] Pointer to array containing second input image (SQ15.0)
[in] src1_addr[] Pointer to structure containing dimensional information of src1
[out] dst[] Pointer to array containing output image (SQ15.0)
[in] dst_addr[] Pointer to structure containing dimensional information of dst
[in] overflow_policy Parameter indicating overflow policy
Assumptions:
  • I/O buffer pointers are assumed to be not aliased.
Performance Considerations:
  • For best performance, the following parameter settings are recommended:
    • Set widths equal to strides
    • Align all pointers to 8 byte boundaries
    • Set all stride values to a multiple of 8
    • Set all width values to a multiple of 8

VXLIB_STATUS VXLIB_add_i16s_i16s_o16s_checkParams ( const int16_t  src0[],
const VXLIB_bufParams2D_t src0_addr,
const int16_t  src1[],
const VXLIB_bufParams2D_t src1_addr,
const int16_t  dst[],
const VXLIB_bufParams2D_t dst_addr,
uint16_t  overflow_policy 
)

Description:
Checks the parameters for programming errors for the VXLIB_add_i16s_i16s_o16s function.
Method:
The following checks are made:
  • There shall be no NULL pointers
  • All images shall have the same x and y dimensions
  • The strides of each image shall be equal to or greater than the x dimension
  • The overflow policy is either VXLIB_CONVERT_POLICY_WRAP or VXLIB_CONVERT_POLICY_SATURATE
Parameters:
[in] src0[] Pointer to array containing first input image (SQ15.0)
[in] src0_addr[] Pointer to structure containing dimensional information of src0
[in] src1[] Pointer to array containing second input image (SQ15.0)
[in] src1_addr[] Pointer to structure containing dimensional information of src1
[out] dst[] Pointer to array containing output image (SQ15.0)
[in] dst_addr[] Pointer to structure containing dimensional information of dst
[in] overflow_policy Parameter indicating overflow policy


Copyright 2020, Texas Instruments Incorporated