151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick/****************************************************************************** 251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * * 351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Copyright (C) 2018 The Android Open Source Project 451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * 551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Licensed under the Apache License, Version 2.0 (the "License"); 651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * you may not use this file except in compliance with the License. 751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * You may obtain a copy of the License at: 851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * 951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * http://www.apache.org/licenses/LICENSE-2.0 1051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * 1151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Unless required by applicable law or agreed to in writing, software 1251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * distributed under the License is distributed on an "AS IS" BASIS, 1351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * See the License for the specific language governing permissions and 1551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * limitations under the License. 1651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * 1751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick ***************************************************************************** 1851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 1951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick*/ 2051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#ifndef IXHEAACD_DRC_DEC_H 2151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 2251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define IXHEAACD_DRC_DEC_H 2351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 2451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define DD_BLOCKSIZE (256) 2551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 2651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define ININTERBUF_SIZE 256 2751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 2851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define MAX_METADATA_SETS (32) 2951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 3051aa06e124ba688ca810b25ee0b5bb66678aac14Ray EssickVOID ixheaacd_drc_dec_create(ia_drc_dec_struct *pstr_hdrc_dec, 3151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD16 drc_ref_level, WORD16 drc_def_level); 3251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 3351aa06e124ba688ca810b25ee0b5bb66678aac14Ray EssickWORD32 ixheaacd_dec_drc_read_element(ia_drc_dec_struct *pstr_drc_dec, 3451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick ia_drc_dec_struct *drc_dummy, 3551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick ia_handle_bit_buf_struct bs); 3651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 3751aa06e124ba688ca810b25ee0b5bb66678aac14Ray EssickWORD32 ixheaacd_drc_map_channels(ia_drc_dec_struct *drc_dec, WORD32 num_ch, 3851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 frame_size); 3951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 4051aa06e124ba688ca810b25ee0b5bb66678aac14Ray EssickVOID ixheaacd_drc_apply(ia_drc_dec_struct *pstr_drc_dec, 4151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_spectral_coef, WORD32 win_seq, 4251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 channel, WORD32 frame_size); 4351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#endif 44