|
@@ -110,6 +110,13 @@ static const SiprModeParam modes[MODE_COUNT] = {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+const float ff_pow_0_5[] = {
|
|
|
+ 1.0/(1 << 1), 1.0/(1 << 2), 1.0/(1 << 3), 1.0/(1 << 4),
|
|
|
+ 1.0/(1 << 5), 1.0/(1 << 6), 1.0/(1 << 7), 1.0/(1 << 8),
|
|
|
+ 1.0/(1 << 9), 1.0/(1 << 10), 1.0/(1 << 11), 1.0/(1 << 12),
|
|
|
+ 1.0/(1 << 13), 1.0/(1 << 14), 1.0/(1 << 15), 1.0/(1 << 16)
|
|
|
+};
|
|
|
+
|
|
|
static void dequant(float *out, const int *idx, const float *cbs[])
|
|
|
{
|
|
|
int i;
|
|
@@ -273,7 +280,7 @@ static void postfilter_5k0(SiprContext *ctx, const float *lpc, float *samples)
|
|
|
|
|
|
for (i = 0; i < LP_FILTER_ORDER; i++) {
|
|
|
lpc_d[i] = lpc[i] * ff_pow_0_75[i];
|
|
|
- lpc_n[i] = lpc[i] * pow_0_5 [i];
|
|
|
+ lpc_n[i] = lpc[i] * ff_pow_0_5 [i];
|
|
|
};
|
|
|
|
|
|
memcpy(pole_out - LP_FILTER_ORDER, ctx->postfilter_mem,
|