[FFmpeg-cvslog] celp_math: Move ff_cos() to the only place it is used
Diego Biurrun
git at videolan.org
Tue Aug 28 16:33:23 CEST 2012
ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Sun Aug 26 17:27:12 2012 +0200| [55498543354335697bf1c5616a2ba94c64fbdcf1] | committer: Diego Biurrun
celp_math: Move ff_cos() to the only place it is used
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55498543354335697bf1c5616a2ba94c64fbdcf1
---
libavcodec/Makefile | 4 ++--
libavcodec/celp_math.c | 25 -------------------------
libavcodec/celp_math.h | 8 --------
libavcodec/lsp.c | 24 ++++++++++++++++++++++++
4 files changed, 26 insertions(+), 35 deletions(-)
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 87f716c..d491fc2 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -171,7 +171,7 @@ OBJS-$(CONFIG_FOURXM_DECODER) += 4xm.o
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
OBJS-$(CONFIG_FRWU_DECODER) += frwu.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_ENCODER) += gif.o lzwenc.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_TSCC2_DECODER) += tscc2.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_ULTI_DECODER) += ulti.o
OBJS-$(CONFIG_UTVIDEO_DECODER) += utvideodec.o utvideo.o
diff --git a/libavcodec/celp_math.c b/libavcodec/celp_math.c
index a34508f..b28c51b 100644
--- a/libavcodec/celp_math.c
+++ b/libavcodec/celp_math.c
@@ -28,21 +28,6 @@
#include "celp_math.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[]=
{
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,
};
-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)
{
unsigned int result= exp2a[power>>10] + 0x10000;
diff --git a/libavcodec/celp_math.h b/libavcodec/celp_math.h
index 4a502ca..92cc2ab 100644
--- a/libavcodec/celp_math.h
+++ b/libavcodec/celp_math.h
@@ -26,14 +26,6 @@
#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.
* @param power argument to exp2, 0 <= power <= 0x7fff
*
diff --git a/libavcodec/lsp.c b/libavcodec/lsp.c
index 2adc9cf..b501bfb 100644
--- a/libavcodec/lsp.c
+++ b/libavcodec/lsp.c
@@ -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);
}
+
+/* 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)
{
int i;
More information about the ffmpeg-cvslog
mailing list