1/*
2 *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 *
4 *  Use of this source code is governed by a BSD-style license
5 *  that can be found in the LICENSE file in the root of the source
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10
11/******************************************************************
12
13 iLBC Speech Coder ANSI-C Source Code
14
15 WebRtcIlbcfix_GetLspPoly.h
16
17******************************************************************/
18
19#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ILBC_MAIN_SOURCE_GET_LSP_POLY_H_
20#define WEBRTC_MODULES_AUDIO_CODING_CODECS_ILBC_MAIN_SOURCE_GET_LSP_POLY_H_
21
22#include "defines.h"
23
24/*----------------------------------------------------------------*
25 * Construct the polynomials F1(z) and F2(z) from the LSP
26 * (Computations are done in Q24)
27 *
28 * The expansion is performed using the following recursion:
29 *
30 * f[0] = 1;
31 * tmp = -2.0 * lsp[0];
32 * f[1] = tmp;
33 * for (i=2; i<=5; i++) {
34 *    b = -2.0 * lsp[2*i-2];
35 *    f[i] = tmp*f[i-1] + 2.0*f[i-2];
36 *    for (j=i; j>=2; j--) {
37 *       f[j] = f[j] + tmp*f[j-1] + f[j-2];
38 *    }
39 *    f[i] = f[i] + tmp;
40 * }
41 *---------------------------------------------------------------*/
42
43void WebRtcIlbcfix_GetLspPoly(
44    int16_t *lsp, /* (i) LSP in Q15 */
45    int32_t *f);  /* (o) polonymial in Q24 */
46
47#endif
48