Skip to content

Commit

Permalink
expose hidden functionality to doxygen, improve box filter docs
Browse files Browse the repository at this point in the history
  • Loading branch information
joesavage committed Jun 29, 2017
1 parent 3384c60 commit a91757e
Show file tree
Hide file tree
Showing 13 changed files with 330 additions and 320 deletions.
12 changes: 11 additions & 1 deletion doc/Doxyfile
Expand Up @@ -1507,7 +1507,17 @@ INCLUDE_FILE_PATTERNS =
# undefined via #undef or recursively expanded use the := operator # undefined via #undef or recursively expanded use the := operator
# instead of the = operator. # instead of the = operator.


PREDEFINED = __attribute__(x)= PREDEFINED = __attribute__(x)= \
ENABLE_NE10_FIR_FLOAT_NEON \
ENABLE_NE10_FIR_DECIMATE_FLOAT_NEON \
ENABLE_NE10_FIR_INTERPOLATE_FLOAT_NEON \
ENABLE_NE10_FIR_LATTICE_FLOAT_NEON \
ENABLE_NE10_FIR_SPARSE_FLOAT_NEON \
ENABLE_NE10_IIR_LATTICE_FLOAT_NEON \
ENABLE_NE10_PHYSICS_COMPUTE_AABB_VEC2F_NEON \
ENABLE_NE10_PHYSICS_RELATIVE_V_VEC2F_NEON \
ENABLE_NE10_PHYSICS_APPLY_IMPULSE_VEC2F_NEON \
ENABLE_NE10_IMG_ROTATE_RGBA_NEON


# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded. # this tag can be used to specify a list of macro names that should be expanded.
Expand Down
243 changes: 152 additions & 91 deletions inc/NE10_dsp.h
Expand Up @@ -524,98 +524,36 @@ extern "C" {
extern void ne10_fft_destroy_r2c_int16 (ne10_fft_r2c_cfg_int16_t); extern void ne10_fft_destroy_r2c_int16 (ne10_fft_r2c_cfg_int16_t);
/** @} */ // R2C_FFT_IFFT /** @} */ // R2C_FFT_IFFT


/* FIR functions */ /**

* @addtogroup FIR
extern void (*ne10_fir_float) (const ne10_fir_instance_f32_t * S, * @{
ne10_float32_t * pSrc, */
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern void (*ne10_fir_decimate_float) (const ne10_fir_decimate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern void (*ne10_fir_interpolate_float) (const ne10_fir_interpolate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern void (*ne10_fir_lattice_float) (const ne10_fir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern void (*ne10_fir_sparse_float) (ne10_fir_sparse_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_float32_t * pScratchIn,
ne10_uint32_t blockSize);

extern ne10_result_t ne10_fir_init_float (ne10_fir_instance_f32_t * S, extern ne10_result_t ne10_fir_init_float (ne10_fir_instance_f32_t * S,
ne10_uint16_t numTaps, ne10_uint16_t numTaps,
ne10_float32_t * pCoeffs, ne10_float32_t * pCoeffs,
ne10_float32_t * pState, ne10_float32_t * pState,
ne10_uint32_t blockSize); ne10_uint32_t blockSize);


extern ne10_result_t ne10_fir_decimate_init_float (ne10_fir_decimate_instance_f32_t * S, /**
ne10_uint16_t numTaps, * @param[in] *S points to an instance of the floating-point FIR filter structure.
ne10_uint8_t M, * @param[in] *pSrc points to the block of input data.
ne10_float32_t * pCoeffs, * @param[out] *pDst points to the block of output data.
ne10_float32_t * pState, * @param[in] blockSize number of samples to process per call.
ne10_uint32_t blockSize); *

* Points to @ref ne10_fir_float_c or @ref ne10_fir_float_neon.
extern ne10_result_t ne10_fir_interpolate_init_float (ne10_fir_interpolate_instance_f32_t * S, */
ne10_uint8_t L, extern void (*ne10_fir_float) (const ne10_fir_instance_f32_t * S,
ne10_uint16_t numTaps, ne10_float32_t * pSrc,
ne10_float32_t * pCoeffs, ne10_float32_t * pDst,
ne10_float32_t * pState, ne10_uint32_t blockSize);
ne10_uint32_t blockSize);

extern ne10_result_t ne10_fir_lattice_init_float (ne10_fir_lattice_instance_f32_t * S,
ne10_uint16_t numStages,
ne10_float32_t * pCoeffs,
ne10_float32_t * pState);

extern ne10_result_t ne10_fir_sparse_init_float (ne10_fir_sparse_instance_f32_t * S,
ne10_uint16_t numTaps,
ne10_float32_t * pCoeffs,
ne10_float32_t * pState,
ne10_int32_t * pTapDelay,
ne10_uint16_t maxDelay,
ne10_uint32_t blockSize);

extern void ne10_fir_float_c (const ne10_fir_instance_f32_t * S, extern void ne10_fir_float_c (const ne10_fir_instance_f32_t * S,
ne10_float32_t * pSrc, ne10_float32_t * pSrc,
ne10_float32_t * pDst, ne10_float32_t * pDst,
ne10_uint32_t blockSize); ne10_uint32_t blockSize);

#ifdef ENABLE_NE10_FIR_FLOAT_NEON
extern void ne10_fir_decimate_float_c (const ne10_fir_decimate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern void ne10_fir_interpolate_float_c (const ne10_fir_interpolate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern void ne10_fir_lattice_float_c (const ne10_fir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern void ne10_fir_sparse_float_c (ne10_fir_sparse_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_float32_t * pScratchIn,
ne10_uint32_t blockSize);

/** /**
* @addtogroup FIR * Specific implementation of @ref ne10_fir_float using NEON SIMD capabilities.
* @{
*/ */
#ifdef ENABLE_NE10_FIR_FLOAT_NEON
extern void ne10_fir_float_neon (const ne10_fir_instance_f32_t * S, extern void ne10_fir_float_neon (const ne10_fir_instance_f32_t * S,
ne10_float32_t * pSrc, ne10_float32_t * pSrc,
ne10_float32_t * pDst, ne10_float32_t * pDst,
Expand All @@ -628,7 +566,35 @@ extern "C" {
* @addtogroup FIR_Decimate * @addtogroup FIR_Decimate
* @{ * @{
*/ */
extern ne10_result_t ne10_fir_decimate_init_float (ne10_fir_decimate_instance_f32_t * S,
ne10_uint16_t numTaps,
ne10_uint8_t M,
ne10_float32_t * pCoeffs,
ne10_float32_t * pState,
ne10_uint32_t blockSize);

/**
* @brief Processing function for the floating-point FIR decimator.
*
* @param[in] *S points to an instance of the floating-point FIR decimator structure.
* @param[in] *pSrc points to the block of input data.
* @param[out] *pDst points to the block of output data.
* @param[in] blockSize number of input samples to process per call.
*
* Points to @ref ne10_fir_decimate_float_c or @ref ne10_fir_decimate_float_neon.
*/
extern void (*ne10_fir_decimate_float) (const ne10_fir_decimate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);
extern void ne10_fir_decimate_float_c (const ne10_fir_decimate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);
#ifdef ENABLE_NE10_FIR_DECIMATE_FLOAT_NEON #ifdef ENABLE_NE10_FIR_DECIMATE_FLOAT_NEON
/**
* Specific implementation of @ref ne10_fir_decimate_float using NEON SIMD capabilities.
*/
extern void ne10_fir_decimate_float_neon (const ne10_fir_decimate_instance_f32_t * S, extern void ne10_fir_decimate_float_neon (const ne10_fir_decimate_instance_f32_t * S,
ne10_float32_t *pSrc, ne10_float32_t *pSrc,
ne10_float32_t *pDst, ne10_float32_t *pDst,
Expand All @@ -641,7 +607,35 @@ extern "C" {
* @addtogroup FIR_Interpolate * @addtogroup FIR_Interpolate
* @{ * @{
*/ */
extern ne10_result_t ne10_fir_interpolate_init_float (ne10_fir_interpolate_instance_f32_t * S,
ne10_uint8_t L,
ne10_uint16_t numTaps,
ne10_float32_t * pCoeffs,
ne10_float32_t * pState,
ne10_uint32_t blockSize);

/**
* @brief Processing function for the floating-point FIR interpolator.
*
* @param[in] *S points to an instance of the floating-point FIR interpolator structure.
* @param[in] *pSrc points to the block of input data.
* @param[out] *pDst points to the block of output data.
* @param[in] blockSize number of input samples to process per call.
*
* Points to @ref ne10_fir_interpolate_float_c or @ref ne10_fir_interpolate_float_neon.
*/
extern void (*ne10_fir_interpolate_float) (const ne10_fir_interpolate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);
extern void ne10_fir_interpolate_float_c (const ne10_fir_interpolate_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);
#ifdef ENABLE_NE10_FIR_INTERPOLATE_FLOAT_NEON #ifdef ENABLE_NE10_FIR_INTERPOLATE_FLOAT_NEON
/**
* Specific implementation of @ref ne10_fir_interpolate_float using NEON SIMD capabilities.
*/
extern void ne10_fir_interpolate_float_neon (const ne10_fir_interpolate_instance_f32_t * S, extern void ne10_fir_interpolate_float_neon (const ne10_fir_interpolate_instance_f32_t * S,
ne10_float32_t *pSrc, ne10_float32_t *pSrc,
ne10_float32_t *pDst, ne10_float32_t *pDst,
Expand All @@ -653,7 +647,33 @@ extern "C" {
* @addtogroup FIR_Lattice * @addtogroup FIR_Lattice
* @{ * @{
*/ */
extern ne10_result_t ne10_fir_lattice_init_float (ne10_fir_lattice_instance_f32_t * S,
ne10_uint16_t numStages,
ne10_float32_t * pCoeffs,
ne10_float32_t * pState);

/**
* @brief Processing function for the floating-point FIR lattice filter.
*
* @param[in] *S points to an instance of the floating-point FIR lattice structure.
* @param[in] *pSrc points to the block of input data.
* @param[out] *pDst points to the block of output data
* @param[in] blockSize number of samples to process.
*
* Points to @ref ne10_fir_lattice_float_c or @ref ne10_fir_lattice_float_neon.
*/
extern void (*ne10_fir_lattice_float) (const ne10_fir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);
extern void ne10_fir_lattice_float_c (const ne10_fir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);
#ifdef ENABLE_NE10_FIR_LATTICE_FLOAT_NEON #ifdef ENABLE_NE10_FIR_LATTICE_FLOAT_NEON
/**
* Specific implementation of @ref ne10_fir_lattice_float using NEON SIMD capabilities.
*/
extern void ne10_fir_lattice_float_neon (const ne10_fir_lattice_instance_f32_t * S, extern void ne10_fir_lattice_float_neon (const ne10_fir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc, ne10_float32_t * pSrc,
ne10_float32_t * pDst, ne10_float32_t * pDst,
Expand All @@ -665,7 +685,39 @@ extern "C" {
* @addtogroup FIR_Sparse * @addtogroup FIR_Sparse
* @{ * @{
*/ */
extern ne10_result_t ne10_fir_sparse_init_float (ne10_fir_sparse_instance_f32_t * S,
ne10_uint16_t numTaps,
ne10_float32_t * pCoeffs,
ne10_float32_t * pState,
ne10_int32_t * pTapDelay,
ne10_uint16_t maxDelay,
ne10_uint32_t blockSize);

/**
* @brief Processing function for the floating-point sparse FIR filter.
*
* @param[in] *S points to an instance of the floating-point sparse FIR structure.
* @param[in] *pSrc points to the block of input data.
* @param[out] *pDst points to the block of output data
* @param[in] *pScratchIn points to a temporary buffer of size blockSize.
* @param[in] blockSize number of input samples to process per call.
*
* Points to @ref ne10_fir_sparse_float_c or @ref ne10_fir_sparse_float_neon.
*/
extern void (*ne10_fir_sparse_float) (ne10_fir_sparse_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_float32_t * pScratchIn,
ne10_uint32_t blockSize);
extern void ne10_fir_sparse_float_c (ne10_fir_sparse_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_float32_t * pScratchIn,
ne10_uint32_t blockSize);
#ifdef ENABLE_NE10_FIR_SPARSE_FLOAT_NEON #ifdef ENABLE_NE10_FIR_SPARSE_FLOAT_NEON
/**
* Specific implementation of @ref ne10_fir_sparse_float using NEON SIMD capabilities.
*/
extern void ne10_fir_sparse_float_neon (ne10_fir_sparse_instance_f32_t * S, extern void ne10_fir_sparse_float_neon (ne10_fir_sparse_instance_f32_t * S,
ne10_float32_t * pSrc, ne10_float32_t * pSrc,
ne10_float32_t * pDst, ne10_float32_t * pDst,
Expand All @@ -676,30 +728,39 @@ extern "C" {
/** @} */ // FIR_sparse /** @} */ // FIR_sparse




/* IIR functions */ /**

* @addtogroup IIR_Lattice
extern void (*ne10_iir_lattice_float) (const ne10_iir_lattice_instance_f32_t * S, * @{
ne10_float32_t * pSrc, */
ne10_float32_t * pDst,
ne10_uint32_t blockSize);

extern ne10_result_t ne10_iir_lattice_init_float (ne10_iir_lattice_instance_f32_t * S, extern ne10_result_t ne10_iir_lattice_init_float (ne10_iir_lattice_instance_f32_t * S,
ne10_uint16_t numStages, ne10_uint16_t numStages,
ne10_float32_t * pkCoeffs, ne10_float32_t * pkCoeffs,
ne10_float32_t * pvCoeffs, ne10_float32_t * pvCoeffs,
ne10_float32_t * pState, ne10_float32_t * pState,
ne10_uint32_t blockSize); ne10_uint32_t blockSize);


/**
* @brief Processing function for the floating-point IIR lattice filter.
*
* @param[in] *S points to an instance of the floating-point IIR lattice structure.
* @param[in] *pSrc points to the block of input data.
* @param[out] *pDst points to the block of output data.
* @param[in] blockSize number of samples to process.
*
* Points to @ref ne10_iir_lattice_float_c or @ref ne10_iir_lattice_float_neon.
*/
extern void (*ne10_iir_lattice_float) (const ne10_iir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc,
ne10_float32_t * pDst,
ne10_uint32_t blockSize);
extern void ne10_iir_lattice_float_c (const ne10_iir_lattice_instance_f32_t * S, extern void ne10_iir_lattice_float_c (const ne10_iir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc, ne10_float32_t * pSrc,
ne10_float32_t * pDst, ne10_float32_t * pDst,
ne10_uint32_t blockSize); ne10_uint32_t blockSize);

#ifdef ENABLE_NE10_IIR_LATTICE_FLOAT_NEON
/** /**
* @addtogroup IIR_Lattice * Specific implementation of @ref ne10_iir_lattice_float using NEON SIMD capabilities.
* @{
*/ */
#ifdef ENABLE_NE10_IIR_LATTICE_FLOAT_NEON
extern void ne10_iir_lattice_float_neon (const ne10_iir_lattice_instance_f32_t * S, extern void ne10_iir_lattice_float_neon (const ne10_iir_lattice_instance_f32_t * S,
ne10_float32_t * pSrc, ne10_float32_t * pSrc,
ne10_float32_t * pDst, ne10_float32_t * pDst,
Expand Down

0 comments on commit a91757e

Please sign in to comment.