1 /* 2 * Copyright (C) 2004-2010 NXP Software 3 * Copyright (C) 2010 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 /*-------------------------------------------------------------------------*/ 19 #include "BIQUAD.h" 20 #include "FO_2I_D16F32Css_LShx_TRC_WRA_01_Private.h" 21 22 /*-------------------------------------------------------------------------*/ 23 /* FUNCTION: */ 24 /* FO_2I_D16F32Css_LShx_TRC_WRA_01_Init */ 25 /* */ 26 /* DESCRIPTION: */ 27 /* These functions initializes a BIQUAD filter defined as a cascade of */ 28 /* biquadratic Filter Sections. */ 29 /* */ 30 /* PARAMETERS: */ 31 /* pInstance - output, returns the pointer to the State Variable */ 32 /* This state pointer must be passed to any subsequent */ 33 /* call to "Biquad" functions. */ 34 /* pTaps - input, pointer to the taps memory */ 35 /* pCoef - input, pointer to the coefficient structure */ 36 /* N - M coefficient factor of QM.N */ 37 /* RETURNS: */ 38 /* void return code */ 39 /*-------------------------------------------------------------------------*/ 40 #ifdef BUILD_FLOAT 41 void FO_2I_D16F32Css_LShx_TRC_WRA_01_Init(Biquad_FLOAT_Instance_t *pInstance, 42 Biquad_2I_Order1_FLOAT_Taps_t *pTaps, 43 FO_FLOAT_LShx_Coefs_t *pCoef) 44 { 45 LVM_FLOAT temp; 46 PFilter_Float_State pBiquadState = (PFilter_Float_State) pInstance; 47 pBiquadState->pDelays = (LVM_FLOAT *) pTaps ; 48 49 temp = pCoef->A1; 50 pBiquadState->coefs[0] = temp; 51 temp = pCoef->A0; 52 pBiquadState->coefs[1] = temp; 53 temp = pCoef->B1; 54 pBiquadState->coefs[2] = temp; 55 } 56 #else 57 void FO_2I_D16F32Css_LShx_TRC_WRA_01_Init(Biquad_Instance_t *pInstance, 58 Biquad_2I_Order1_Taps_t *pTaps, 59 FO_C16_LShx_Coefs_t *pCoef) 60 { 61 LVM_INT16 temp; 62 PFilter_State pBiquadState = (PFilter_State) pInstance; 63 pBiquadState->pDelays =(LVM_INT32 *) pTaps ; 64 65 temp=pCoef->A1; 66 pBiquadState->coefs[0]=temp; 67 temp=pCoef->A0; 68 pBiquadState->coefs[1]=temp; 69 temp=pCoef->B1; 70 pBiquadState->coefs[2]=temp; 71 72 temp=pCoef->Shift; 73 pBiquadState->Shift = temp; 74 } 75 #endif 76 /*-------------------------------------------------------------------------*/ 77 /* End Of File: FO_2I_D16F32Css_LShx_TRC_WRA_01_Init.c */ 78 79