Browse Source

Allow a SIPR table to be used by the upcoming SIPR16k decoder

Originally committed as revision 21233 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Vitor Sessak 15 years ago
parent
commit
d79c06b2ad
2 changed files with 8 additions and 8 deletions
  1. +8
    -1
      libavcodec/sipr.c
  2. +0
    -7
      libavcodec/siprdata.h

+ 8
- 1
libavcodec/sipr.c View File

@@ -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,


+ 0
- 7
libavcodec/siprdata.h View File

@@ -24,13 +24,6 @@
#ifndef AVCODEC_SIPRDATA_H
#define AVCODEC_SIPRDATA_H

static const float 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 const float mean_lsf[10] = {
0.297151, 0.452308, 0.765443, 1.134803, 1.421125,
1.773822, 2.049173, 2.375914, 2.585097, 0.075756


Loading…
Cancel
Save