celp_math: Move ff_cos() to the only place it is used
This commit is contained in:
@@ -171,7 +171,7 @@ OBJS-$(CONFIG_FOURXM_DECODER) += 4xm.o
|
|||||||
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
|
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
|
||||||
OBJS-$(CONFIG_FRWU_DECODER) += frwu.o
|
OBJS-$(CONFIG_FRWU_DECODER) += frwu.o
|
||||||
OBJS-$(CONFIG_G723_1_DECODER) += g723_1.o acelp_vectors.o \
|
OBJS-$(CONFIG_G723_1_DECODER) += g723_1.o acelp_vectors.o \
|
||||||
celp_filters.o celp_math.o
|
celp_filters.o
|
||||||
OBJS-$(CONFIG_GIF_DECODER) += gifdec.o lzw.o
|
OBJS-$(CONFIG_GIF_DECODER) += gifdec.o lzw.o
|
||||||
OBJS-$(CONFIG_GIF_ENCODER) += gif.o lzwenc.o
|
OBJS-$(CONFIG_GIF_ENCODER) += gif.o lzwenc.o
|
||||||
OBJS-$(CONFIG_GSM_DECODER) += gsmdec.o gsmdec_data.o msgsmdec.o
|
OBJS-$(CONFIG_GSM_DECODER) += gsmdec.o gsmdec_data.o msgsmdec.o
|
||||||
@@ -367,7 +367,7 @@ OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o
|
|||||||
OBJS-$(CONFIG_TSCC_DECODER) += tscc.o msrledec.o
|
OBJS-$(CONFIG_TSCC_DECODER) += tscc.o msrledec.o
|
||||||
OBJS-$(CONFIG_TSCC2_DECODER) += tscc2.o
|
OBJS-$(CONFIG_TSCC2_DECODER) += tscc2.o
|
||||||
OBJS-$(CONFIG_TTA_DECODER) += tta.o
|
OBJS-$(CONFIG_TTA_DECODER) += tta.o
|
||||||
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvq.o celp_math.o
|
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvq.o
|
||||||
OBJS-$(CONFIG_TXD_DECODER) += txd.o s3tc.o
|
OBJS-$(CONFIG_TXD_DECODER) += txd.o s3tc.o
|
||||||
OBJS-$(CONFIG_ULTI_DECODER) += ulti.o
|
OBJS-$(CONFIG_ULTI_DECODER) += ulti.o
|
||||||
OBJS-$(CONFIG_UTVIDEO_DECODER) += utvideodec.o utvideo.o
|
OBJS-$(CONFIG_UTVIDEO_DECODER) += utvideodec.o utvideo.o
|
||||||
|
@@ -28,21 +28,6 @@
|
|||||||
#include "celp_math.h"
|
#include "celp_math.h"
|
||||||
#include "libavutil/common.h"
|
#include "libavutil/common.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* Cosine table: base_cos[i] = (1<<15) * cos(i*PI/64)
|
|
||||||
*/
|
|
||||||
static const int16_t tab_cos[65] =
|
|
||||||
{
|
|
||||||
32767, 32738, 32617, 32421, 32145, 31793, 31364, 30860,
|
|
||||||
30280, 29629, 28905, 28113, 27252, 26326, 25336, 24285,
|
|
||||||
23176, 22011, 20793, 19525, 18210, 16851, 15451, 14014,
|
|
||||||
12543, 11043, 9515, 7965, 6395, 4810, 3214, 1609,
|
|
||||||
1, -1607, -3211, -4808, -6393, -7962, -9513, -11040,
|
|
||||||
-12541, -14012, -15449, -16848, -18207, -19523, -20791, -22009,
|
|
||||||
-23174, -24283, -25334, -26324, -27250, -28111, -28904, -29627,
|
|
||||||
-30279, -30858, -31363, -31792, -32144, -32419, -32616, -32736, -32768,
|
|
||||||
};
|
|
||||||
|
|
||||||
static const uint16_t exp2a[]=
|
static const uint16_t exp2a[]=
|
||||||
{
|
{
|
||||||
0, 1435, 2901, 4400, 5931, 7496, 9096, 10730,
|
0, 1435, 2901, 4400, 5931, 7496, 9096, 10730,
|
||||||
@@ -59,16 +44,6 @@ static const uint16_t exp2b[]=
|
|||||||
17176, 17898, 18620, 19343, 20066, 20790, 21514, 22238,
|
17176, 17898, 18620, 19343, 20066, 20790, 21514, 22238,
|
||||||
};
|
};
|
||||||
|
|
||||||
int16_t ff_cos(uint16_t arg)
|
|
||||||
{
|
|
||||||
uint8_t offset= arg;
|
|
||||||
uint8_t ind = arg >> 8;
|
|
||||||
|
|
||||||
assert(arg <= 0x3fff);
|
|
||||||
|
|
||||||
return tab_cos[ind] + (offset * (tab_cos[ind+1] - tab_cos[ind]) >> 8);
|
|
||||||
}
|
|
||||||
|
|
||||||
int ff_exp2(uint16_t power)
|
int ff_exp2(uint16_t power)
|
||||||
{
|
{
|
||||||
unsigned int result= exp2a[power>>10] + 0x10000;
|
unsigned int result= exp2a[power>>10] + 0x10000;
|
||||||
|
@@ -25,14 +25,6 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
/**
|
|
||||||
* fixed-point implementation of cosine in [0; PI) domain.
|
|
||||||
* @param arg fixed-point cosine argument, 0 <= arg < 0x4000
|
|
||||||
*
|
|
||||||
* @return value of (1<<15) * cos(arg * PI / (1<<14)), -0x8000 <= result <= 0x7fff
|
|
||||||
*/
|
|
||||||
int16_t ff_cos(uint16_t arg);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fixed-point implementation of exp2(x) in [0; 1] domain.
|
* fixed-point implementation of exp2(x) in [0; 1] domain.
|
||||||
* @param power argument to exp2, 0 <= power <= 0x7fff
|
* @param power argument to exp2, 0 <= power <= 0x7fff
|
||||||
|
@@ -55,6 +55,30 @@ void ff_set_min_dist_lsf(float *lsf, double min_spacing, int size)
|
|||||||
prev = lsf[i] = FFMAX(lsf[i], prev + min_spacing);
|
prev = lsf[i] = FFMAX(lsf[i], prev + min_spacing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Cosine table: base_cos[i] = (1 << 15) * cos(i * PI / 64) */
|
||||||
|
static const int16_t tab_cos[65] =
|
||||||
|
{
|
||||||
|
32767, 32738, 32617, 32421, 32145, 31793, 31364, 30860,
|
||||||
|
30280, 29629, 28905, 28113, 27252, 26326, 25336, 24285,
|
||||||
|
23176, 22011, 20793, 19525, 18210, 16851, 15451, 14014,
|
||||||
|
12543, 11043, 9515, 7965, 6395, 4810, 3214, 1609,
|
||||||
|
1, -1607, -3211, -4808, -6393, -7962, -9513, -11040,
|
||||||
|
-12541, -14012, -15449, -16848, -18207, -19523, -20791, -22009,
|
||||||
|
-23174, -24283, -25334, -26324, -27250, -28111, -28904, -29627,
|
||||||
|
-30279, -30858, -31363, -31792, -32144, -32419, -32616, -32736, -32768,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int16_t ff_cos(uint16_t arg)
|
||||||
|
{
|
||||||
|
uint8_t offset= arg;
|
||||||
|
uint8_t ind = arg >> 8;
|
||||||
|
|
||||||
|
assert(arg <= 0x3fff);
|
||||||
|
|
||||||
|
return tab_cos[ind] + (offset * (tab_cos[ind+1] - tab_cos[ind]) >> 8);
|
||||||
|
}
|
||||||
|
|
||||||
void ff_acelp_lsf2lsp(int16_t *lsp, const int16_t *lsf, int lp_order)
|
void ff_acelp_lsf2lsp(int16_t *lsp, const int16_t *lsf, int lp_order)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
Reference in New Issue
Block a user