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_1I_D16F16Css_TRC_WRA_01_Private.h" 21 22 23 /*-------------------------------------------------------------------------*/ 24 /* FUNCTION: */ 25 /* FO_1I_D16F16Css_TRC_WRA_01_Init */ 26 /* */ 27 /* DESCRIPTION: */ 28 /* These functions initializes a BIQUAD filter defined as a cascade of */ 29 /* biquadratic Filter Sections. */ 30 /* */ 31 /* PARAMETERS: */ 32 /* pInstance - output, returns the pointer to the State Variable */ 33 /* This state pointer must be passed to any subsequent */ 34 /* call to "Biquad" functions. */ 35 /* pTaps - input, pointer to the taps memory */ 36 /* pCoef - input, pointer to the coefficient structure */ 37 /* N - M coefficient factor of QM.N */ 38 /* RETURNS: */ 39 /* void return code */ 40 /*-------------------------------------------------------------------------*/ 41 #ifdef BUILD_FLOAT 42 void FO_1I_D16F16Css_TRC_WRA_01_Init( Biquad_FLOAT_Instance_t *pInstance, 43 Biquad_1I_Order1_FLOAT_Taps_t *pTaps, 44 FO_FLOAT_Coefs_t *pCoef) 45 { 46 LVM_FLOAT temp; 47 PFilter_State_FLOAT pBiquadState = (PFilter_State_FLOAT) pInstance; 48 pBiquadState->pDelays = (LVM_FLOAT *)pTaps; 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_1I_D16F16Css_TRC_WRA_01_Init( Biquad_Instance_t *pInstance, 58 Biquad_1I_Order1_Taps_t *pTaps, 59 FO_C16_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 #endif 73 /*------------------------------------------------*/ 74 /* End Of File: FO_1I_D16F16Css_TRC_WRA_01_Init.c */ 75 76