Home | History | Annotate | Download | only in drc_src
      1 /******************************************************************************
      2  *
      3  * Copyright (C) 2015 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  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
     19 */
     20 #ifndef IMPD_DRC_UNI_PROCESS_AUDIO_H
     21 #define IMPD_DRC_UNI_PROCESS_AUDIO_H
     22 
     23 #ifdef __cplusplus
     24 extern "C" {
     25 #endif
     26 
     27 typedef struct {
     28   WORD32 multiband_audio_sig_count;
     29   WORD32 frame_size;
     30   FLOAT32** non_interleaved_audio;
     31 } ia_audio_band_buffer_struct;
     32 
     33 WORD32
     34 impd_apply_gains_subband(ia_drc_instructions_struct* pstr_drc_instruction_arr,
     35                          const WORD32 drc_instructions_index,
     36                          ia_drc_params_struct* ia_drc_params_struct,
     37                          ia_gain_buffer_struct* pstr_gain_buf,
     38                          ia_overlap_params_struct* pstr_overlap_params,
     39                          FLOAT32* deinterleaved_audio_re[],
     40                          FLOAT32* deinterleaved_audio_im[]);
     41 
     42 WORD32
     43 impd_filter_banks_process(ia_drc_instructions_struct* pstr_drc_instruction_arr,
     44                           const WORD32 drc_instructions_index,
     45                           ia_drc_params_struct* ia_drc_params_struct,
     46                           FLOAT32* audio_io_buf[],
     47                           ia_audio_band_buffer_struct* audio_band_buffer,
     48                           ia_filter_banks_struct* ia_filter_banks_struct,
     49                           const WORD32 passThru);
     50 
     51 #ifdef __cplusplus
     52 }
     53 #endif
     54 #endif
     55