#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_exp2 (uint16_t power) |
| fixed-point implementation of exp2(x) in [0; 1] domain. | |
| int | ff_log2 (uint32_t value) |
| Calculate log2(x). | |
| int64_t | ff_dot_product (const int16_t *a, const int16_t *b, int length) |
| returns the dot product of 2 int16_t vectors. | |
| float | ff_dot_productf (const float *a, const float *b, int length) |
| Return the dot product. | |
| void | ff_celp_math_init (CELPMContext *c) |
| Initialize CELPMContext. | |
Variables | |
| static const uint16_t | exp2a [] |
| static const uint16_t | exp2b [] |
| static const uint16_t | tab_log2 [33] |
| Table used to compute log2(x). | |
| void ff_celp_math_init | ( | CELPMContext * | c | ) |
Initialize CELPMContext.
Definition at line 120 of file celp_math.c.
Referenced by amrnb_decode_init(), and amrwb_decode_init().
returns the dot product of 2 int16_t vectors.
| a | input data array | |
| b | input data array | |
| length | number of elements |
Definition at line 98 of file celp_math.c.
Referenced by dot_product(), and gen_acb_excitation().
| float ff_dot_productf | ( | const float * | a, | |
| const float * | b, | |||
| int | length | |||
| ) |
Return the dot product.
| a | input data array | |
| b | input data array | |
| length | number of elements |
Definition at line 109 of file celp_math.c.
Referenced by ff_celp_math_init().
| int ff_exp2 | ( | uint16_t | power | ) |
fixed-point implementation of exp2(x) in [0; 1] domain.
| power | argument to exp2, 0 <= power <= 0x7fff |
Definition at line 48 of file celp_math.c.
Referenced by ff_acelp_decode_gain_code().
| int ff_log2 | ( | uint32_t | value | ) |
Calculate log2(x).
| value | function argument, 0 < value <= 7fff ffff |
Definition at line 78 of file celp_math.c.
Referenced by ff_acelp_decode_gain_code(), and ff_acelp_update_past_gain().
const uint16_t exp2a[] [static] |
Initial value:
{
0, 1435, 2901, 4400, 5931, 7496, 9096, 10730,
12400, 14106, 15850, 17632, 19454, 21315, 23216, 25160,
27146, 29175, 31249, 33368, 35534, 37747, 40009, 42320,
44682, 47095, 49562, 52082, 54657, 57289, 59979, 62727,
}
Definition at line 32 of file celp_math.c.
Referenced by ff_exp2().
const uint16_t exp2b[] [static] |
Initial value:
{
3, 712, 1424, 2134, 2845, 3557, 4270, 4982,
5696, 6409, 7124, 7839, 8554, 9270, 9986, 10704,
11421, 12138, 12857, 13576, 14295, 15014, 15734, 16455,
17176, 17898, 18620, 19343, 20066, 20790, 21514, 22238,
}
Definition at line 40 of file celp_math.c.
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,
}
tab_log2[i] = (1<<15) * log2(1 + i/32), i=0..32
Definition at line 63 of file celp_math.c.
Referenced by ff_log2().
1.5.8