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