1*15dc779aSAndroid Build Coastguard Worker /****************************************************************************** 2*15dc779aSAndroid Build Coastguard Worker * * 3*15dc779aSAndroid Build Coastguard Worker * Copyright (C) 2023 The Android Open Source Project 4*15dc779aSAndroid Build Coastguard Worker * 5*15dc779aSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*15dc779aSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*15dc779aSAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*15dc779aSAndroid Build Coastguard Worker * 9*15dc779aSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*15dc779aSAndroid Build Coastguard Worker * 11*15dc779aSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*15dc779aSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*15dc779aSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*15dc779aSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*15dc779aSAndroid Build Coastguard Worker * limitations under the License. 16*15dc779aSAndroid Build Coastguard Worker * 17*15dc779aSAndroid Build Coastguard Worker ***************************************************************************** 18*15dc779aSAndroid Build Coastguard Worker * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*15dc779aSAndroid Build Coastguard Worker */ 20*15dc779aSAndroid Build Coastguard Worker 21*15dc779aSAndroid Build Coastguard Worker #pragma once 22*15dc779aSAndroid Build Coastguard Worker 23*15dc779aSAndroid Build Coastguard Worker typedef struct { 24*15dc779aSAndroid Build Coastguard Worker WORD32 sampling_rate; 25*15dc779aSAndroid Build Coastguard Worker WORD32 max_band_1024_long_lc; 26*15dc779aSAndroid Build Coastguard Worker WORD32 max_band_1024_short_lc; 27*15dc779aSAndroid Build Coastguard Worker WORD32 max_band_960_long_lc; 28*15dc779aSAndroid Build Coastguard Worker WORD32 max_band_960_short_lc; 29*15dc779aSAndroid Build Coastguard Worker WORD32 max_band_512_ld; 30*15dc779aSAndroid Build Coastguard Worker WORD32 max_band_480_ld; 31*15dc779aSAndroid Build Coastguard Worker 32*15dc779aSAndroid Build Coastguard Worker } ixheaace_temporal_noise_shaping_max_table; 33*15dc779aSAndroid Build Coastguard Worker 34*15dc779aSAndroid Build Coastguard Worker typedef struct { 35*15dc779aSAndroid Build Coastguard Worker WORD32 bit_rate_from; 36*15dc779aSAndroid Build Coastguard Worker WORD32 bit_rate_to; 37*15dc779aSAndroid Build Coastguard Worker const ixheaace_temporal_noise_shaping_config_tabulated 38*15dc779aSAndroid Build Coastguard Worker param_mono_long; /* contains TNS parameters */ 39*15dc779aSAndroid Build Coastguard Worker const ixheaace_temporal_noise_shaping_config_tabulated param_mono_short; 40*15dc779aSAndroid Build Coastguard Worker const ixheaace_temporal_noise_shaping_config_tabulated param_stereo_long; 41*15dc779aSAndroid Build Coastguard Worker const ixheaace_temporal_noise_shaping_config_tabulated param_stereo_short; 42*15dc779aSAndroid Build Coastguard Worker } ixheaace_temporal_noise_shaping_info_tab; 43*15dc779aSAndroid Build Coastguard Worker 44*15dc779aSAndroid Build Coastguard Worker IA_ERRORCODE 45*15dc779aSAndroid Build Coastguard Worker ia_enhaacplus_enc_get_tns_param( 46*15dc779aSAndroid Build Coastguard Worker ixheaace_temporal_noise_shaping_config_tabulated *pstr_tns_config_tab, WORD32 bit_rate, 47*15dc779aSAndroid Build Coastguard Worker WORD32 channels, WORD32 block_type, 48*15dc779aSAndroid Build Coastguard Worker const ixheaace_temporal_noise_shaping_info_tab *pstr_tns_info_tab, WORD32 size); 49*15dc779aSAndroid Build Coastguard Worker 50*15dc779aSAndroid Build Coastguard Worker VOID ia_enhaacplus_enc_get_tns_max_bands( 51*15dc779aSAndroid Build Coastguard Worker WORD32 sampling_rate, WORD32 block_type, WORD32 *tns_max_sfb, 52*15dc779aSAndroid Build Coastguard Worker const ixheaace_temporal_noise_shaping_max_table *pstr_tns_max_bands_tab, WORD32 size, 53*15dc779aSAndroid Build Coastguard Worker WORD32 aot, WORD32 frame_length); 54