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 "BQ_2I_D16F16Css_TRC_WRA_01_Private.h" 21 22 23 /*-------------------------------------------------------------------------*/ 24 /* FUNCTION: */ 25 /* BQ_2I_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 BQ_2I_D16F16Css_TRC_WRA_01_Init ( Biquad_FLOAT_Instance_t *pInstance, 43 Biquad_2I_Order2_FLOAT_Taps_t *pTaps, 44 BQ_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 50 temp = pCoef->A2; 51 pBiquadState->coefs[0] = temp; 52 temp = pCoef->A1; 53 pBiquadState->coefs[1] = temp; 54 temp = pCoef->A0; 55 pBiquadState->coefs[2] = temp; 56 temp = pCoef->B2; 57 pBiquadState->coefs[3] = temp; 58 temp = pCoef->B1; 59 pBiquadState->coefs[4] = temp; 60 } 61 #else 62 void BQ_2I_D16F16Css_TRC_WRA_01_Init ( Biquad_Instance_t *pInstance, 63 Biquad_2I_Order2_Taps_t *pTaps, 64 BQ_C16_Coefs_t *pCoef) 65 { 66 LVM_INT16 temp; 67 PFilter_State pBiquadState = (PFilter_State) pInstance; 68 pBiquadState->pDelays =(LVM_INT32 *) pTaps ; 69 70 temp=pCoef->A2; 71 pBiquadState->coefs[0]=temp; 72 temp=pCoef->A1; 73 pBiquadState->coefs[1]=temp; 74 temp=pCoef->A0; 75 pBiquadState->coefs[2]=temp; 76 temp=pCoef->B2; 77 pBiquadState->coefs[3]=temp; 78 temp=pCoef->B1; 79 pBiquadState->coefs[4]=temp; 80 } 81 #endif 82 /*-------------------------------------------------------------------------*/ 83 /* End Of File: BQ_2I_D16F16Css_TRC_WRA_01_Init.c */ 84 85