|
@@ -239,8 +239,10 @@ static void silk_lsf2lpc(const int16_t nlsf[16], float lpcf[16], int order) |
|
|
|
|
|
|
|
|
/* reconstruct A(z) */ |
|
|
/* reconstruct A(z) */ |
|
|
for (k = 0; k < order>>1; k++) { |
|
|
for (k = 0; k < order>>1; k++) { |
|
|
lpc32[k] = -p[k + 1] - p[k] - q[k + 1] + q[k]; |
|
|
|
|
|
lpc32[order-k-1] = -p[k + 1] - p[k] + q[k + 1] - q[k]; |
|
|
|
|
|
|
|
|
int32_t p_tmp = p[k + 1] + p[k]; |
|
|
|
|
|
int32_t q_tmp = q[k + 1] - q[k]; |
|
|
|
|
|
lpc32[k] = -q_tmp - p_tmp; |
|
|
|
|
|
lpc32[order-k-1] = q_tmp - p_tmp; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* limit the range of the LPC coefficients to each fit within an int16_t */ |
|
|
/* limit the range of the LPC coefficients to each fit within an int16_t */ |
|
|