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