Home | History | Annotate | Download | only in ilbc
      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 
     43 void WebRtcIlbcfix_GetLspPoly(
     44     int16_t *lsp, /* (i) LSP in Q15 */
     45     int32_t *f);  /* (o) polonymial in Q24 */
     46 
     47 #endif
     48