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
#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)
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
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++)