Libav
Functions
celp_math.h File Reference
#include <stdint.h>

Go to the source code of this file.

Functions

int ff_exp2 (uint16_t power)
 fixed-point implementation of exp2(x) in [0; 1] domain. More...
 
int ff_log2_q15 (uint32_t value)
 Calculate log2(x). More...
 
int64_t ff_dot_product (const int16_t *a, const int16_t *b, int length)
 Calculate the dot product of 2 int16_t vectors. More...
 
static int bidir_sal (int value, int offset)
 Shift value left or right depending on sign of offset parameter. More...
 

Function Documentation

◆ ff_exp2()

int ff_exp2 ( uint16_t  power)

fixed-point implementation of exp2(x) in [0; 1] domain.

Parameters
powerargument to exp2, 0 <= power <= 0x7fff
Returns
value of (1<<20) * exp2(power / (1<<15)) 0x8000c <= result <= 0xfffea

Definition at line 49 of file celp_math.c.

◆ ff_log2_q15()

int ff_log2_q15 ( uint32_t  value)

Calculate log2(x).

Parameters
valuefunction argument, 0 < value <= 7fff ffff
Returns
value of (1<<15) * log2(value)

Definition at line 72 of file celp_math.c.

Referenced by ff_acelp_update_past_gain().

◆ ff_dot_product()

int64_t ff_dot_product ( const int16_t *  a,
const int16_t *  b,
int  length 
)

Calculate the dot product of 2 int16_t vectors.

Parameters
ainput data array
binput data array
lengthnumber of elements
Returns
dot product = sum of elementwise products

Definition at line 92 of file celp_math.c.

Referenced by acb_search(), comp_autocorr(), comp_harmonic_coeff(), estimate_pitch(), and ff_g723_1_dot_product().

◆ bidir_sal()

static int bidir_sal ( int  value,
int  offset 
)
inlinestatic

Shift value left or right depending on sign of offset parameter.

Parameters
valuevalue to shift
offsetshift offset
Returns
value << offset, if offset>=0; value >> -offset - otherwise

Definition at line 62 of file celp_math.h.