OSDN Git Service

Do not reimplement ff_celp_lp_synthesis_filterf().
authorVitor Sessak <vitor1001@gmail.com>
Tue, 24 Feb 2009 18:11:42 +0000 (18:11 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Tue, 24 Feb 2009 18:11:42 +0000 (18:11 +0000)
Originally committed as revision 17562 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/Makefile
libavcodec/ra288.c

index 1c2dbd7..afb1ede 100644 (file)
@@ -173,7 +173,7 @@ OBJS-$(CONFIG_QPEG_DECODER)            += qpeg.o
 OBJS-$(CONFIG_QTRLE_DECODER)           += qtrle.o
 OBJS-$(CONFIG_QTRLE_ENCODER)           += qtrleenc.o
 OBJS-$(CONFIG_RA_144_DECODER)          += ra144.o celp_filters.o
-OBJS-$(CONFIG_RA_288_DECODER)          += ra288.o celp_math.o
+OBJS-$(CONFIG_RA_288_DECODER)          += ra288.o celp_math.o celp_filters.o
 OBJS-$(CONFIG_RAWVIDEO_DECODER)        += rawdec.o
 OBJS-$(CONFIG_RAWVIDEO_ENCODER)        += rawenc.o
 OBJS-$(CONFIG_RL2_DECODER)             += rl2.o
index c5ca3ec..746075e 100644 (file)
@@ -25,6 +25,7 @@
 #include "ra288.h"
 #include "lpc.h"
 #include "celp_math.h"
+#include "celp_filters.h"
 
 typedef struct {
     float sp_lpc[36];      ///< LPC coefficients for speech data (spec: A)
@@ -68,7 +69,7 @@ static void convolve(float *tgt, const float *src, int len, int n)
 
 static void decode(RA288Context *ractx, float gain, int cb_coef)
 {
-    int i, j;
+    int i;
     double sumsum;
     float sum, buffer[5];
     float *block = ractx->sp_hist + 70 + 36; // current block
@@ -100,11 +101,7 @@ static void decode(RA288Context *ractx, float gain, int cb_coef)
 
     gain_block[9] = 10 * log10(sum) - 32;
 
-    for (i=0; i < 5; i++) {
-        block[i] = buffer[i];
-        for (j=0; j < 36; j++)
-            block[i] -= block[i-1-j]*ractx->sp_lpc[j];
-    }
+    ff_celp_lp_synthesis_filterf(block, ractx->sp_lpc, buffer, 5, 36);
 
     /* output */
     for (i=0; i < 5; i++)