Skip to content

Commit

Permalink
avcodec/lsp: Move ff_lsp2polyf() upwards in lsp.c
Browse files Browse the repository at this point in the history
Will avoid a forward declaration lateron.
Also adapt the function to modern style while at it.

Signed-off-by: Andreas Rheinhardt <[email protected]>
  • Loading branch information
mkver committed Sep 28, 2022
1 parent ba07c84 commit e098062
Showing 1 changed file with 16 additions and 19 deletions.
35 changes: 16 additions & 19 deletions libavcodec/lsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,22 @@ static void lsp2poly(int* f, const int16_t* lsp, int lp_half_order)
}
}

#ifndef ff_lsp2polyf
void ff_lsp2polyf(const double *lsp, double *f, int lp_half_order)
{
f[0] = 1.0;
f[1] = -2 * lsp[0];
lsp -= 2;
for (int i = 2; i <= lp_half_order; i++) {
double val = -2 * lsp[2*i];
f[i] = val * f[i-1] + 2*f[i-2];
for (int j = i-1; j > 1; j--)
f[j] += f[j-1] * val + f[j-2];
f[1] += val;
}
}
#endif /* ff_lsp2polyf */

void ff_acelp_lsp2lpc(int16_t* lp, const int16_t* lsp, int lp_half_order)
{
int i;
Expand Down Expand Up @@ -191,25 +207,6 @@ void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd
ff_acelp_lsp2lpc(lp_2nd, lsp_2nd, lp_order >> 1);
}

#ifndef ff_lsp2polyf
void ff_lsp2polyf(const double *lsp, double *f, int lp_half_order)
{
int i, j;

f[0] = 1.0;
f[1] = -2 * lsp[0];
lsp -= 2;
for(i=2; i<=lp_half_order; i++)
{
double val = -2 * lsp[2*i];
f[i] = val * f[i-1] + 2*f[i-2];
for(j=i-1; j>1; j--)
f[j] += f[j-1] * val + f[j-2];
f[1] += val;
}
}
#endif /* ff_lsp2polyf */

void ff_acelp_lspd2lpc(const double *lsp, float *lpc, int lp_half_order)
{
double pa[MAX_LP_HALF_ORDER+1], qa[MAX_LP_HALF_ORDER+1];
Expand Down

0 comments on commit e098062

Please sign in to comment.