spreproc.h revision b841f14f8e51f2365945281fbfa54ef6a1b1b5a6
187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor/* ------------------------------------------------------------------
287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * Copyright (C) 1998-2009 PacketVideo
387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor *
487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * Licensed under the Apache License, Version 2.0 (the "License");
587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * you may not use this file except in compliance with the License.
687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * You may obtain a copy of the License at
787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor *
887bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor *      http://www.apache.org/licenses/LICENSE-2.0
987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor *
1087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * Unless required by applicable law or agreed to in writing, software
1187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * distributed under the License is distributed on an "AS IS" BASIS,
1287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
1387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * express or implied.
1487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * See the License for the specific language governing permissions
1587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * and limitations under the License.
1687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * -------------------------------------------------------------------
1787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor */
1887bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor/****************************************************************************************
1987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd PoynorPortions of this file are derived from the following 3GPP standard:
2087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
2187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor    3GPP TS 26.073
2287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor    ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
2387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor    Available from http://www.3gpp.org
2487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
2587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor(C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
2687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd PoynorPermission to distribute, modify and use this file under the standard license
2787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynorterms listed above has been obtained from the copyright holder.
2887bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor****************************************************************************************/
2987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor/*
3087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor------------------------------------------------------------------------------
3187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
3287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
3387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
3487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor Filename: /audio/gsm_amr/c/include/spreproc.h
3587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
3687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor     Date: 02/06/2002
3787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
38347f2884dbb29efd9b996bbd7ae7ca7996eb5f08Andreas Gampe------------------------------------------------------------------------------
3987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor REVISION HISTORY
4087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
4187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor Description: Placed header file in the proper template format.
4287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
4387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor Description:  Replaced "int" and/or "char" with OSCL defined types.
4487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
4587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor Description: Moved _cplusplus #ifdef after Include section.
4687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor
47 Description:
48
49------------------------------------------------------------------------------
50 INCLUDE DESCRIPTION
51
52 This file contains all the constant definitions and prototype definitions
53 needed by the file, spreproc.c
54
55------------------------------------------------------------------------------
56*/
57
58/*----------------------------------------------------------------------------
59; CONTINUE ONLY IF NOT ALREADY DEFINED
60----------------------------------------------------------------------------*/
61#ifndef spreproc_h
62#define spreproc_h "$Id $"
63
64/*----------------------------------------------------------------------------
65; INCLUDES
66----------------------------------------------------------------------------*/
67#include "cnst.h"
68#include "mode.h"
69#include "typedef.h"
70
71/*--------------------------------------------------------------------------*/
72#ifdef __cplusplus
73extern "C"
74{
75#endif
76
77    /*----------------------------------------------------------------------------
78    ; MACROS
79    ; Define module specific macros here
80    ----------------------------------------------------------------------------*/
81
82    /*----------------------------------------------------------------------------
83    ; DEFINES
84    ; Include all pre-processor statements here.
85    ----------------------------------------------------------------------------*/
86
87    /*----------------------------------------------------------------------------
88    ; EXTERNAL VARIABLES REFERENCES
89    ; Declare variables used in this module but defined elsewhere
90    ----------------------------------------------------------------------------*/
91
92    /*----------------------------------------------------------------------------
93    ; SIMPLE TYPEDEF'S
94    ----------------------------------------------------------------------------*/
95
96    /*----------------------------------------------------------------------------
97    ; ENUMERATED TYPEDEF'S
98    ----------------------------------------------------------------------------*/
99
100    /*----------------------------------------------------------------------------
101    ; STRUCTURES TYPEDEF'S
102    ----------------------------------------------------------------------------*/
103
104    /*----------------------------------------------------------------------------
105    ; GLOBAL FUNCTION DEFINITIONS
106    ; Function Prototype declaration
107    ----------------------------------------------------------------------------*/
108    void subframePreProc(
109        enum Mode mode,            /* i  : coder mode                            */
110        const Word16 gamma1[],     /* i  : spectral exp. factor 1                */
111        const Word16 gamma1_12k2[],/* i  : spectral exp. factor 1 for EFR        */
112        const Word16 gamma2[],     /* i  : spectral exp. factor 2                */
113        Word16 *A,                 /* i  : A(z) unquantized for the 4 subframes  */
114        Word16 *Aq,                /* i  : A(z)   quantized for the 4 subframes  */
115        Word16 *speech,            /* i  : speech segment                        */
116        Word16 *mem_err,           /* i  : pointer to error signal               */
117        Word16 *mem_w0,            /* i  : memory of weighting filter            */
118        Word16 *zero,              /* i  : pointer to zero vector                */
119        Word16 ai_zero[],          /* o  : history of weighted synth. filter     */
120        Word16 exc[],              /* o  : long term prediction residual         */
121        Word16 h1[],               /* o  : impulse response                      */
122        Word16 xn[],               /* o  : target vector for pitch search        */
123        Word16 res2[],             /* o  : long term prediction residual         */
124        Word16 error[]             /* o  : error of LPC synthesis filter         */
125    );
126
127    /*----------------------------------------------------------------------------
128    ; END
129    ----------------------------------------------------------------------------*/
130#ifdef __cplusplus
131}
132#endif
133
134#endif /* spreproc_h */
135
136