Home | History | Annotate | Download | only in src
      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 #ifndef __LVCS_EQUALISER_H__
     19 #define __LVCS_EQUALISER_H__
     20 
     21 #ifdef __cplusplus
     22 extern "C" {
     23 #endif /* __cplusplus */
     24 
     25 
     26 /************************************************************************************/
     27 /*                                                                                  */
     28 /*    Structures                                                                    */
     29 /*                                                                                  */
     30 /************************************************************************************/
     31 
     32 /* Equaliser structure */
     33 typedef struct
     34 {
     35 #ifndef BUILD_FLOAT
     36     void (*pBiquadCallBack) (Biquad_Instance_t*, LVM_INT16*, LVM_INT16*, LVM_INT16);
     37 #else
     38     void (*pBiquadCallBack) (Biquad_FLOAT_Instance_t*, LVM_FLOAT*, LVM_FLOAT*, LVM_INT16);
     39 #endif
     40 } LVCS_Equaliser_t;
     41 
     42 
     43 /************************************************************************************/
     44 /*                                                                                  */
     45 /*    Function prototypes                                                           */
     46 /*                                                                                  */
     47 /************************************************************************************/
     48 
     49 LVCS_ReturnStatus_en LVCS_EqualiserInit(LVCS_Handle_t       hInstance,
     50                                         LVCS_Params_t       *pParams);
     51 #ifndef BUILD_FLOAT
     52 LVCS_ReturnStatus_en LVCS_Equaliser(LVCS_Handle_t            hInstance,
     53                                     LVM_INT16                *pInputOutput,
     54                                     LVM_UINT16                NumSamples);
     55 #else
     56 LVCS_ReturnStatus_en LVCS_Equaliser(LVCS_Handle_t            hInstance,
     57                                     LVM_FLOAT                *pInputOutput,
     58                                     LVM_UINT16                NumSamples);
     59 #endif
     60 #ifdef __cplusplus
     61 }
     62 #endif /* __cplusplus */
     63 
     64 #endif  /* EQUALISER_H */
     65