FFmpeg
Functions | Variables
celp_math.c File Reference
#include <inttypes.h>
#include <limits.h>
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "mathops.h"
#include "celp_math.h"
#include "libavutil/common.h"

Go to the source code of this file.

Functions

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...
 
float ff_dot_productf (const float *a, const float *b, int length)
 Return the dot product. More...
 
void ff_celp_math_init (CELPMContext *c)
 Initialize CELPMContext. More...
 

Variables

static const uint16_t tab_log2 [33]
 Table used to compute log2(x) More...
 

Function Documentation

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 80 of file celp_math.c.

Referenced by ff_acelp_update_past_gain(), and main().

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 100 of file celp_math.c.

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

float ff_dot_productf ( const float *  a,
const float *  b,
int  length 
)

Return the dot product.

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

Definition at line 111 of file celp_math.c.

Referenced by bidir_sal(), ff_celp_math_init(), and main().

void ff_celp_math_init ( CELPMContext c)

Initialize CELPMContext.

Definition at line 122 of file celp_math.c.

Referenced by amrnb_decode_init(), and amrwb_decode_init().

Variable Documentation

const uint16_t tab_log2[33]
static
Initial value:
=
{
4, 1459, 2870, 4240, 5572, 6867, 8127, 9355,
10552, 11719, 12858, 13971, 15057, 16120, 17158, 18175,
19170, 20145, 21100, 22036, 22954, 23854, 24738, 25605,
26457, 27294, 28116, 28924, 29719, 30500, 31269, 32025, 32769,
}

Table used to compute log2(x)

tab_log2[i] = (1<<15) * log2(1 + i/32), i=0..32

Definition at line 65 of file celp_math.c.

Referenced by ff_log2_q15().