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_HYBRID_H 2151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define IXHEAACD_HYBRID_H 2251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 2351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define HYBRID_FILTER_LENGTH 13 2451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define HYBRID_FILTER_DELAY 6 2551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define NO_QMF_CHANNELS_IN_HYBRID 3 2651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define NO_HYBRID_CHANNELS_LOW 2 2751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define NO_HYBRID_CHANNELS_HIGH 8 2851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 2951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef struct { 3051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick const WORD16 *ptr_resol; 3151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD8 ptr_qmf_buf; 3251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_work_re; 3351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_work_im; 3451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_qmf_buf_re[NO_QMF_CHANNELS_IN_HYBRID]; 3551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_qmf_buf_im[NO_QMF_CHANNELS_IN_HYBRID]; 3651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_temp_re; 3751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_temp_im; 3851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick} ia_hybrid_struct; 3951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 4051aa06e124ba688ca810b25ee0b5bb66678aac14Ray EssickVOID ixheaacd_hybrid_analysis(const WORD32 *ptr_qmf_real, WORD32 *ptr_hyb_real, 4151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick WORD32 *ptr_hyb_imag, 4251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick ia_hybrid_struct *ptr_hybrid, WORD16 scale, 4351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick ia_sbr_tables_struct *sbr_tables_ptr); 4451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick 4551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#endif /* IXHEAACD_HYBRID_H */ 46