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 #pragma once 21*15dc779aSAndroid Build Coastguard Worker typedef enum { 22*15dc779aSAndroid Build Coastguard Worker IAAC_ELDEXT_TERM = 0x0, /* Termination tag */ 23*15dc779aSAndroid Build Coastguard Worker IAAC_ELDEXT_SAOC = 0x1, /* SAOC config */ 24*15dc779aSAndroid Build Coastguard Worker IAAC_ELDEXT_LDSAC = 0x2, /* LD MPEG Surround config */ 25*15dc779aSAndroid Build Coastguard Worker IAAC_ELDEXT_DOWNSCALEINFO = 0x3 /* ELD sample rate adaptation */ 26*15dc779aSAndroid Build Coastguard Worker /* reserved */ 27*15dc779aSAndroid Build Coastguard Worker } IAAC_ASC_ELD_EXT_TYPE; 28*15dc779aSAndroid Build Coastguard Worker 29*15dc779aSAndroid Build Coastguard Worker typedef struct { 30*15dc779aSAndroid Build Coastguard Worker // GA specific parameters 31*15dc779aSAndroid Build Coastguard Worker WORD32 depends_on_core_coder; 32*15dc779aSAndroid Build Coastguard Worker WORD32 core_coder_delay; 33*15dc779aSAndroid Build Coastguard Worker WORD32 extension_flag; 34*15dc779aSAndroid Build Coastguard Worker 35*15dc779aSAndroid Build Coastguard Worker // common to LD and ELD 36*15dc779aSAndroid Build Coastguard Worker WORD32 frame_length_flag; 37*15dc779aSAndroid Build Coastguard Worker WORD32 aac_sec_data_resilience_flag; 38*15dc779aSAndroid Build Coastguard Worker WORD32 aac_sf_data_resilience_flag; 39*15dc779aSAndroid Build Coastguard Worker WORD32 aac_spec_data_resilience_flag; 40*15dc779aSAndroid Build Coastguard Worker 41*15dc779aSAndroid Build Coastguard Worker // ELD specific parameters 42*15dc779aSAndroid Build Coastguard Worker WORD32 ld_sbr_present_flag; 43*15dc779aSAndroid Build Coastguard Worker WORD32 ld_sbr_sample_rate; 44*15dc779aSAndroid Build Coastguard Worker WORD32 ld_sbr_crc_flag; 45*15dc779aSAndroid Build Coastguard Worker WORD32 eld_ext_type[16]; 46*15dc779aSAndroid Build Coastguard Worker WORD32 eld_ext_len[16]; 47*15dc779aSAndroid Build Coastguard Worker ixheaace_pstr_sbr_hdr_data sbr_config; 48*15dc779aSAndroid Build Coastguard Worker WORD32 num_sac_cfg_bits; 49*15dc779aSAndroid Build Coastguard Worker UWORD8 sac_cfg_data[1024]; 50*15dc779aSAndroid Build Coastguard Worker } ia_aace_config_struct; 51