1dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/* ------------------------------------------------------------------
2dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Copyright (C) 1998-2009 PacketVideo
3dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber *
4dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License");
5dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * you may not use this file except in compliance with the License.
6dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * You may obtain a copy of the License at
7dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber *
8dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber *      http://www.apache.org/licenses/LICENSE-2.0
9dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber *
10dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Unless required by applicable law or agreed to in writing, software
11dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS,
12dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * express or implied.
14dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * See the License for the specific language governing permissions
15dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * and limitations under the License.
16dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * -------------------------------------------------------------------
17dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber */
18dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*
19dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
20dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Pathname: tns_decode_coef.h
21dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
22dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------
23dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber REVISION HISTORY
24dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
25dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Modified to return the LPC coefficients in-place, so the
26dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber interface to tns_decode_coef is changed.
27dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
28dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Modified to return the q-format of the LPC coefficients.
29dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
30dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Modified so that only the function is declared here.  extern
31dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber references to constant tables removed.  Also, new copyright header included.
32dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
33dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Modified to include extra parameter, so tns_decode_coef can use
34dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber scratch memory techniques.
35dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
36dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description:
37dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber (1) Modified to include the lines...
38dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
39dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    #ifdef __cplusplus
40dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    extern "C" {
41dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    #endif
42dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
43dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    #ifdef __cplusplus
44dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    }
45dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    #endif
46dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
47dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber (2) Updated the copyright header.
48dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
49dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Who:                       Date:
50dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description:
51dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------
52dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber INCLUDE DESCRIPTION
53dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
54dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber This function includes the function declaration for tns_decode_coef()
55dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
56dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------
57dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber*/
58dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
59dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*----------------------------------------------------------------------------
60dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; CONTINUE ONLY IF NOT ALREADY DEFINED
61dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/
62dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef TNS_DECODE_COEF_H
63dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define TNS_DECODE_COEF_H
64dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
65dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifdef __cplusplus
66dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huberextern "C"
67dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber{
68dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
69dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
70dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
71dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; INCLUDES
72dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
73dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
74dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
75dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; MACROS
76dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; Define module specific macros here
77dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
78dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
79dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
80dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; DEFINES
81dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; Include all pre-processor statements here.
82dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
83dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
84dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
85dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; EXTERNAL VARIABLES REFERENCES
86dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; Declare variables used in this module but defined elsewhere
87dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
88dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
89dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
90dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; SIMPLE TYPEDEF'S
91dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
92dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
93dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
94dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; ENUMERATED TYPEDEF'S
95dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
96dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
97dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
98dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; STRUCTURES TYPEDEF'S
99dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
100dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
101dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    /*----------------------------------------------------------------------------
102dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; GLOBAL FUNCTION DEFINITIONS
103dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ; Function Prototype declaration
104dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    ----------------------------------------------------------------------------*/
105dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber    Int tns_decode_coef(
106dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber        const Int   order,
107dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber        const Int   coef_res,
108dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber        Int32 lpc_coef[],
109dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber        Int32 scratchTnsDecCoefMem[]);
110dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
111dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifdef __cplusplus
112dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber}
113dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
114dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
115dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif /* TNS_DECODE_COEF */
116