Functions
VXLIB_halfScaleGaussian_5x5_i8u_o8u

Functions

VXLIB_STATUS VXLIB_halfScaleGaussian_5x5_i8u_o8u (const uint8_t src[restrict], const VXLIB_bufParams2D_t *src_addr, uint8_t dst[restrict], const VXLIB_bufParams2D_t *dst_addr)
 
VXLIB_STATUS VXLIB_halfScaleGaussian_5x5_i8u_o8u_checkParams (const uint8_t src[restrict], const VXLIB_bufParams2D_t *src_addr, const uint8_t dst[restrict], const VXLIB_bufParams2D_t *dst_addr)
 

Detailed Description

Function Documentation

◆ VXLIB_halfScaleGaussian_5x5_i8u_o8u()

VXLIB_STATUS VXLIB_halfScaleGaussian_5x5_i8u_o8u ( const uint8_t  src[restrict],
const VXLIB_bufParams2D_t *  src_addr,
uint8_t  dst[restrict],
const VXLIB_bufParams2D_t *  dst_addr 
)
Description:
Computes a gaussian filter over the 5x5 neighborhood of each input pixel, then half scales the image in both horizontal and vertical using nearest neighbor interpolation.
Method:
This filter uses the following convolution matrix:
         | 1  4  6  4  1 |
         | 4 16 24 16  4 |
    K =  | 6 24 36 24  6 | * 1/256
         | 4 16 24 16  4 |
         | 1  4  6  4  1 |
Parameters
[in]src[]Pointer to array containing input image (UQ8.0)
[in]src_addr[]Pointer to structure containing dimensional information of src
[out]dst[]Pointer to array containing output image (UQ8.0)
[in]dst_addr[]Pointer to structure containing dimensional information of dst
Assumptions:
  • I/O buffer pointers are assumed to be not aliased.
  • Input width should be >= (Output width + 2) * 2
  • Input height should be == (Output height + 2) * 2
  • When breaking input image processing into blocks, be sure to fetch enough overlap pixels from the input for interior edges for the rescale, or else the function may put a false border within the block edge of of the output image. For each dimension, the required fetch amount should be:

    • input block width to fetch = (output block width + 2) * 2
    • input block height to fetch = (output block height + 2) * 2

    And the amount of left/top overlap to refetch should be:

    • left edge overlap = 2
    • top edge overlap = 2

◆ VXLIB_halfScaleGaussian_5x5_i8u_o8u_checkParams()

VXLIB_STATUS VXLIB_halfScaleGaussian_5x5_i8u_o8u_checkParams ( const uint8_t  src[restrict],
const VXLIB_bufParams2D_t *  src_addr,
const uint8_t  dst[restrict],
const VXLIB_bufParams2D_t *  dst_addr 
)
Description:
Checks the parameters for programming errors for the VXLIB_halfScaleGaussian_5x5_i8u_o8u function.
Method:
The following checks are made:
  • There shall be no NULL pointers
  • Input width should be >= (Output width + 2) * 2
  • Input height should be == (Output height + 2) * 2
  • The strides of each image shall be equal to or greater than the x dimension
Parameters
[in]src[]Pointer to array containing input image (UQ8.0)
[in]src_addr[]Pointer to structure containing dimensional information of src
[out]dst[]Pointer to array containing output image (UQ8.0)
[in]dst_addr[]Pointer to structure containing dimensional information of dst

Copyright 2022, Texas Instruments Incorporated