1 /****************************************************************************** 2 * 3 * Copyright (C) 2018 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_PARSER_H 21 #define IMPD_DRC_PARSER_H 22 23 WORD32 24 impd_dec_ducking_scaling(ia_bit_buf_struct* it_bit_buff, 25 WORD32* ducking_scaling_flag, 26 FLOAT32* ducking_scaling); 27 28 WORD32 29 impd_parse_loudness_info(ia_bit_buf_struct* it_bit_buff, WORD32 version, 30 ia_loudness_info_struct* loudness_info); 31 32 WORD32 33 impd_parse_loudness_info_set_ext( 34 ia_bit_buf_struct* it_bit_buff, 35 ia_drc_loudness_info_set_struct* loudness_info_set); 36 37 WORD32 38 impd_sel_drc_coeff( 39 ia_drc_config* drc_config, WORD32 location, 40 ia_uni_drc_coeffs_struct** str_p_loc_drc_coefficients_uni_drc); 41 42 WORD32 43 impd_drc_parse_instructions_basic( 44 ia_bit_buf_struct* it_bit_buff, 45 ia_drc_instructions_basic_struct* str_drc_instructions_basic); 46 47 WORD32 48 impd_parse_drc_instructions_uni_drc( 49 ia_bit_buf_struct* it_bit_buff, WORD32 version, ia_drc_config* drc_config, 50 ia_drc_instructions_struct* str_drc_instruction_str); 51 52 WORD32 53 impd_parse_gain_set_params(ia_bit_buf_struct* it_bit_buff, WORD32 version, 54 WORD32* gain_seq_idx, 55 ia_gain_set_params_struct* gain_set_params); 56 57 WORD32 58 impd_drc_parse_coeff( 59 ia_bit_buf_struct* it_bit_buff, WORD32 version, 60 ia_drc_params_bs_dec_struct* ia_drc_params_struct, 61 ia_uni_drc_coeffs_struct* str_p_loc_drc_coefficients_uni_drc); 62 63 WORD32 64 impd_parse_dwnmix_instructions( 65 ia_bit_buf_struct* it_bit_buff, WORD32 version, 66 ia_drc_params_bs_dec_struct* ia_drc_params_struct, 67 ia_channel_layout_struct* channel_layout, 68 ia_downmix_instructions_struct* dwnmix_instructions); 69 70 WORD32 71 impd_parse_drc_ext_v1(ia_bit_buf_struct* it_bit_buff, 72 ia_drc_params_bs_dec_struct* ia_drc_params_struct, 73 ia_drc_config* drc_config, 74 ia_drc_config_ext* str_drc_config_ext); 75 76 WORD32 77 impd_parse_drc_config(ia_bit_buf_struct* it_bit_buff, 78 ia_drc_params_bs_dec_struct* ia_drc_params_struct, 79 ia_drc_config* drc_config); 80 81 WORD32 82 impd_parse_loudness_info_set( 83 ia_bit_buf_struct* it_bit_buff, 84 ia_drc_loudness_info_set_struct* loudness_info_set); 85 86 WORD32 87 impd_parse_drc_gain_sequence(ia_bit_buf_struct* it_bit_buff, 88 ia_drc_bits_dec_struct* pstr_drc_uni_bs_dec, 89 ia_gain_set_params_struct* gain_set_params, 90 ia_drc_gain_sequence_struct* drc_gain_sequence); 91 92 WORD32 93 impd_parse_uni_drc_gain_ext(ia_bit_buf_struct* it_bit_buff, 94 ia_uni_drc_gain_ext_struct* uni_drc_gain_ext); 95 96 WORD32 impd_drc_uni_gain_read(ia_bit_buf_struct* it_bit_buff, 97 ia_drc_bits_dec_struct* pstr_drc_uni_bs_dec, 98 ia_drc_config* drc_config, 99 ia_drc_gain_struct* pstr_uni_drc_gain); 100 101 #endif 102